[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