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 <[email protected]>
Reviewed-by: Erez Shitrit <[email protected]>
Acked-by: Matan Azrad <[email protected]>
---
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