From: Tonghao Zhang <xiangxia.m....@gmail.com> When offloading the meter, should check the action conf and make sure it is valid.
Fixes: f46bf7488705 ("net/mlx5: support meter flow action") Cc: Suanming Mou <suanmi...@mellanox.com> Signed-off-by: Tonghao Zhang <xiangxia.m....@gmail.com> --- v2: coding style issues: http://patches.dpdk.org/patch/63849/ --- drivers/net/mlx5/mlx5_flow_dv.c | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/drivers/net/mlx5/mlx5_flow_dv.c b/drivers/net/mlx5/mlx5_flow_dv.c index 73aaea4..7528556 100644 --- a/drivers/net/mlx5/mlx5_flow_dv.c +++ b/drivers/net/mlx5/mlx5_flow_dv.c @@ -3402,7 +3402,12 @@ struct field_modify_info modify_tcp[] = { { struct mlx5_priv *priv = dev->data->dev_private; const struct rte_flow_action_meter *am = action->conf; - struct mlx5_flow_meter *fm = mlx5_flow_meter_find(priv, am->mtr_id); + struct mlx5_flow_meter *fm; + + if (!am) + return rte_flow_error_set(error, EINVAL, + RTE_FLOW_ERROR_TYPE_ACTION, NULL, + "meter action conf is NULL"); if (action_flags & MLX5_FLOW_ACTION_METER) return rte_flow_error_set(error, ENOTSUP, @@ -3417,6 +3422,8 @@ struct field_modify_info modify_tcp[] = { RTE_FLOW_ERROR_TYPE_UNSPECIFIED, NULL, "meter action not supported"); + + fm = mlx5_flow_meter_find(priv, am->mtr_id); if (!fm) return rte_flow_error_set(error, EINVAL, RTE_FLOW_ERROR_TYPE_ACTION, NULL, -- 1.8.3.1