[PATCH 2/5] net/qede: fix bad sanity check on Rx queue release
edwin.brossette at 6wind.com
edwin.brossette at 6wind.com
Tue Apr 22 17:51:40 CEST 2025
From: Edwin Brossette <edwin.brossette at 6wind.com>
As per the rte_mbuf API: the driver is responsible of initializing all
the required fields. This is not done at qede alloc, meaning there can
be garbage data in mbufs memory, although this garbage data should be
overwritten when the mbufs are used. Since a sanity check is done when
freeing the queues, its possible some remaining garbage data causes a
panic when trying to release the queues if some mbufs are being
processed.
Use rte_pktmbuf_raw_free() instead of rte_pktmbuf_free() as the sanity
check is more relaxed.
Fixes: 2ea6f76aff40 ("qede: add core driver")
CC: stable at dpdk.org
Signed-off-by: Edwin Brossette <edwin.brossette at 6wind.com>
Acked-by: Didier Pallard <didier.pallard at 6wind.com>
---
drivers/net/qede/qede_rxtx.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/drivers/net/qede/qede_rxtx.c b/drivers/net/qede/qede_rxtx.c
index c764e3d83763..601fcb30b357 100644
--- a/drivers/net/qede/qede_rxtx.c
+++ b/drivers/net/qede/qede_rxtx.c
@@ -305,7 +305,7 @@ static void qede_rx_queue_release_mbufs(struct qede_rx_queue *rxq)
if (rxq->sw_rx_ring) {
for (i = 0; i < rxq->nb_rx_desc; i++) {
if (rxq->sw_rx_ring[i]) {
- rte_pktmbuf_free(rxq->sw_rx_ring[i]);
+ rte_mbuf_raw_free(rxq->sw_rx_ring[i]);
rxq->sw_rx_ring[i] = NULL;
}
}
--
2.35.0.4.g44a5d4affccf
More information about the dev
mailing list