[dpdk-dev] [PATCH 7/7] regex/mlx5: fix QP setuping error flow
Michael Baum
michaelba at nvidia.com
Wed Nov 18 18:00:11 CET 2020
In regex QP setup, the PMD creates some SQ objects.
When SQ object creation is failed, the previous SQ objects memory were
not freed what caused a memory leak.
Free them.
Fixes: 54fa1f6a67d7 ("regex/mlx5: add teardown for fastpath buffers")
Signed-off-by: Michael Baum <michaelba at nvidia.com>
Acked-by: Ori Kam <orika at nvidia.com>
---
drivers/regex/mlx5/mlx5_regex_control.c | 7 ++++---
1 file changed, 4 insertions(+), 3 deletions(-)
diff --git a/drivers/regex/mlx5/mlx5_regex_control.c b/drivers/regex/mlx5/mlx5_regex_control.c
index 88b3d1a..d6f452b 100644
--- a/drivers/regex/mlx5/mlx5_regex_control.c
+++ b/drivers/regex/mlx5/mlx5_regex_control.c
@@ -336,6 +336,7 @@
struct mlx5_regex_priv *priv = dev->data->dev_private;
struct mlx5_regex_qp *qp;
int i;
+ int nb_sq_config = 0;
int ret;
uint16_t log_desc;
@@ -364,8 +365,9 @@
ret = regex_ctrl_create_sq(priv, qp, i, log_desc);
if (ret) {
DRV_LOG(ERR, "Can't create sq.");
- goto err_sq;
+ goto err_btree;
}
+ nb_sq_config++;
}
ret = mlx5_mr_btree_init(&qp->mr_ctrl.cache_bh, MLX5_MR_BTREE_CACHE_N,
@@ -385,9 +387,8 @@
err_fp:
mlx5_mr_btree_free(&qp->mr_ctrl.cache_bh);
err_btree:
- for (i = 0; i < qp->nb_obj; i++)
+ for (i = 0; i < nb_sq_config; i++)
regex_ctrl_destroy_sq(priv, qp, i);
-err_sq:
regex_ctrl_destroy_cq(priv, &qp->cq);
err_cq:
rte_free(qp->sqs);
--
1.8.3.1
More information about the dev
mailing list