net/mlx5: fix missing memory deallocation

Message ID 1540829350-45782-1-git-send-email-dekelp@mellanox.com (mailing list archive)
State Accepted, archived
Delegated to: Shahaf Shuler
Headers
Series net/mlx5: fix missing memory deallocation |

Checks

Context Check Description
ci/checkpatch success coding style OK
ci/Intel-compilation success Compilation OK

Commit Message

Dekel Peled Oct. 29, 2018, 4:09 p.m. UTC
  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

Yongseok Koh Oct. 29, 2018, 6:48 p.m. UTC | #1
> 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
>
  
Shahaf Shuler Nov. 1, 2018, 8:44 a.m. UTC | #2
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.
  

Patch

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;