patches for DPDK stable branches
 help / color / mirror / Atom feed
From: Bruce Richardson <bruce.richardson@intel.com>
To: dev@dpdk.org
Cc: Bruce Richardson <bruce.richardson@intel.com>, stable@dpdk.org
Subject: [RFC PATCH 05/19] graph: fix variable shadowing errors
Date: Thu,  6 Nov 2025 14:09:34 +0000	[thread overview]
Message-ID: <20251106140948.2894678-6-bruce.richardson@intel.com> (raw)
In-Reply-To: <20251106140948.2894678-1-bruce.richardson@intel.com>

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@dpdk.org

Signed-off-by: Bruce Richardson <bruce.richardson@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


  parent reply	other threads:[~2025-11-06 14:10 UTC|newest]

Thread overview: 21+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
     [not found] <20251106140948.2894678-1-bruce.richardson@intel.com>
2025-11-06 14:09 ` [RFC PATCH 01/19] eal: fix variable shadowing Bruce Richardson
2025-11-06 14:09 ` [RFC PATCH 02/19] ethdev: fix variable shadowing issues Bruce Richardson
2025-11-06 14:09 ` [RFC PATCH 03/19] eventdev: " Bruce Richardson
2025-11-06 14:09 ` [RFC PATCH 04/19] net: remove shadowed variable Bruce Richardson
2025-11-06 14:09 ` Bruce Richardson [this message]
2025-11-06 15:50   ` [RFC PATCH 05/19] graph: fix variable shadowing errors Stephen Hemminger
2025-11-06 16:33     ` Bruce Richardson
2025-11-06 14:09 ` [RFC PATCH 06/19] pipeline: fix variable shadowing Bruce Richardson
2025-11-06 14:09 ` [RFC PATCH 07/19] table: fix issues with " Bruce Richardson
2025-11-06 14:09 ` [RFC PATCH 08/19] power: rename variable to eliminate shadowing Bruce Richardson
2025-11-06 14:09 ` [RFC PATCH 09/19] pcapng: rename variable to fix shadowing Bruce Richardson
2025-11-06 15:51   ` Stephen Hemminger
2025-11-06 14:09 ` [RFC PATCH 10/19] telemetry: make socket handler typedef private Bruce Richardson
2025-11-06 14:09 ` [RFC PATCH 11/19] bbdev: fix variable shadowing Bruce Richardson
2025-11-06 14:09 ` [RFC PATCH 12/19] bus/pci: remove shadowed variables Bruce Richardson
2025-11-06 14:09 ` [RFC PATCH 14/19] net/e1000: fix build with shadow warnings enabled Bruce Richardson
2025-11-06 14:09 ` [RFC PATCH 15/19] net/i40e: " Bruce Richardson
2025-11-06 14:09 ` [RFC PATCH 16/19] net/ice: " Bruce Richardson
2025-11-06 14:09 ` [RFC PATCH 17/19] net/cpfl: " Bruce Richardson
2025-11-06 14:09 ` [RFC PATCH 18/19] net/ixgbe: " Bruce Richardson
2025-11-06 14:09 ` [RFC PATCH 19/19] app/test-pmd: " Bruce Richardson

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20251106140948.2894678-6-bruce.richardson@intel.com \
    --to=bruce.richardson@intel.com \
    --cc=dev@dpdk.org \
    --cc=stable@dpdk.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
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).