[PATCH] net/iavf: fix access to null value
Mingjin Ye
mingjinx.ye at intel.com
Wed Jan 24 03:05:55 CET 2024
The "vsi" may be null, so it needs to be used after checking.
Fixes: ab28aad9c24f ("net/iavf: fix Rx Tx burst in multi-process")
Cc: stable at dpdk.org
Signed-off-by: Mingjin Ye <mingjinx.ye at intel.com>
---
drivers/net/iavf/iavf_rxtx.c | 10 ++++++----
1 file changed, 6 insertions(+), 4 deletions(-)
diff --git a/drivers/net/iavf/iavf_rxtx.c b/drivers/net/iavf/iavf_rxtx.c
index 5ba4527ae3..8992e728cd 100644
--- a/drivers/net/iavf/iavf_rxtx.c
+++ b/drivers/net/iavf/iavf_rxtx.c
@@ -3781,12 +3781,13 @@ iavf_recv_pkts_no_poll(void *rx_queue, struct rte_mbuf **rx_pkts,
uint16_t nb_pkts)
{
struct iavf_rx_queue *rxq = rx_queue;
- enum iavf_rx_burst_type rx_burst_type =
- rxq->vsi->adapter->rx_burst_type;
+ enum iavf_rx_burst_type rx_burst_type;
if (!rxq->vsi || rxq->vsi->adapter->no_poll)
return 0;
+ rx_burst_type = rxq->vsi->adapter->rx_burst_type;
+
return iavf_rx_pkt_burst_ops[rx_burst_type](rx_queue,
rx_pkts, nb_pkts);
}
@@ -3796,12 +3797,13 @@ iavf_xmit_pkts_no_poll(void *tx_queue, struct rte_mbuf **tx_pkts,
uint16_t nb_pkts)
{
struct iavf_tx_queue *txq = tx_queue;
- enum iavf_tx_burst_type tx_burst_type =
- txq->vsi->adapter->tx_burst_type;
+ enum iavf_tx_burst_type tx_burst_type;
if (!txq->vsi || txq->vsi->adapter->no_poll)
return 0;
+ tx_burst_type = txq->vsi->adapter->tx_burst_type;
+
return iavf_tx_pkt_burst_ops[tx_burst_type](tx_queue,
tx_pkts, nb_pkts);
}
--
2.25.1
More information about the dev
mailing list