[PATCH 1/2] gpudev: fix minsize build

Jack Bond-Preston jack.bond-preston at foss.arm.com
Thu Oct 15 14:57:39 CEST 2026


"minsize" builds of DPDK with GCC can trigger the following warning
(error with Werror):
../lib/gpudev/gpudev.c: In function 'rte_gpu_attach':
../lib/gpudev/gpudev.c:290:39: warning: 'shared_dev' may be used uninitialized [-Wmaybe-uninitialized]
  290 |         rte_atomic_fetch_add_explicit(&dev->mpshared->process_refcnt, 1, rte_memory_order_relaxed);
      |                                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

This can't really happen - shared_dev is initialized in the for loop
before this usage. However, the compiler can't see that gpu_max is
guaranteed to be > 0 in that loop (which it is, as we have returned
earlier if gpus == NULL), and thus assumes the loop may not run any
iterations.

Regardless, NULL-initialize shared_dev at declaration to silence the
warning.

Signed-off-by: Jack Bond-Preston <jack.bond-preston at foss.arm.com>
Reviewed-by: Wathsala Vithanage <wathsala.vithanage at arm.com>
---
 lib/gpudev/gpudev.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/lib/gpudev/gpudev.c b/lib/gpudev/gpudev.c
index 4a2335834c..93a30464f0 100644
--- a/lib/gpudev/gpudev.c
+++ b/lib/gpudev/gpudev.c
@@ -251,7 +251,7 @@ rte_gpu_attach(const char *name)
 {
 	int16_t dev_id;
 	struct rte_gpu *dev;
-	struct rte_gpu_mpshared *shared_dev;
+	struct rte_gpu_mpshared *shared_dev = NULL;

 	if (rte_eal_process_type() != RTE_PROC_SECONDARY) {
 		GPU_LOG(ERR, "only secondary process can attach device");
--
2.43.0



More information about the dev mailing list