[PATCH v2] net/mlx5: fix warning from uninitialized variable
Stephen Hemminger
stephen at networkplumber.org
Fri Nov 14 18:49:12 CET 2025
Gcc-16 detects use of uninitialized variable.
./drivers/net/mlx5/linux/mlx5_ethdev_os.c: In function ‘mlx5_link_update’:
../drivers/net/mlx5/linux/mlx5_ethdev_os.c:539:15: warning: ‘*(long unsigned int *)((char *)&dev_link + offsetof(struct rte_eth_link, <U38c0>))’ may be used uninitialized [-Wmaybe-uninitialized]
539 | ret = !!memcmp(&dev->data->dev_link, &dev_link,
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
540 | sizeof(struct rte_eth_link));
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../drivers/net/mlx5/linux/mlx5_ethdev_os.c:515:29: note: ‘*(long unsigned int *)((char *)&dev_link + offsetof(struct rte_eth_link, <U38c0>))’ was declared here
515 | struct rte_eth_link dev_link;
|
If the retry loop exits the code would do memcmp against uninitialized
stack value. Resolve by initializing to zero.
Bugzilla ID: 1823
Fixes: 1256805dd54d ("net/mlx5: move Linux-specific functions")
Fixes: cfee94752b8f ("net/mlx5: fix link status to use wait to complete")
Cc: stable at dpdk.org
Signed-off-by: Stephen Hemminger <stephen at networkplumber.org>
---
drivers/net/mlx5/linux/mlx5_ethdev_os.c | 3 +--
1 file changed, 1 insertion(+), 2 deletions(-)
diff --git a/drivers/net/mlx5/linux/mlx5_ethdev_os.c b/drivers/net/mlx5/linux/mlx5_ethdev_os.c
index 4d8fbed188..50997c187c 100644
--- a/drivers/net/mlx5/linux/mlx5_ethdev_os.c
+++ b/drivers/net/mlx5/linux/mlx5_ethdev_os.c
@@ -512,7 +512,7 @@ int
mlx5_link_update(struct rte_eth_dev *dev, int wait_to_complete)
{
int ret;
- struct rte_eth_link dev_link;
+ struct rte_eth_link dev_link = { 0 };
time_t start_time = time(NULL);
int retry = MLX5_GET_LINK_STATUS_RETRY_COUNT;
@@ -2073,4 +2073,3 @@ int mlx5_txpp_map_hca_bar(struct rte_eth_dev *dev)
rte_mem_unmap(base, MLX5_ST_SZ_BYTES(initial_seg));
return 0;
}
-
--
2.51.0
More information about the dev
mailing list