From 0ece5de3c4acb5a7c7ffa421538af89b86617d59 Mon Sep 17 00:00:00 2001 From: Dmitry Kozlyuk Date: Tue, 23 Nov 2021 22:22:27 +0200 Subject: [PATCH] net/mlx5: fix crash on close after failed start If mlx5_rxq_start() failed and rxq_ctrl was not initialized, mlx5_rxq_obj_verify() would segfault in an attempt to dereference it. Add a check that rxq_ctrl is not NULL before accessing its members. Fixes: 09c2555303be ("net/mlx5: support shared Rx queue") Signed-off-by: Dmitry Kozlyuk Acked-by: Matan Azrad --- 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 47dc24793b..191f1e483f 100644 --- a/drivers/net/mlx5/mlx5_rxq.c +++ b/drivers/net/mlx5/mlx5_rxq.c @@ -1271,6 +1271,8 @@ mlx5_rxq_obj_verify(struct rte_eth_dev *dev) struct mlx5_rxq_obj *rxq_obj; LIST_FOREACH(rxq_obj, &priv->rxqsobj, next) { + if (rxq_obj->rxq_ctrl == NULL) + continue; if (rxq_obj->rxq_ctrl->rxq.shared && !LIST_EMPTY(&rxq_obj->rxq_ctrl->owners)) continue; -- 2.39.5