[PATCH v1] net/mlx5: fix indirect meter index leak
Rongwei Liu
rongweil at nvidia.com
Wed Nov 5 13:54:33 CET 2025
When destroying the meter_mark indirect action, PMD
didn't recycle the ipool resources.
Fixes: 48fbb0e93d06 ("net/mlx5: support flow meter mark indirect action with HWS")
Cc: akozyrev at nvidia.com
Cc: stable at dpdk.org
Signed-off-by: Rongwei Liu <rongweil at nvidia.com>
Acked-by: Dariusz Sosnowski <dsosnowski at nvidia.com>
---
drivers/net/mlx5/mlx5_flow_hw.c | 17 ++++++++++-------
1 file changed, 10 insertions(+), 7 deletions(-)
diff --git a/drivers/net/mlx5/mlx5_flow_hw.c b/drivers/net/mlx5/mlx5_flow_hw.c
index ff68483a40..22503f49d5 100644
--- a/drivers/net/mlx5/mlx5_flow_hw.c
+++ b/drivers/net/mlx5/mlx5_flow_hw.c
@@ -13011,13 +13011,16 @@ flow_hw_action_handle_destroy(struct rte_eth_dev *dev, uint32_t queue,
break;
}
/* Wait for ASO object completion. */
- if (queue == MLX5_HW_INV_QUEUE &&
- mlx5_aso_mtr_wait(priv, aso_mtr, true)) {
- ret = -EINVAL;
- rte_flow_error_set(error, EINVAL,
- RTE_FLOW_ERROR_TYPE_UNSPECIFIED,
- NULL, "Unable to wait for ASO meter CQE");
- break;
+ if (queue == MLX5_HW_INV_QUEUE) {
+ if (mlx5_aso_mtr_wait(priv, aso_mtr, true)) {
+ ret = -EINVAL;
+ rte_flow_error_set(error, EINVAL,
+ RTE_FLOW_ERROR_TYPE_UNSPECIFIED,
+ NULL, "Unable to wait for ASO meter CQE");
+ }
+ mlx5_ipool_free(pool->idx_pool, idx);
+ if (ret < 0)
+ break;
}
aso = true;
break;
--
2.27.0
More information about the stable
mailing list