Thread (1 message) 1 message, 1 author, 2022-02-22

[PATCH 20/20] regex/mlx5: fix a memory leak in error handling

DORMANTno replies

From: Weiguo Li <hidden>
Date: 2022-02-22 18:29:02
Subsystem: the rest · Maintainer: Linus Torvalds

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 <redacted>
---
 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
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help