Thread (18 messages) 18 messages, 4 authors, 2021-09-20

Re: [dpdk-dev] [PATCH 1/6] net/mlx5: fix shared device context creation error flow

From: Raslan Darawsheh <hidden>
Date: 2021-09-05 08:46:20

Hi,
-----Original Message-----
From: Michael Baum <redacted>
Sent: Tuesday, August 31, 2021 11:37 PM
To: dev@dpdk.org
Cc: Matan Azrad <redacted>; Raslan Darawsheh
[off-list ref]; Slava Ovsiienko [off-list ref];
stable@dpdk.org
Subject: [PATCH 1/6] net/mlx5: fix shared device context creation error flow
How about something like this:
fix memory leak in the shared device context creation
In shared device context creation, there are two validations after MR
btree memory allocation.

When one of them fails, the MR btree memory was not freed what caused a
memory leak.

Free it.
How about changing it to something like this:

In shared device context creation, there is a missing validation when one of
the btree memory allocation fails that will cause a memory leak.

This adds a proper check to clean resources in case of failure.
quoted hunk ↗ jump to hunk
Fixes: 632f0f19056f ("net/mlx5: manage shared counters in three-level
table")
Cc: stable@dpdk.org

Signed-off-by: Michael Baum <redacted>
---
 drivers/net/mlx5/mlx5.c | 2 ++
 1 file changed, 2 insertions(+)
diff --git a/drivers/net/mlx5/mlx5.c b/drivers/net/mlx5/mlx5.c
index f84e061fe7..f0ec2d1279 100644
--- a/drivers/net/mlx5/mlx5.c
+++ b/drivers/net/mlx5/mlx5.c
@@ -1254,6 +1254,8 @@ mlx5_alloc_shared_dev_ctx(const struct
mlx5_dev_spawn_data *spawn,
 	MLX5_ASSERT(sh);
 	if (sh->cnt_id_tbl)
 		mlx5_l3t_destroy(sh->cnt_id_tbl);
+	if (sh->share_cache.cache.table)
+		mlx5_mr_btree_free(&sh->share_cache.cache);
 	if (sh->tis)
 		claim_zero(mlx5_devx_cmd_destroy(sh->tis));
 	if (sh->td)
--
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