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)
committerJakub Kicinski <kuba@kernel.org>
Wed, 27 Aug 2025 01:00:25 +0000 (18:00 -0700)
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>
drivers/net/ethernet/mellanox/mlx5/core/steering/hws/action.c

index 396804369b00c1f3c0663d5c1fc10544d9962ea4..6b36a4a7d895fc06893e2c4ba1af920987bb399f 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,