On Fri, Dec 13, 2019 at 10:21 PM <xiangxia.m....@gmail.com> wrote:
>
> 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
>
ping