net/mlx5: validate hash Rx queue pointer
authorDekel Peled <dekelp@nvidia.com>
Wed, 3 Feb 2021 10:09:09 +0000 (12:09 +0200)
committerFerruh Yigit <ferruh.yigit@intel.com>
Thu, 4 Feb 2021 17:44:26 +0000 (18:44 +0100)
Implementation of mlx5_hrxq_get() tries to get pointer to a hrxq
object, by reusing an existing hrxq, or creating a new one.
There is no check of the obtained pointer, so using it might result
in error.

This patch adds check of the pointer before using it, and return 0
if the pointer is NULL to indicate error.

Fixes: e1592b6c4dea ("net/mlx5: make Rx queue thread safe")
Cc: stable@dpdk.org
Signed-off-by: Dekel Peled <dekelp@nvidia.com>
Acked-by: Matan Azrad <matan@nvidia.com>
drivers/net/mlx5/mlx5_rxq.c

index 92e3a79..8f9ee97 100644 (file)
@@ -2353,7 +2353,9 @@ uint32_t mlx5_hrxq_get(struct rte_eth_dev *dev,
                        return 0;
                hrxq = container_of(entry, typeof(*hrxq), entry);
        }
-       return hrxq->idx;
+       if (hrxq)
+               return hrxq->idx;
+       return 0;
 }
 
 /**