patch 'examples/vdpa: fix format overflow' has been queued to stable release 24.11.4

Kevin Traynor ktraynor at redhat.com
Tue Nov 25 16:05:52 CET 2025


Hi,

FYI, your patch has been queued to stable release 24.11.4

Note it hasn't been pushed to http://dpdk.org/browse/dpdk-stable yet.
It will be pushed if I get no objections before 11/28/25. So please
shout if anyone has objections.

Also note that after the patch there's a diff of the upstream commit vs the
patch applied to the branch. This will indicate if there was any rebasing
needed to apply to the stable branch. If there were code changes for rebasing
(ie: not only metadata diffs), please double check that the rebase was
correctly done.

Queued patches are on a temporary branch at:
https://github.com/kevintraynor/dpdk-stable

This queued commit can be viewed at:
https://github.com/kevintraynor/dpdk-stable/commit/e347a8f0303cb33302c104935a9db8fe60b1768e

Thanks.

Kevin

---
>From e347a8f0303cb33302c104935a9db8fe60b1768e Mon Sep 17 00:00:00 2001
From: Stephen Hemminger <stephen at networkplumber.org>
Date: Thu, 20 Nov 2025 08:22:00 -0800
Subject: [PATCH] examples/vdpa: fix format overflow
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

[ upstream commit 66052657fcb810c47cbbe52762c9ad0ad7828821 ]

The ifname is limited to 128 characters, but it would allow up
to 128 characters as prefix then could overflow creating ifname.

Change to limit path prefix (iface) to 123 (128 - sizeof("1024"))
to avoid possible format overflow

../examples/vdpa/main.c:501:76: warning: ‘snprintf’ output may be truncated before the last format character [-Wformat-truncation=]
  501 |                         snprintf(vports[devcnt].ifname, MAX_PATH_LEN, "%s%d",
      |                                                                            ^
../examples/vdpa/main.c:501:25: note: ‘snprintf’ output between 2 and 139 bytes into a destination of size 128
  501 |                         snprintf(vports[devcnt].ifname, MAX_PATH_LEN, "%s%d",
      |                         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  502 |                                         iface, devcnt);
      |

Fixes: 38f8ab0bbc8d ("vhost: make vDPA framework bus agnostic")

Signed-off-by: Stephen Hemminger <stephen at networkplumber.org>
Acked-by: Bruce Richardson <bruce.richardson at intel.com>
---
 examples/vdpa/main.c | 8 ++++----
 1 file changed, 4 insertions(+), 4 deletions(-)

diff --git a/examples/vdpa/main.c b/examples/vdpa/main.c
index 289db26498..08aa933272 100644
--- a/examples/vdpa/main.c
+++ b/examples/vdpa/main.c
@@ -23,4 +23,5 @@
 #define MAX_PATH_LEN 128
 #define MAX_VDPA_SAMPLE_PORTS 1024
+#define MAX_VDPA_STR_LEN sizeof(RTE_STR(MAX_VDPA_SAMPLE_PORTS))
 #define RTE_LOGTYPE_VDPA RTE_LOGTYPE_USER1
 
@@ -37,5 +38,5 @@ struct vdpa_port {
 static struct vdpa_port vports[MAX_VDPA_SAMPLE_PORTS];
 
-static char iface[MAX_PATH_LEN];
+static char iface[MAX_PATH_LEN - MAX_VDPA_STR_LEN];
 static int devcnt;
 static int interactive;
@@ -75,7 +76,6 @@ parse_args(int argc, char **argv)
 		/* long options */
 		case 0:
-			if (strncmp(long_option[idx].name, "iface",
-						MAX_PATH_LEN) == 0) {
-				rte_strscpy(iface, optarg, MAX_PATH_LEN);
+			if (!strcmp(long_option[idx].name, "iface")) {
+				rte_strscpy(iface, optarg, sizeof(iface));
 				printf("iface %s\n", iface);
 			}
-- 
2.51.1

---
  Diff of the applied patch vs upstream commit (please double-check if non-empty:
---
--- -	2025-11-25 15:03:57.944679212 +0000
+++ 0003-examples-vdpa-fix-format-overflow.patch	2025-11-25 15:03:57.829498053 +0000
@@ -1 +1 @@
-From 66052657fcb810c47cbbe52762c9ad0ad7828821 Mon Sep 17 00:00:00 2001
+From e347a8f0303cb33302c104935a9db8fe60b1768e Mon Sep 17 00:00:00 2001
@@ -8,0 +9,2 @@
+[ upstream commit 66052657fcb810c47cbbe52762c9ad0ad7828821 ]
+
@@ -25 +26,0 @@
-Cc: stable at dpdk.org



More information about the stable mailing list