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 65C41A04FA; Wed, 8 Jan 2020 11:41:16 +0100 (CET) Received: from [92.243.14.124] (localhost [127.0.0.1]) by dpdk.org (Postfix) with ESMTP id 96B501D524; Wed, 8 Jan 2020 11:41:15 +0100 (CET) Received: from git-send-mailer.rdmz.labs.mlnx (unknown [37.142.13.130]) by dpdk.org (Postfix) with ESMTP id 219EC1D40E; Wed, 8 Jan 2020 11:41:14 +0100 (CET) From: Suanming Mou To: Matan Azrad , Shahaf Shuler , Viacheslav Ovsiienko Cc: dev@dpdk.org, xiangxia.m.yue@gmail.com, rasland@mellanox.com, stable@dpdk.org Date: Wed, 8 Jan 2020 12:41:09 +0200 Message-Id: <1578480070-160606-1-git-send-email-suanmingm@mellanox.com> X-Mailer: git-send-email 1.8.3.1 In-Reply-To: <1578387392-114282-1-git-send-email-suanmingm@mellanox.com> References: <1578387392-114282-1-git-send-email-suanmingm@mellanox.com> Subject: [dpdk-dev] [PATCH v2] net/mlx5: fix incorrect pointer operation in meter 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" The meter suffix flow item pointer restore is not correct to decrease a fixed value. The incorrect operation will cause incorrect match to the meter suffix flow, the flow create will fail once the magic number in the wrong offset memory start with RTE_FLOW_ITEM_TYPE_END. The pointer should decrease the real offset it increases. Set the decrease value to the real offset the pointer increases to fix the issue. Fixes: 9ea9b049a960 ("net/mlx5: split meter flow") Cc: stable@dpdk.org Signed-off-by: Suanming Mou Reported-by: Tonghao Zhang --- v2: commit message adjust. --- drivers/net/mlx5/mlx5_flow.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/drivers/net/mlx5/mlx5_flow.c b/drivers/net/mlx5/mlx5_flow.c index cb9d265..52ffcb2 100644 --- a/drivers/net/mlx5/mlx5_flow.c +++ b/drivers/net/mlx5/mlx5_flow.c @@ -4037,7 +4037,7 @@ uint32_t mlx5_flow_adjust_priority(struct rte_eth_dev *dev, int32_t priority, sfx_items++; } sfx_items->type = RTE_FLOW_ITEM_TYPE_END; - sfx_items -= METER_SUFFIX_ITEM; + sfx_items -= sfx_port_id_item ? 2 : 1; /* Setting the sfx group atrr. */ sfx_attr.group = sfx_attr.transfer ? (MLX5_FLOW_TABLE_LEVEL_SUFFIX - 1) : -- 1.8.3.1