Commit 24b6e531 authored by Lama Kayal's avatar Lama Kayal Committed by Jakub Kicinski
Browse files

net/mlx5: HWS, Fix uninitialized variables in mlx5hws_pat_calc_nop error flow



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: 01e035fd ("net/mlx5: HWS, handle modify header actions dependency")
Signed-off-by: default avatarLama Kayal <lkayal@nvidia.com>
Reviewed-by: default avatarTariq Toukan <tariqt@nvidia.com>
Signed-off-by: default avatarMark Bloch <mbloch@nvidia.com>
Link: https://patch.msgid.link/20250825143435.598584-4-mbloch@nvidia.com


Signed-off-by: default avatarJakub Kicinski <kuba@kernel.org>
parent a630f835
Loading
Loading
Loading
Loading
+3 −1
Original line number Diff line number Diff line
@@ -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;