[RFC PATCH 05/19] graph: fix variable shadowing errors

Bruce Richardson bruce.richardson at intel.com
Thu Nov 6 15:09:34 CET 2025


The nested use of MIN/MAX macros causes shadowing due to the use of the
hard-coded temporary variable names in the macros. We can fix this in
graph library by using MIN_T/MAX_T macros instead, which actually makes
more sense in some circumstances:

* when defining SZ, use of RTE_MIN_T makes sense as the comments says it
  is defined to be usable for compile-time evaluation.
* for the size calculations, RTE_MAX_T is also useful as it explicitly
  encodes the type, making it clear that we are evaluating the size
  variables as "int" type, larger than the uin16_t size is defined as.

Fixes: b6ef3794b866 ("graph: move node clone name func into private as common")
Cc: stable at dpdk.org

Signed-off-by: Bruce Richardson <bruce.richardson at intel.com>
---
 lib/graph/graph.c         | 4 ++--
 lib/graph/graph_private.h | 2 +-
 2 files changed, 3 insertions(+), 3 deletions(-)

diff --git a/lib/graph/graph.c b/lib/graph/graph.c
index 61159edc72..fa03556f14 100644
--- a/lib/graph/graph.c
+++ b/lib/graph/graph.c
@@ -729,7 +729,7 @@ __rte_node_stream_alloc(struct rte_graph *graph, struct rte_node *node)
 
 	RTE_VERIFY(size != UINT16_MAX);
 	/* Allocate double amount of size to avoid immediate realloc */
-	size = RTE_MIN(UINT16_MAX, RTE_MAX(RTE_GRAPH_BURST_SIZE, size * 2));
+	size = RTE_MIN(UINT16_MAX, RTE_MAX_T(RTE_GRAPH_BURST_SIZE, size * 2, int));
 	node->objs = rte_realloc_socket(node->objs, size * sizeof(void *),
 					RTE_CACHE_LINE_SIZE, graph->socket);
 	RTE_VERIFY(node->objs);
@@ -746,7 +746,7 @@ __rte_node_stream_alloc_size(struct rte_graph *graph, struct rte_node *node,
 
 	RTE_VERIFY(size != UINT16_MAX);
 	/* Allocate double amount of size to avoid immediate realloc */
-	size = RTE_MIN(UINT16_MAX, RTE_MAX(RTE_GRAPH_BURST_SIZE, req_size * 2));
+	size = RTE_MIN(UINT16_MAX, RTE_MAX_T(RTE_GRAPH_BURST_SIZE, req_size * 2, int));
 	node->objs = rte_realloc_socket(node->objs, size * sizeof(void *),
 					RTE_CACHE_LINE_SIZE, graph->socket);
 	RTE_VERIFY(node->objs);
diff --git a/lib/graph/graph_private.h b/lib/graph/graph_private.h
index 21912c0ae6..0e064b2d64 100644
--- a/lib/graph/graph_private.h
+++ b/lib/graph/graph_private.h
@@ -149,7 +149,7 @@ static inline int clone_name(char *new_name, char *base_name, const char *append
 {
 	ssize_t sz, rc;
 
-#define SZ RTE_MIN(RTE_NODE_NAMESIZE, RTE_GRAPH_NAMESIZE)
+#define SZ RTE_MIN_T(RTE_NODE_NAMESIZE, RTE_GRAPH_NAMESIZE, uint16_t)
 	rc = rte_strscpy(new_name, base_name, SZ);
 	if (rc < 0)
 		goto fail;
-- 
2.48.1



More information about the dev mailing list