patch 'examples/vdpa: fix format overflow' has been queued to stable release 22.11.11
luca.boccassi at gmail.com
luca.boccassi at gmail.com
Tue Nov 25 19:10:27 CET 2025
Hi,
FYI, your patch has been queued to stable release 22.11.11
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/27/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/bluca/dpdk-stable
This queued commit can be viewed at:
https://github.com/bluca/dpdk-stable/commit/5978cc8d20b78b27d554febf0e5d24153b962606
Thanks.
Luca Boccassi
---
>From 5978cc8d20b78b27d554febf0e5d24153b962606 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 4c7e81d7b6..b473321071 100644
--- a/examples/vdpa/main.c
+++ b/examples/vdpa/main.c
@@ -25,6 +25,7 @@
#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
struct vdpa_port {
@@ -39,7 +40,7 @@ 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;
static int client_mode;
@@ -77,9 +78,8 @@ parse_args(int argc, char **argv)
break;
/* 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);
}
if (!strcmp(long_option[idx].name, "interactive")) {
--
2.47.3
---
Diff of the applied patch vs upstream commit (please double-check if non-empty:
---
--- - 2025-11-25 18:10:03.630891002 +0000
+++ 0002-examples-vdpa-fix-format-overflow.patch 2025-11-25 18:10:03.554456728 +0000
@@ -1 +1 @@
-From 66052657fcb810c47cbbe52762c9ad0ad7828821 Mon Sep 17 00:00:00 2001
+From 5978cc8d20b78b27d554febf0e5d24153b962606 Mon Sep 17 00:00:00 2001
@@ -8,0 +9,2 @@
+[ upstream commit 66052657fcb810c47cbbe52762c9ad0ad7828821 ]
+
@@ -25 +26,0 @@
-Cc: stable at dpdk.org
@@ -34 +35 @@
-index 289db26498..08aa933272 100644
+index 4c7e81d7b6..b473321071 100644
@@ -37 +38 @@
-@@ -22,6 +22,7 @@
+@@ -25,6 +25,7 @@
@@ -45 +46 @@
-@@ -36,7 +37,7 @@ struct vdpa_port {
+@@ -39,7 +40,7 @@ struct vdpa_port {
@@ -54 +55 @@
-@@ -74,9 +75,8 @@ parse_args(int argc, char **argv)
+@@ -77,9 +78,8 @@ parse_args(int argc, char **argv)
More information about the stable
mailing list