Commit 3250affd authored by Zhengchao Shao's avatar Zhengchao Shao Committed by Saeed Mahameed

net/mlx5e: fix memory leak in mlx5e_fs_tt_redirect_any_create

The memory pointed to by the fs->any pointer is not freed in the error
path of mlx5e_fs_tt_redirect_any_create, which can lead to a memory leak.
Fix by freeing the memory in the error path, thereby making the error path
identical to mlx5e_fs_tt_redirect_any_destroy().

Fixes: 0f575c20 ("net/mlx5e: Introduce Flow Steering ANY API")
Signed-off-by: default avatarZhengchao Shao <shaozhengchao@huawei.com>
Reviewed-by: default avatarSimon Horman <simon.horman@corigine.com>
Reviewed-by: default avatarRahul Rameshbabu <rrameshbabu@nvidia.com>
Signed-off-by: default avatarSaeed Mahameed <saeedm@nvidia.com>
parent 884abe45
...@@ -594,7 +594,7 @@ int mlx5e_fs_tt_redirect_any_create(struct mlx5e_flow_steering *fs) ...@@ -594,7 +594,7 @@ int mlx5e_fs_tt_redirect_any_create(struct mlx5e_flow_steering *fs)
err = fs_any_create_table(fs); err = fs_any_create_table(fs);
if (err) if (err)
return err; goto err_free_any;
err = fs_any_enable(fs); err = fs_any_enable(fs);
if (err) if (err)
...@@ -606,8 +606,8 @@ int mlx5e_fs_tt_redirect_any_create(struct mlx5e_flow_steering *fs) ...@@ -606,8 +606,8 @@ int mlx5e_fs_tt_redirect_any_create(struct mlx5e_flow_steering *fs)
err_destroy_table: err_destroy_table:
fs_any_destroy_table(fs_any); fs_any_destroy_table(fs_any);
err_free_any:
kfree(fs_any);
mlx5e_fs_set_any(fs, NULL); mlx5e_fs_set_any(fs, NULL);
kfree(fs_any);
return err; return err;
} }
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment