net/mlx5: HWS, Fix uninitialized variables in mlx5hws_pat_calc_nop error flow
authorLama Kayal <lkayal@nvidia.com>
Mon, 25 Aug 2025 14:34:26 +0000 (17:34 +0300)
committerJakub Kicinski <kuba@kernel.org>
Wed, 27 Aug 2025 01:00:26 +0000 (18:00 -0700)
In mlx5hws_pat_calc_nop(), src_field and dst_field are passed to
hws_action_modify_get_target_fields() which should set their values.
However, if an invalid action type is encountered, these variables
remain uninitialized and are later used to update prev_src_field
and prev_dst_field.

Initialize both variables to INVALID_FIELD to ensure they have
defined values in all code paths.

Fixes: 01e035fd0380 ("net/mlx5: HWS, handle modify header actions dependency")
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-4-mbloch@nvidia.com
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
drivers/net/ethernet/mellanox/mlx5/core/steering/hws/pat_arg.c

index 51e4c551e0efd66715b9564559d68b3ed074e98c..622fd579f1407ebf611962ec9960747e8842fe83 100644 (file)
@@ -527,7 +527,6 @@ int mlx5hws_pat_calc_nop(__be64 *pattern, size_t num_actions,
                         u32 *nop_locations, __be64 *new_pat)
 {
        u16 prev_src_field = INVALID_FIELD, prev_dst_field = INVALID_FIELD;
-       u16 src_field, dst_field;
        u8 action_type;
        bool dependent;
        size_t i, j;
@@ -539,6 +538,9 @@ int mlx5hws_pat_calc_nop(__be64 *pattern, size_t num_actions,
                return 0;
 
        for (i = 0, j = 0; i < num_actions; i++, j++) {
+               u16 src_field = INVALID_FIELD;
+               u16 dst_field = INVALID_FIELD;
+
                if (j >= max_actions)
                        return -EINVAL;