[PATCH] net/mlx5: fix segfault in counter pool destroy
Maayan Kashani
mkashani at nvidia.com
Wed Jun 25 11:32:47 CEST 2025
When there is not enough memory, counter pool creation fails.
As a result, the pool is being destroyed.
Since not all pointers were initialized during creation,
Need to check for null pointer in destruction.
Fixes: 13ea6bdcc7ee ("net/mlx5: support counters in cross port shared mode")
Cc: stable at dpdk.org
Signed-off-by: Maayan Kashani <mkashani at nvidia.com>
Acked-by: Bing Zhao <bingz at nvidia.com>
---
drivers/net/mlx5/mlx5_hws_cnt.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/drivers/net/mlx5/mlx5_hws_cnt.c b/drivers/net/mlx5/mlx5_hws_cnt.c
index 83db242bf90..fce7a7e815f 100644
--- a/drivers/net/mlx5/mlx5_hws_cnt.c
+++ b/drivers/net/mlx5/mlx5_hws_cnt.c
@@ -810,7 +810,7 @@ mlx5_hws_cnt_pool_destroy(struct mlx5_dev_ctx_shared *sh,
LIST_REMOVE(cpool, next);
rte_spinlock_unlock(&sh->cpool_lock);
if (cpool->cfg.host_cpool == NULL) {
- if (--sh->cnt_svc->refcnt == 0)
+ if (sh->cnt_svc && --sh->cnt_svc->refcnt == 0)
mlx5_hws_cnt_svc_deinit(sh);
}
mlx5_hws_cnt_pool_action_destroy(cpool);
--
2.21.0
More information about the dev
mailing list