[v3,17/42] common/mlx5: use rte strerror

Message ID 20231114123552.398072-18-huangdengdui@huawei.com (mailing list archive)
State Changes Requested, archived
Delegated to: David Marchand
Headers
Series replace strerror |

Checks

Context Check Description
ci/checkpatch success coding style OK

Commit Message

Dengdui Huang Nov. 14, 2023, 12:35 p.m. UTC
  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 <huangdengdui@huawei.com>
Acked-by: Chengwen Feng <fengchengwen@huawei.com>
---
 drivers/common/mlx5/linux/mlx5_nl.c  | 12 ++++++------
 drivers/common/mlx5/mlx5_common.c    |  6 +++---
 drivers/common/mlx5/mlx5_devx_cmds.c |  2 +-
 3 files changed, 10 insertions(+), 10 deletions(-)
  

Patch

diff --git a/drivers/common/mlx5/linux/mlx5_nl.c b/drivers/common/mlx5/linux/mlx5_nl.c
index 28a1f56dba..1de867089f 100644
--- a/drivers/common/mlx5/linux/mlx5_nl.c
+++ b/drivers/common/mlx5/linux/mlx5_nl.c
@@ -547,7 +547,7 @@  mlx5_nl_mac_addr_list(int nlsk_fd, unsigned int iface_idx,
 	return 0;
 error:
 	DRV_LOG(DEBUG, "Interface %u cannot retrieve MAC address list %s",
-		iface_idx, strerror(rte_errno));
+		iface_idx, rte_strerror(rte_errno));
 	return -rte_errno;
 }
 
@@ -617,7 +617,7 @@  mlx5_nl_mac_addr_modify(int nlsk_fd, unsigned int iface_idx,
 		DRV_LOG(DEBUG,
 			"Interface %u cannot %s MAC address %s %s",
 			iface_idx,
-			add ? "add" : "remove", m, strerror(rte_errno));
+			add ? "add" : "remove", m, rte_strerror(rte_errno));
 	}
 #endif
 	return -rte_errno;
@@ -704,7 +704,7 @@  mlx5_nl_vf_mac_addr_modify(int nlsk_fd, unsigned int iface_idx,
 		RTE_ETHER_ADDR_PRT_FMT " : %s",
 		vf_index,
 		RTE_ETHER_ADDR_BYTES(mac),
-		strerror(rte_errno));
+		rte_strerror(rte_errno));
 	return -rte_errno;
 }
 
@@ -929,7 +929,7 @@  mlx5_nl_promisc(int nlsk_fd, unsigned int iface_idx, int enable)
 		DRV_LOG(DEBUG,
 			"Interface %u cannot %s promisc mode: Netlink error %s",
 			iface_idx, enable ? "enable" : "disable",
-			strerror(rte_errno));
+			rte_strerror(rte_errno));
 	return ret;
 }
 
@@ -956,7 +956,7 @@  mlx5_nl_allmulti(int nlsk_fd, unsigned int iface_idx, int enable)
 		DRV_LOG(DEBUG,
 			"Interface %u cannot %s allmulti : Netlink error %s",
 			iface_idx, enable ? "enable" : "disable",
-			strerror(rte_errno));
+			rte_strerror(rte_errno));
 	return ret;
 }
 
@@ -1934,7 +1934,7 @@  mlx5_nl_read_events(int nlsk_fd, mlx5_nl_event_cb *cb, void *cb_arg)
 			if (errno == EINTR)
 				continue;
 			DRV_LOG(DEBUG, "Failed to receive netlink message: %s",
-				strerror(errno));
+				rte_strerror(errno));
 			rte_errno = errno;
 			return -rte_errno;
 		}
diff --git a/drivers/common/mlx5/mlx5_common.c b/drivers/common/mlx5/mlx5_common.c
index ca8543e36e..7aafd0083d 100644
--- a/drivers/common/mlx5/mlx5_common.c
+++ b/drivers/common/mlx5/mlx5_common.c
@@ -762,7 +762,7 @@  mlx5_common_dev_create(struct rte_device *eal_dev, uint32_t classes,
 	ret = mlx5_common_config_get(mkvlist, &cdev->config);
 	if (ret < 0) {
 		DRV_LOG(ERR, "Failed to process device arguments: %s",
-			strerror(rte_errno));
+			rte_strerror(rte_errno));
 		rte_free(cdev);
 		return NULL;
 	}
@@ -837,7 +837,7 @@  mlx5_common_probe_again_args_validate(struct mlx5_common_device *cdev,
 	ret = mlx5_common_config_get(mkvlist, config);
 	if (ret) {
 		DRV_LOG(ERR, "Failed to process device configure: %s",
-			strerror(rte_errno));
+			rte_strerror(rte_errno));
 		mlx5_free(config);
 		return ret;
 	}
@@ -1011,7 +1011,7 @@  mlx5_common_dev_probe(struct rte_device *eal_dev)
 		if (ret) {
 			DRV_LOG(ERR,
 				"Probe again parameters aren't compatible : %s",
-				strerror(rte_errno));
+				rte_strerror(rte_errno));
 			goto class_err;
 		}
 	}
diff --git a/drivers/common/mlx5/mlx5_devx_cmds.c b/drivers/common/mlx5/mlx5_devx_cmds.c
index 4d8818924a..b33b5d3044 100644
--- a/drivers/common/mlx5/mlx5_devx_cmds.c
+++ b/drivers/common/mlx5/mlx5_devx_cmds.c
@@ -640,7 +640,7 @@  mlx5_devx_cmd_match_sample_info_query(void *ctx, uint32_t sample_field_id,
 	rc = mlx5_glue->devx_general_cmd(ctx, in, sizeof(in), out, sizeof(out));
 	if (rc) {
 		DRV_LOG(ERR, "Failed to query match sample info using DevX: %s",
-			strerror(rc));
+			rte_strerror(rc));
 		rte_errno = rc;
 		return -rc;
 	}