Hi, > -----Original Message----- > From: Michael Baum <michae...@nvidia.com> > Sent: Tuesday, August 31, 2021 11:37 PM > To: dev@dpdk.org > Cc: Matan Azrad <ma...@nvidia.com>; Raslan Darawsheh > <rasl...@nvidia.com>; Slava Ovsiienko <viachesl...@nvidia.com>; > sta...@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. > > Fixes: 632f0f19056f ("net/mlx5: manage shared counters in three-level > table") > Cc: sta...@dpdk.org > > Signed-off-by: Michael Baum <michae...@nvidia.com> > --- > 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