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> Acked-by: Morten Brørup <m...@smartsharesystems.com> --- drivers/net/af_xdp/rte_eth_af_xdp.c | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/drivers/net/af_xdp/rte_eth_af_xdp.c b/drivers/net/af_xdp/rte_eth_af_xdp.c index 814398ba4b..0b561b6683 100644 --- a/drivers/net/af_xdp/rte_eth_af_xdp.c +++ b/drivers/net/af_xdp/rte_eth_af_xdp.c @@ -1191,7 +1191,7 @@ xsk_umem_info *xdp_umem_configure(struct pmd_internals *internals, &rxq->fq, &rxq->cq, &usr_config); if (ret) { AF_XDP_LOG_LINE(ERR, "Failed to create umem [%d]: [%s]", - errno, strerror(errno)); + errno, rte_strerror(errno)); goto err; } umem->buffer = aligned_addr; @@ -1408,7 +1408,7 @@ init_uds_sock(struct sockaddr_un *server, const char *dp_path) if (connect(sock, (struct sockaddr *)server, sizeof(struct sockaddr_un)) < 0) { close(sock); AF_XDP_LOG_LINE(ERR, "Error connecting stream socket errno = [%d]: [%s]", - errno, strerror(errno)); + errno, rte_strerror(errno)); return -1; } @@ -1492,7 +1492,7 @@ read_msg(int sock, char *response, struct sockaddr_un *s, int *fd) return 0; if (msglen < 0) { - AF_XDP_LOG_LINE(ERR, "recvmsg failed, %s", strerror(errno)); + AF_XDP_LOG_LINE(ERR, "recvmsg failed, %s", rte_strerror(errno)); return -1; } @@ -1527,7 +1527,7 @@ make_request_dp(int sock, struct sockaddr_un *server, char *request, rval = send_msg(sock, request, req_fd, dp_path); if (rval < 0) { - AF_XDP_LOG_LINE(ERR, "Write error %s", strerror(errno)); + AF_XDP_LOG_LINE(ERR, "Write error %s", rte_strerror(errno)); return -1; } @@ -2023,7 +2023,7 @@ parse_prog_arg(const char *key __rte_unused, if (access(value, F_OK) != 0) { AF_XDP_LOG_LINE(ERR, "Error accessing %s: %s", - value, strerror(errno)); + value, rte_strerror(errno)); return -EINVAL; } @@ -2518,7 +2518,7 @@ rte_pmd_af_xdp_probe(struct rte_vdev_device *dev) ret = rte_mp_action_register(ETH_AF_XDP_MP_KEY, afxdp_mp_send_fds); if (ret < 0 && rte_errno != ENOTSUP) { AF_XDP_LOG_LINE(ERR, "%s: Failed to register multi-process IPC callback: %s", - name, strerror(rte_errno)); + name, rte_strerror(rte_errno)); return -1; } } -- 2.33.0