]> git.ipfire.org Git - thirdparty/kernel/stable.git/commitdiff
net/mlx5: HWS, Fix memory leak in hws_action_get_shared_stc_nic error flow
authorLama Kayal <lkayal@nvidia.com>
Mon, 25 Aug 2025 14:34:25 +0000 (17:34 +0300)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Thu, 4 Sep 2025 14:55:40 +0000 (16:55 +0200)
[ Upstream commit a630f83592cdad1253523a1b760cfe78fef6cd9c ]

When an invalid stc_type is provided, the function allocates memory for
shared_stc but jumps to unlock_and_out without freeing it, causing a
memory leak.

Fix by jumping to free_shared_stc label instead to ensure proper cleanup.

Fixes: 504e536d9010 ("net/mlx5: HWS, added actions handling")
Signed-off-by: Lama Kayal <lkayal@nvidia.com>
Reviewed-by: Tariq Toukan <tariqt@nvidia.com>
Signed-off-by: Mark Bloch <mbloch@nvidia.com>
Link: https://patch.msgid.link/20250825143435.598584-3-mbloch@nvidia.com
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
Signed-off-by: Sasha Levin <sashal@kernel.org>
drivers/net/ethernet/mellanox/mlx5/core/steering/hws/action.c

index 447ea3f8722ce4202b77cdb46c8052a4c1862d7c..8e4a085f4a2ec92e72d836ccd1a72215ebb03301 100644 (file)
@@ -117,7 +117,7 @@ static int hws_action_get_shared_stc_nic(struct mlx5hws_context *ctx,
                mlx5hws_err(ctx, "No such stc_type: %d\n", stc_type);
                pr_warn("HWS: Invalid stc_type: %d\n", stc_type);
                ret = -EINVAL;
-               goto unlock_and_out;
+               goto free_shared_stc;
        }
 
        ret = mlx5hws_action_alloc_single_stc(ctx, &stc_attr, tbl_type,