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

Reply via email to