net/mlx5/hws: check action creation for HWS support
Checks
Commit Message
Fix segmentation fault when 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 <valex@nvidia.com>
Reviewed-by: Erez Shitrit <erezsh@nvidia.com>
---
drivers/net/mlx5/hws/mlx5dr_action.c | 7 +++++++
1 file changed, 7 insertions(+)
@@ -699,6 +699,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);