* [PATCH] net/mlx5: fix uninitialized warning
@ 2025-11-13 16:33 Stephen Hemminger
2025-11-13 17:50 ` Stephen Hemminger
0 siblings, 1 reply; 2+ messages in thread
From: Stephen Hemminger @ 2025-11-13 16:33 UTC (permalink / raw)
To: dev
Cc: Stephen Hemminger, stable, Dariusz Sosnowski,
Viacheslav Ovsiienko, Bing Zhao, Ori Kam, Suanming Mou,
Matan Azrad, Ophir Munk
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 unintialized
stack value. Resolve by intializing to zero.
Fixes: 1256805dd54d ("net/mlx5: move Linux-specific functions")
Cc: stable@dpdk.org
Signed-off-by: Stephen Hemminger <stephen@networkplumber.org>
---
drivers/net/mlx5/linux/mlx5_ethdev_os.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/drivers/net/mlx5/linux/mlx5_ethdev_os.c b/drivers/net/mlx5/linux/mlx5_ethdev_os.c
index 4d8fbed188..d4a544e1a6 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 = { };
time_t start_time = time(NULL);
int retry = MLX5_GET_LINK_STATUS_RETRY_COUNT;
--
2.51.0
^ permalink raw reply [flat|nested] 2+ messages in thread
* Re: [PATCH] net/mlx5: fix uninitialized warning
2025-11-13 16:33 [PATCH] net/mlx5: fix uninitialized warning Stephen Hemminger
@ 2025-11-13 17:50 ` Stephen Hemminger
0 siblings, 0 replies; 2+ messages in thread
From: Stephen Hemminger @ 2025-11-13 17:50 UTC (permalink / raw)
To: dev
Cc: stable, Dariusz Sosnowski, Viacheslav Ovsiienko, Bing Zhao,
Ori Kam, Suanming Mou, Matan Azrad, Ophir Munk
On Thu, 13 Nov 2025 08:33:01 -0800
Stephen Hemminger <stephen@networkplumber.org> wrote:
> 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 unintialized
> stack value. Resolve by intializing to zero.
>
> Fixes: 1256805dd54d ("net/mlx5: move Linux-specific functions")
> Cc: stable@dpdk.org
>
> Signed-off-by: Stephen Hemminger <stephen@networkplumber.org>
> ---
The build fails with clang because of the (annoying) use of pedantic in this driver.
I will let mlx5 maintainers fix it then.
../drivers/net/mlx5/linux/mlx5_ethdev_os.c:515:33: error: use of GNU empty initializer extension [-Werror,-Wgnu-empty-initializer]
struct rte_eth_link dev_link = { };
^ permalink raw reply [flat|nested] 2+ messages in thread
end of thread, other threads:[~2025-11-13 17:50 UTC | newest]
Thread overview: 2+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2025-11-13 16:33 [PATCH] net/mlx5: fix uninitialized warning Stephen Hemminger
2025-11-13 17:50 ` Stephen Hemminger
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).