[PATCH] net/mlx5: fix the profile check of meter mark
Bing Zhao
bingz at nvidia.com
Fri Jun 30 14:44:45 CEST 2023
When creating a meter_mark action, the profile should be specified.
Or else there would be a crash if the pointer to the profile was not
set properly:
1. creating an action template with only action mask set and using
this template to create a table
2. creating a flow rule without setting the profile if the action
of meter_mark is not fixed
The check should be done inside the action allocation and an error
needs to be returned immediately.
Fixes: 48fbb0e93d06 ("net/mlx5: support flow meter mark indirect action with HWS")
Cc: akozyrev at nvidia.com
Cc: stable at dpdk.org
Signed-off-by: Bing Zhao <bingz at nvidia.com>
Acked-by: Viacheslav Ovsiienko <viacheslavo at nvidia.com>
---
drivers/net/mlx5/mlx5_flow_hw.c | 2 ++
1 file changed, 2 insertions(+)
diff --git a/drivers/net/mlx5/mlx5_flow_hw.c b/drivers/net/mlx5/mlx5_flow_hw.c
index b5137a822a..c64b260fea 100644
--- a/drivers/net/mlx5/mlx5_flow_hw.c
+++ b/drivers/net/mlx5/mlx5_flow_hw.c
@@ -1325,6 +1325,8 @@ flow_hw_meter_mark_alloc(struct rte_eth_dev *dev, uint32_t queue,
struct mlx5_flow_meter_info *fm;
uint32_t mtr_id;
+ if (meter_mark->profile == NULL)
+ return NULL;
aso_mtr = mlx5_ipool_malloc(priv->hws_mpool->idx_pool, &mtr_id);
if (!aso_mtr)
return NULL;
--
2.34.1
More information about the dev
mailing list