From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mails.dpdk.org (mails.dpdk.org [217.70.189.124]) by inbox.dpdk.org (Postfix) with ESMTP id CA9A145BAE; Wed, 23 Oct 2024 10:32:59 +0200 (CEST) Received: from mails.dpdk.org (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id 2B73042DB1; Wed, 23 Oct 2024 10:29:49 +0200 (CEST) Received: from szxga08-in.huawei.com (szxga08-in.huawei.com [45.249.212.255]) by mails.dpdk.org (Postfix) with ESMTP id 50608415D7 for ; Wed, 23 Oct 2024 10:29:01 +0200 (CEST) Received: from mail.maildlp.com (unknown [172.19.163.174]) by szxga08-in.huawei.com (SkyGuard) with ESMTP id 4XYMbQ53qbz1T94K; Wed, 23 Oct 2024 16:26:58 +0800 (CST) Received: from dggpeml500011.china.huawei.com (unknown [7.185.36.84]) by mail.maildlp.com (Postfix) with ESMTPS id 4285F140360; Wed, 23 Oct 2024 16:29:00 +0800 (CST) Received: from localhost.huawei.com (10.50.165.33) by dggpeml500011.china.huawei.com (7.185.36.84) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.1.2507.39; Wed, 23 Oct 2024 16:29:00 +0800 From: Dengdui Huang To: CC: , , , , , , , , Subject: [PATCH v4 40/42] vdpa/ifc: use rte strerror Date: Wed, 23 Oct 2024 16:28:50 +0800 Message-ID: <20241023082852.2780488-41-huangdengdui@huawei.com> X-Mailer: git-send-email 2.33.0 In-Reply-To: <20241023082852.2780488-1-huangdengdui@huawei.com> References: <20231114082539.1858594-44-huangdengdui@huawei.com> <20241023082852.2780488-1-huangdengdui@huawei.com> MIME-Version: 1.0 Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: 8bit X-Originating-IP: [10.50.165.33] X-ClientProxiedBy: dggems705-chm.china.huawei.com (10.3.19.182) To dggpeml500011.china.huawei.com (7.185.36.84) X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: DPDK patches and discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dev-bounces@dpdk.org The function strerror() is insecure in a multi-thread environment. This patch uses rte_strerror() to replace it. Cc: stable@dpdk.org Signed-off-by: Dengdui Huang Acked-by: Chengwen Feng Acked-by: Morten Brørup --- drivers/vdpa/ifc/ifcvf_vdpa.c | 23 ++++++++++++----------- 1 file changed, 12 insertions(+), 11 deletions(-) diff --git a/drivers/vdpa/ifc/ifcvf_vdpa.c b/drivers/vdpa/ifc/ifcvf_vdpa.c index 65de383b95..8cea354674 100644 --- a/drivers/vdpa/ifc/ifcvf_vdpa.c +++ b/drivers/vdpa/ifc/ifcvf_vdpa.c @@ -23,6 +23,7 @@ #include #include #include +#include #include "base/ifcvf.h" @@ -446,7 +447,7 @@ vdpa_enable_vfio_intr(struct ifcvf_internal *internal, bool m_rx) fd = eventfd(0, EFD_NONBLOCK | EFD_CLOEXEC); if (fd < 0) { DRV_LOG(ERR, "can't setup eventfd: %s", - strerror(errno)); + rte_strerror(errno)); return -1; } internal->intr_fd[i] = fd; @@ -457,7 +458,7 @@ vdpa_enable_vfio_intr(struct ifcvf_internal *internal, bool m_rx) ret = ioctl(internal->vfio_dev_fd, VFIO_DEVICE_SET_IRQS, irq_set); if (ret) { DRV_LOG(ERR, "Error enabling MSI-X interrupts: %s", - strerror(errno)); + rte_strerror(errno)); return -1; } @@ -489,7 +490,7 @@ vdpa_disable_vfio_intr(struct ifcvf_internal *internal) ret = ioctl(internal->vfio_dev_fd, VFIO_DEVICE_SET_IRQS, irq_set); if (ret) { DRV_LOG(ERR, "Error disabling MSI-X interrupts: %s", - strerror(errno)); + rte_strerror(errno)); return -1; } @@ -526,7 +527,7 @@ notify_relay(void *arg) rte_vhost_get_vhost_vring(internal->vid, qid, &vring); ev.data.u64 = qid | (uint64_t)vring.kickfd << 32; if (epoll_ctl(epfd, EPOLL_CTL_ADD, vring.kickfd, &ev) < 0) { - DRV_LOG(ERR, "epoll add error: %s", strerror(errno)); + DRV_LOG(ERR, "epoll add error: %s", rte_strerror(errno)); return 1; } } @@ -552,7 +553,7 @@ notify_relay(void *arg) continue; DRV_LOG(INFO, "Error reading " "kickfd: %s", - strerror(errno)); + rte_strerror(errno)); } break; } while (1); @@ -628,7 +629,7 @@ intr_relay(void *arg) ev.data.fd = rte_intr_fd_get(internal->pdev->intr_handle); if (epoll_ctl(csc_epfd, EPOLL_CTL_ADD, rte_intr_fd_get(internal->pdev->intr_handle), &ev) < 0) { - DRV_LOG(ERR, "epoll add error: %s", strerror(errno)); + DRV_LOG(ERR, "epoll add error: %s", rte_strerror(errno)); goto out; } @@ -653,7 +654,7 @@ intr_relay(void *arg) continue; DRV_LOG(ERR, "Error reading from file descriptor %d: %s", csc_event.data.fd, - strerror(errno)); + rte_strerror(errno)); goto out; } else if (nbytes == 0) { DRV_LOG(ERR, "Read nothing from file descriptor %d", @@ -947,7 +948,7 @@ vring_relay(void *arg) rte_vhost_get_vhost_vring(vid, qid, &vring); ev.data.u64 = qid << 1 | (uint64_t)vring.kickfd << 32; if (epoll_ctl(epfd, EPOLL_CTL_ADD, vring.kickfd, &ev) < 0) { - DRV_LOG(ERR, "epoll add error: %s", strerror(errno)); + DRV_LOG(ERR, "epoll add error: %s", rte_strerror(errno)); return 1; } } @@ -961,7 +962,7 @@ vring_relay(void *arg) (uint64_t)internal->intr_fd[qid] << 32; if (epoll_ctl(epfd, EPOLL_CTL_ADD, internal->intr_fd[qid], &ev) < 0) { - DRV_LOG(ERR, "epoll add error: %s", strerror(errno)); + DRV_LOG(ERR, "epoll add error: %s", rte_strerror(errno)); return 1; } update_used_ring(internal, qid); @@ -992,7 +993,7 @@ vring_relay(void *arg) continue; DRV_LOG(INFO, "Error reading " "kickfd: %s", - strerror(errno)); + rte_strerror(errno)); } break; } while (1); @@ -1265,7 +1266,7 @@ ifcvf_get_notify_area(int vid, int qid, uint64_t *offset, uint64_t *size) ret = ioctl(internal->vfio_dev_fd, VFIO_DEVICE_GET_REGION_INFO, ®); if (ret) { DRV_LOG(ERR, "Get not get device region info: %s", - strerror(errno)); + rte_strerror(errno)); return -1; } -- 2.33.0