From: Alex Vesker <va...@nvidia.com> In case decapL3 action is created we would access header data even in case the SHARED flag is not set, this would lead to an invalid memory access.
Fixes: 3a6c50215c07 ("net/mlx5/hws: support multi-pattern") Cc: sta...@dpdk.org Signed-off-by: Alex Vesker <va...@nvidia.com> Acked-by: Matan Azrad <ma...@nvidia.com> --- drivers/net/mlx5/hws/mlx5dr_action.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/drivers/net/mlx5/hws/mlx5dr_action.c b/drivers/net/mlx5/hws/mlx5dr_action.c index 084d4d606e..562fb5cbb4 100644 --- a/drivers/net/mlx5/hws/mlx5dr_action.c +++ b/drivers/net/mlx5/hws/mlx5dr_action.c @@ -1775,7 +1775,9 @@ mlx5dr_action_handle_tunnel_l3_to_l2(struct mlx5dr_action *action, /* Create a full modify header action list in case shared */ mlx5dr_action_prepare_decap_l3_actions(hdrs->sz, mh_data, &num_of_actions); - mlx5dr_action_prepare_decap_l3_data(hdrs->data, mh_data, num_of_actions); + + if (action->flags & MLX5DR_ACTION_FLAG_SHARED) + mlx5dr_action_prepare_decap_l3_data(hdrs->data, mh_data, num_of_actions); /* All DecapL3 cases require the same max arg size */ arg_obj = mlx5dr_arg_create_modify_header_arg(ctx, -- 2.39.3