Fix segmentation fault when a user will request to allocate a HWS action while current device doesn't support HWS.
Fixes: f8c8a6d ("net/mlx5/hws: add action object") Signed-off-by: Alex Vesker <va...@nvidia.com> Reviewed-by: Erez Shitrit <ere...@nvidia.com> Acked-by: Matan Azrad <ma...@nvidia.com> --- drivers/net/mlx5/hws/mlx5dr_action.c | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/drivers/net/mlx5/hws/mlx5dr_action.c b/drivers/net/mlx5/hws/mlx5dr_action.c index a9e12aa1f5..b0ae4e7693 100644 --- a/drivers/net/mlx5/hws/mlx5dr_action.c +++ b/drivers/net/mlx5/hws/mlx5dr_action.c @@ -697,6 +697,13 @@ mlx5dr_action_create_generic(struct mlx5dr_context *ctx, return NULL; } + if (mlx5dr_action_is_hws_flags(flags) && + !(ctx->flags & MLX5DR_CONTEXT_FLAG_HWS_SUPPORT)) { + DR_LOG(ERR, "Cannot create HWS action since HWS is not supported"); + rte_errno = ENOTSUP; + return NULL; + } + action = simple_calloc(1, sizeof(*action)); if (!action) { DR_LOG(ERR, "Failed to allocate memory for action [%d]", action_type); -- 2.18.1