net/mlx5: fix missing memory deallocation
Checks
Commit Message
Add freeing of allocated memroy before exiting on mlx5dv error.
Fixes: fc2c498ccb94 ("net/mlx5: add Direct Verbs translate items")
Cc: orika@mellanox.com
Signed-off-by: Dekel Peled <dekelp@mellanox.com>
---
drivers/net/mlx5/mlx5_flow_dv.c | 4 +++-
1 file changed, 3 insertions(+), 1 deletion(-)
Comments
> On Oct 29, 2018, at 9:09 AM, Dekel Peled <dekelp@mellanox.com> wrote:
>
> Add freeing of allocated memroy before exiting on mlx5dv error.
>
> Fixes: fc2c498ccb94 ("net/mlx5: add Direct Verbs translate items")
> Cc: orika@mellanox.com
>
> Signed-off-by: Dekel Peled <dekelp@mellanox.com>
> ---
Nice catch!
Acked-by: Yongseok Koh <yskoh@mellanox.com>
Thanks
> drivers/net/mlx5/mlx5_flow_dv.c | 4 +++-
> 1 file changed, 3 insertions(+), 1 deletion(-)
>
> diff --git a/drivers/net/mlx5/mlx5_flow_dv.c b/drivers/net/mlx5/mlx5_flow_dv.c
> index 8f729f4..0e1f715 100644
> --- a/drivers/net/mlx5/mlx5_flow_dv.c
> +++ b/drivers/net/mlx5/mlx5_flow_dv.c
> @@ -1203,10 +1203,12 @@
> dv_attr.flags |= IBV_FLOW_ATTR_FLAGS_EGRESS;
> cache_matcher->matcher_object =
> mlx5_glue->dv_create_flow_matcher(priv->ctx, &dv_attr);
> - if (!cache_matcher->matcher_object)
> + if (!cache_matcher->matcher_object) {
> + rte_free(cache_matcher);
> return rte_flow_error_set(error, ENOMEM,
> RTE_FLOW_ERROR_TYPE_UNSPECIFIED,
> NULL, "cannot create matcher");
> + }
> rte_atomic32_inc(&cache_matcher->refcnt);
> LIST_INSERT_HEAD(&priv->matchers, cache_matcher, next);
> dev_flow->dv.matcher = cache_matcher;
> --
> 1.8.3.1
>
Monday, October 29, 2018 8:48 PM, Yongseok Koh:
> Subject: Re: [PATCH] net/mlx5: fix missing memory deallocation
>
>
> > On Oct 29, 2018, at 9:09 AM, Dekel Peled <dekelp@mellanox.com> wrote:
> >
> > Add freeing of allocated memroy before exiting on mlx5dv error.
> >
> > Fixes: fc2c498ccb94 ("net/mlx5: add Direct Verbs translate items")
> > Cc: orika@mellanox.com
> >
> > Signed-off-by: Dekel Peled <dekelp@mellanox.com>
> > ---
>
> Nice catch!
>
> Acked-by: Yongseok Koh <yskoh@mellanox.com>
Applied to next-net-mlx, thanks.
@@ -1203,10 +1203,12 @@
dv_attr.flags |= IBV_FLOW_ATTR_FLAGS_EGRESS;
cache_matcher->matcher_object =
mlx5_glue->dv_create_flow_matcher(priv->ctx, &dv_attr);
- if (!cache_matcher->matcher_object)
+ if (!cache_matcher->matcher_object) {
+ rte_free(cache_matcher);
return rte_flow_error_set(error, ENOMEM,
RTE_FLOW_ERROR_TYPE_UNSPECIFIED,
NULL, "cannot create matcher");
+ }
rte_atomic32_inc(&cache_matcher->refcnt);
LIST_INSERT_HEAD(&priv->matchers, cache_matcher, next);
dev_flow->dv.matcher = cache_matcher;