net/ice: fix queue config in DCF
authorJie Wang <jie1x.wang@intel.com>
Tue, 24 Aug 2021 15:13:17 +0000 (15:13 +0000)
committerQi Zhang <qi.z.zhang@intel.com>
Sun, 29 Aug 2021 13:12:59 +0000 (15:12 +0200)
When DCF configures rx_queues, it may cause the pointer of
rx_queues to go out of bounds.

This patch expands the scope of the judgment condition to
fix this issue.

Fixes: 4b0d391f0eab ("net/ice: add queue config in DCF")
Cc: stable@dpdk.org
Signed-off-by: Jie Wang <jie1x.wang@intel.com>
Acked-by: Qi Zhang <qi.z.zhang@intel.com>
drivers/net/ice/ice_dcf.c

index 5b23cc9..ee3c85b 100644 (file)
@@ -882,11 +882,11 @@ ice_dcf_configure_queues(struct ice_dcf_hw *hw)
                }
                vc_qp->rxq.vsi_id = hw->vsi_res->vsi_id;
                vc_qp->rxq.queue_id = i;
-               vc_qp->rxq.max_pkt_size = rxq[i]->max_pkt_len;
 
                if (i >= hw->eth_dev->data->nb_rx_queues)
                        continue;
 
+               vc_qp->rxq.max_pkt_size = rxq[i]->max_pkt_len;
                vc_qp->rxq.ring_len = rxq[i]->nb_rx_desc;
                vc_qp->rxq.dma_ring_addr = rxq[i]->rx_ring_dma;
                vc_qp->rxq.databuffer_size = rxq[i]->rx_buf_len;