[PATCH v2 09/15] raw/ntb: fix double free of Rx mbufs on stop
Raghavendra Ningoji
raghavendra.ningoji at amd.com
Fri Nov 6 06:50:39 CET 2026
Once an Rx mbuf is handed to the application, its software ring entry
still references it until the slot is refilled. On device stop, all
referenced mbufs are freed, including the one now owned by the
application.
Clear the ring entry when the mbuf is taken.
Fixes: 11b5c7daf019 ("raw/ntb: add enqueue and dequeue functions")
Cc: stable at dpdk.org
Signed-off-by: Raghavendra Ningoji <raghavendra.ningoji at amd.com>
---
drivers/raw/ntb/ntb.c | 1 +
1 file changed, 1 insertion(+)
diff --git a/drivers/raw/ntb/ntb.c b/drivers/raw/ntb/ntb.c
index eb562052d8..5b3abcb008 100644
--- a/drivers/raw/ntb/ntb.c
+++ b/drivers/raw/ntb/ntb.c
@@ -694,6 +694,7 @@ ntb_dequeue_bufs(struct rte_rawdev *dev,
for (i = 0; i < nb_segs; i++) {
rx_item = rxq->rx_used_ring + rxq->last_used;
rxm_t = sw_ring[rxq->last_used].mbuf;
+ sw_ring[rxq->last_used].mbuf = NULL;
rxm_t->data_len = rx_item->len;
rxm_t->data_off = RTE_PKTMBUF_HEADROOM;
rxm_t->port = rxq->port_id;
--
2.34.1
More information about the stable
mailing list