release null mbuf results coredump.
This commit adding mbuf check before releasing.

Fixes: 12016895fcf3 ("net/iavf: fix buffer leak on Tx queue stop")

Signed-off-by: Kaiwen Deng <kaiwenx.d...@intel.com>
---
 drivers/net/iavf/iavf_rxtx_vec_common.h | 7 +++++--
 1 file changed, 5 insertions(+), 2 deletions(-)

diff --git a/drivers/net/iavf/iavf_rxtx_vec_common.h 
b/drivers/net/iavf/iavf_rxtx_vec_common.h
index e18cdc3f11..f50a500536 100644
--- a/drivers/net/iavf/iavf_rxtx_vec_common.h
+++ b/drivers/net/iavf/iavf_rxtx_vec_common.h
@@ -187,8 +187,11 @@ _iavf_tx_queue_release_mbufs_vec(struct iavf_tx_queue *txq)
 
        i = txq->next_dd - txq->rs_thresh + 1;
        while (i != txq->tx_tail) {
-               rte_pktmbuf_free_seg(txq->sw_ring[i].mbuf);
-               txq->sw_ring[i].mbuf = NULL;
+               if (txq->sw_ring[i].mbuf) {
+                       rte_pktmbuf_free_seg(txq->sw_ring[i].mbuf);
+                       txq->sw_ring[i].mbuf = NULL;
+               }
+
                if (++i == txq->nb_tx_desc)
                        i = 0;
        }
-- 
2.34.1

Reply via email to