net/bnxt: fix crash in vector mode Tx
rte_pktmbuf_prefree_seg() can return NULL if the mbuf still has remaining references on it. Adding a NULL check to prevent segfault. Fixes:bc4a000f2f
("net/bnxt: implement SSE vector mode") Fixes:3983583414
("net/bnxt: support NEON") Cc: stable@dpdk.org Signed-off-by: Kalesh AP <kalesh-anakkur.purayil@broadcom.com> Reviewed-by: Lance Richardson <lance.richardson@broadcom.com> Reviewed-by: Somnath Kotur <somnath.kotur@broadcom.com> Reviewed-by: Ajit Khaparde <ajit.khaparde@broadcom.com>
This commit is contained in:
parent
ce41561d1b
commit
301cc1b4db
@ -329,6 +329,8 @@ bnxt_tx_cmp_vec(struct bnxt_tx_queue *txq, int nr_pkts)
|
||||
tx_buf = &txr->tx_buf_ring[cons];
|
||||
cons = RING_NEXT(txr->tx_ring_struct, cons);
|
||||
mbuf = rte_pktmbuf_prefree_seg(tx_buf->mbuf);
|
||||
if (unlikely(mbuf == NULL))
|
||||
continue;
|
||||
tx_buf->mbuf = NULL;
|
||||
|
||||
if (blk && mbuf->pool != free[0]->pool) {
|
||||
|
@ -334,6 +334,8 @@ bnxt_tx_cmp_vec(struct bnxt_tx_queue *txq, int nr_pkts)
|
||||
tx_buf = &txr->tx_buf_ring[cons];
|
||||
cons = RING_NEXT(txr->tx_ring_struct, cons);
|
||||
mbuf = rte_pktmbuf_prefree_seg(tx_buf->mbuf);
|
||||
if (unlikely(mbuf == NULL))
|
||||
continue;
|
||||
tx_buf->mbuf = NULL;
|
||||
|
||||
if (blk && mbuf->pool != free[0]->pool) {
|
||||
|
Loading…
Reference in New Issue
Block a user