patch 'net/memif: guard against empty Tx burst' has been queued to stable release 24.11.9
luca.boccassi at gmail.com
luca.boccassi at gmail.com
Thu Nov 5 17:42:43 CET 2026
Hi,
FYI, your patch has been queued to stable release 24.11.9
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/07/26. 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/366fe2d1371fd5ec325d6068277c4372124d0b96
Thanks.
Luca Boccassi
---
>From 366fe2d1371fd5ec325d6068277c4372124d0b96 Mon Sep 17 00:00:00 2001
From: Sriram Yagnaraman <sriram.yagnaraman at ericsson.com>
Date: Fri, 16 Oct 2026 21:58:49 +0200
Subject: [PATCH] net/memif: guard against empty Tx burst
[ upstream commit da1e5fabf8d080e86004f25102fb9d7da9d9bfad ]
eth_memif_tx() reads bufs[0]->pool to pick the mempool for its
single-pool fast-path test, before any check on nb_pkts. A caller that
passes nb_pkts == 0 therefore dereferences bufs[0], out of bounds for an
empty burst. Return early when there is nothing to transmit, after the
ring == NULL check so a secondary process still requests regions.
Fixes: b5613c8f9d0a ("net/memif: add a Tx fast path")
Signed-off-by: Sriram Yagnaraman <sriram.yagnaraman at ericsson.com>
---
drivers/net/memif/rte_eth_memif.c | 2 ++
1 file changed, 2 insertions(+)
diff --git a/drivers/net/memif/rte_eth_memif.c b/drivers/net/memif/rte_eth_memif.c
index 19858fe4091..1acbefc29b6 100644
--- a/drivers/net/memif/rte_eth_memif.c
+++ b/drivers/net/memif/rte_eth_memif.c
@@ -902,6 +902,8 @@ eth_memif_tx(void *queue, struct rte_mbuf **bufs, uint16_t nb_pkts)
mq->in_port, rte_strerror(-ret));
return 0;
}
+ if (unlikely(nb_pkts == 0))
+ return 0;
ring_size = 1 << mq->log2_ring_size;
mask = ring_size - 1;
--
2.47.3
---
Diff of the applied patch vs upstream commit (please double-check if non-empty:
---
--- - 2026-11-05 16:42:47.856321249 +0000
+++ 0076-net-memif-guard-against-empty-Tx-burst.patch 2026-11-05 16:42:45.009063416 +0000
@@ -1 +1 @@
-From da1e5fabf8d080e86004f25102fb9d7da9d9bfad Mon Sep 17 00:00:00 2001
+From 366fe2d1371fd5ec325d6068277c4372124d0b96 Mon Sep 17 00:00:00 2001
@@ -5,0 +6,2 @@
+[ upstream commit da1e5fabf8d080e86004f25102fb9d7da9d9bfad ]
+
@@ -13 +14,0 @@
-Cc: stable at dpdk.org
@@ -21 +22 @@
-index 3ed177ffb2..36db03a268 100644
+index 19858fe4091..1acbefc29b6 100644
@@ -24 +25 @@
-@@ -904,6 +904,8 @@ eth_memif_tx(void *queue, struct rte_mbuf **bufs, uint16_t nb_pkts)
+@@ -902,6 +902,8 @@ eth_memif_tx(void *queue, struct rte_mbuf **bufs, uint16_t nb_pkts)
More information about the stable
mailing list