When rxp_create_mkey() failed the function return, 'ptr' was not freed which caused a memory leak.
Fixes: 9fa82d287f65 ("regex/mlx5: move RXP to CrSpace") Signed-off-by: Weiguo Li <liw...@foxmail.com> --- drivers/regex/mlx5/mlx5_rxp.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/drivers/regex/mlx5/mlx5_rxp.c b/drivers/regex/mlx5/mlx5_rxp.c index ed3af15e40..4da29a2a06 100644 --- a/drivers/regex/mlx5/mlx5_rxp.c +++ b/drivers/regex/mlx5/mlx5_rxp.c @@ -117,8 +117,10 @@ mlx5_regex_rules_db_import(struct rte_regexdev *dev, rte_memcpy(ptr, rule_db, rule_db_len); /* Register umem and create rof mkey. */ ret = rxp_create_mkey(priv, ptr, rule_db_len, /*access=*/7, &mkey); - if (ret < 0) + if (ret < 0) { + rte_free(ptr); return ret; + } for (id = 0; id < priv->nb_engines; id++) { ret = mlx5_devx_regex_rules_program(priv->cdev->ctx, id, -- 2.25.1