From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from dpdk.org (dpdk.org [92.243.14.124]) by inbox.dpdk.org (Postfix) with ESMTP id 48DB1A0352; Mon, 16 Dec 2019 02:30:07 +0100 (CET) Received: from [92.243.14.124] (localhost [127.0.0.1]) by dpdk.org (Postfix) with ESMTP id 528C41BFD2; Mon, 16 Dec 2019 02:30:06 +0100 (CET) Received: from mail-ot1-f67.google.com (mail-ot1-f67.google.com [209.85.210.67]) by dpdk.org (Postfix) with ESMTP id 5DC411BFCB for ; Mon, 16 Dec 2019 02:30:05 +0100 (CET) Received: by mail-ot1-f67.google.com with SMTP id d17so6956028otc.0 for ; Sun, 15 Dec 2019 17:30:05 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=mime-version:references:in-reply-to:from:date:message-id:subject:to :cc; bh=VFf9cWXQdcgtorZsaVkrp3ZyNwRIIkG6WvgEVD2EssM=; b=oTRW9eg98X/e7Cvl+ARIpoj5GKXKmBPWShrlwDsRdvLT/Vcmj3nKhN3cOeb7UmPeSf 9nwFcWXrKrNOvvkcsXM7ZQ5JqeTWZBY3X3gc2IICU5Tr7pFFAVxDNl6ssbD6IvuUv/H1 9sceqBGfwq0RCR0sf3k1Vn+R/nsCxn9tNzlYz07H4S4tzYUyzbTUBpMbDEjcDODgpwy9 HJE1GeiOI2enkYj+Lg4jJJPBiAqBXdQPhkxXywJrJ2zgDdHSilyXiH4/u3zhWoW6v6Td q2ukiBoyuSGcgDfDyBmSu2mqrtQEt9TU/gg5L5UNIxs3rW/KASjBG8+LyZNggyl3Fr0a pMug== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:to:cc; bh=VFf9cWXQdcgtorZsaVkrp3ZyNwRIIkG6WvgEVD2EssM=; b=teidUHniz5cESUsz/XSDf1CMLcZbAVPhnpDbYu1Vws5DC2KJYH8pj3XMtlk5khYVKR HTmEdWeCP3ukKprqA7RB3+q/L1sjkE9Cr3ssoPG6RXCjHlTiXPYAhOCk1d6ybD3YyXzy t9cOf5TQ+6StORJhXLtOBu9Gmdqq0MmvwuPx9ZoQyy7o2vjAG1zqZu3EzQ3ZUtQlzRna P1m1t7YUzAPzqjB0Y+3D+70aAJbwpYar485ldMwuMzqvCijMuQ5dHQPP+V4TC25JTpEM ZeijPZJRs+fc9KU30eJ4qTCrQtGHNkqBUFkuoWwnBQ/NuD4BICrKbhR2jlkAKhszLJ31 VwJw== X-Gm-Message-State: APjAAAVZNx9bkDtH224pZ2/6jE0WCGQSVNLO856PSWIksZPs1zPx0nJX 0jAJ+kIrdGYlYS97xXbtpFKN1UGvQMmUJ5lgtIc= X-Google-Smtp-Source: APXvYqzIRApGGgr1fygtiNA5NDWwTOZwpwu23b6XbgFOKGedItcS3Ae6VKyVYyqJc5s2M/1nXFO9aZwzI8nnGZ5lx28= X-Received: by 2002:a05:6830:681:: with SMTP id q1mr29282219otr.162.1576459804706; Sun, 15 Dec 2019 17:30:04 -0800 (PST) MIME-Version: 1.0 References: <1576246894-31496-1-git-send-email-xiangxia.m.yue@gmail.com> In-Reply-To: <1576246894-31496-1-git-send-email-xiangxia.m.yue@gmail.com> From: Tonghao Zhang Date: Mon, 16 Dec 2019 09:29:28 +0800 Message-ID: To: matan@mellanox.com, shahafs@mellanox.com Cc: dev@dpdk.org, Suanming Mou Content-Type: text/plain; charset="UTF-8" Subject: Re: [dpdk-dev] [PATCH v2] net/mlx5: avoid crash when meter action conf is NULL X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: DPDK patches and discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dev-bounces@dpdk.org Sender: "dev" On Fri, Dec 13, 2019 at 10:21 PM wrote: > > From: Tonghao Zhang > > 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 > > Signed-off-by: Tonghao Zhang > --- > 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