The mlx5_rxq_get() function gets RxQ index and return RxQ priv accordingly.
When it gets an invalid index, it accesses out of array bounds which might cause undefined behavior. This patch adds a check for invalid indexes before accessing to array. Fixes: 0cedf34da78f ("net/mlx5: move Rx queue reference count") Cc: sta...@dpdk.org Signed-off-by: Michael Baum <michae...@nvidia.com> Acked-by: Matan Azrad <ma...@nvidia.com> --- drivers/net/mlx5/mlx5_rxq.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/drivers/net/mlx5/mlx5_rxq.c b/drivers/net/mlx5/mlx5_rxq.c index f16795bac3..d41834f46f 100644 --- a/drivers/net/mlx5/mlx5_rxq.c +++ b/drivers/net/mlx5/mlx5_rxq.c @@ -2042,6 +2042,8 @@ mlx5_rxq_get(struct rte_eth_dev *dev, uint16_t idx) { struct mlx5_priv *priv = dev->data->dev_private; + if (idx >= priv->rxqs_n) + return NULL; MLX5_ASSERT(priv->rxq_privs != NULL); return (*priv->rxq_privs)[idx]; } -- 2.25.1