The function strerror() is insecure in a multi-thread environment.
This patch uses rte_strerror() to replace it.

Cc: sta...@dpdk.org

Signed-off-by: Dengdui Huang <huangdeng...@huawei.com>
Acked-by: Chengwen Feng <fengcheng...@huawei.com>
---
 drivers/net/memif/memif_socket.c  |  4 ++--
 drivers/net/memif/rte_eth_memif.c | 20 ++++++++++----------
 2 files changed, 12 insertions(+), 12 deletions(-)

diff --git a/drivers/net/memif/memif_socket.c b/drivers/net/memif/memif_socket.c
index 649f8d0e61..592b71979a 100644
--- a/drivers/net/memif/memif_socket.c
+++ b/drivers/net/memif/memif_socket.c
@@ -71,7 +71,7 @@ memif_msg_send_from_queue(struct memif_control_channel *cc)
        size = memif_msg_send(rte_intr_fd_get(cc->intr_handle), &e->msg,
                              e->fd);
        if (size != sizeof(memif_msg_t)) {
-               MIF_LOG(ERR, "sendmsg fail: %s.", strerror(errno));
+               MIF_LOG(ERR, "sendmsg fail: %s.", rte_strerror(errno));
                ret = -1;
        } else {
                MIF_LOG(DEBUG, "Sent msg type %u.", e->msg.type);
@@ -975,7 +975,7 @@ memif_socket_create(char *key, uint8_t listener, bool 
is_abstract, uid_t owner_u
        return sock;
 
  error:
-       MIF_LOG(ERR, "Failed to setup socket %s: %s", key, strerror(errno));
+       MIF_LOG(ERR, "Failed to setup socket %s: %s", key, rte_strerror(errno));
        if (sock != NULL) {
                rte_intr_instance_free(sock->intr_handle);
                rte_free(sock);
diff --git a/drivers/net/memif/rte_eth_memif.c 
b/drivers/net/memif/rte_eth_memif.c
index 7cc8c0da91..f7697394f1 100644
--- a/drivers/net/memif/rte_eth_memif.c
+++ b/drivers/net/memif/rte_eth_memif.c
@@ -805,7 +805,7 @@ eth_memif_tx(void *queue, struct rte_mbuf **bufs, uint16_t 
nb_pkts)
                             sizeof(a));
                if (unlikely(size < 0)) {
                        MIF_LOG(WARNING,
-                               "Failed to send interrupt. %s", 
strerror(errno));
+                               "Failed to send interrupt. %s", 
rte_strerror(errno));
                }
        }
 
@@ -960,7 +960,7 @@ eth_memif_tx_zc(void *queue, struct rte_mbuf **bufs, 
uint16_t nb_pkts)
                                     &a, sizeof(a));
                if (unlikely(size < 0)) {
                        MIF_LOG(WARNING,
-                               "Failed to send interrupt. %s", 
strerror(errno));
+                               "Failed to send interrupt. %s", 
rte_strerror(errno));
                }
        }
 
@@ -1082,27 +1082,27 @@ memif_region_init_shm(struct rte_eth_dev *dev, uint8_t 
has_buffers)
 
        r->fd = memfd_create(shm_name, MFD_ALLOW_SEALING);
        if (r->fd < 0) {
-               MIF_LOG(ERR, "Failed to create shm file: %s.", strerror(errno));
+               MIF_LOG(ERR, "Failed to create shm file: %s.", 
rte_strerror(errno));
                ret = -1;
                goto error;
        }
 
        ret = fcntl(r->fd, F_ADD_SEALS, F_SEAL_SHRINK);
        if (ret < 0) {
-               MIF_LOG(ERR, "Failed to add seals to shm file: %s.", 
strerror(errno));
+               MIF_LOG(ERR, "Failed to add seals to shm file: %s.", 
rte_strerror(errno));
                goto error;
        }
 
        ret = ftruncate(r->fd, r->region_size);
        if (ret < 0) {
-               MIF_LOG(ERR, "Failed to truncate shm file: %s.", 
strerror(errno));
+               MIF_LOG(ERR, "Failed to truncate shm file: %s.", 
rte_strerror(errno));
                goto error;
        }
 
        r->addr = mmap(NULL, r->region_size, PROT_READ |
                       PROT_WRITE, MAP_SHARED, r->fd, 0);
        if (r->addr == MAP_FAILED) {
-               MIF_LOG(ERR, "Failed to mmap shm region: %s.", strerror(ret));
+               MIF_LOG(ERR, "Failed to mmap shm region: %s.", 
rte_strerror(ret));
                ret = -1;
                goto error;
        }
@@ -1223,7 +1223,7 @@ memif_init_queues(struct rte_eth_dev *dev)
                if (rte_intr_fd_get(mq->intr_handle) < 0) {
                        MIF_LOG(WARNING,
                                "Failed to create eventfd for tx queue %d: 
%s.", i,
-                               strerror(errno));
+                               rte_strerror(errno));
                }
                mq->buffers = NULL;
                if (pmd->flags & ETH_MEMIF_FLAG_ZERO_COPY) {
@@ -1247,7 +1247,7 @@ memif_init_queues(struct rte_eth_dev *dev)
                if (rte_intr_fd_get(mq->intr_handle) < 0) {
                        MIF_LOG(WARNING,
                                "Failed to create eventfd for rx queue %d: 
%s.", i,
-                               strerror(errno));
+                               rte_strerror(errno));
                }
                mq->buffers = NULL;
                if (pmd->flags & ETH_MEMIF_FLAG_ZERO_COPY) {
@@ -1299,7 +1299,7 @@ memif_connect(struct rte_eth_dev *dev)
                                                MAP_SHARED, mr->fd, 0);
                                if (mr->addr == MAP_FAILED) {
                                        MIF_LOG(ERR, "mmap failed: %s\n",
-                                               strerror(errno));
+                                               rte_strerror(errno));
                                        return -1;
                                }
                        }
@@ -1983,7 +1983,7 @@ rte_pmd_memif_probe(struct rte_vdev_device *vdev)
         */
        if (ret < 0 && rte_errno != EEXIST)
                MIF_LOG(WARNING, "Failed to register mp action callback: %s",
-                       strerror(rte_errno));
+                       rte_strerror(rte_errno));
 
        /* use abstract address by default */
        flags |= ETH_MEMIF_FLAG_SOCKET_ABSTRACT;
-- 
2.33.0

Reply via email to