From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mails.dpdk.org (mails.dpdk.org [217.70.189.124]) by inbox.dpdk.org (Postfix) with ESMTP id D629B42ECF for ; Thu, 20 Jul 2023 17:35:20 +0200 (CEST) Received: from mails.dpdk.org (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id D179041144; Thu, 20 Jul 2023 17:35:20 +0200 (CEST) Received: from us-smtp-delivery-124.mimecast.com (us-smtp-delivery-124.mimecast.com [170.10.133.124]) by mails.dpdk.org (Postfix) with ESMTP id B99ED400D6 for ; Thu, 20 Jul 2023 17:35:18 +0200 (CEST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1689867318; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=Vj8BMAEI05syK+NcoMoMvTTFjH0INkUYTQucMtdYZpk=; b=i5nYeg+NVGulAxzeTCD3IZmIjqQbjXlysJtgVQZPhRk5Tl2miD6ApAyjnoQJpoYk8fVuSU apX68E08zrKo6TU4nf94u7+HcEhO8Fxc5OrRNcYj/fr3NYvhbzyw6xbhzhBMUKWi/RuNPP Z5n7bukZ0/vnyBUb1wRRzQDh+VC84KQ= Received: from mimecast-mx02.redhat.com (66.187.233.73 [66.187.233.73]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id us-mta-512-Qm0AtoDPN02wievsLwyWVA-1; Thu, 20 Jul 2023 11:23:26 -0400 X-MC-Unique: Qm0AtoDPN02wievsLwyWVA-1 Received: from smtp.corp.redhat.com (int-mx10.intmail.prod.int.rdu2.redhat.com [10.11.54.10]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mimecast-mx02.redhat.com (Postfix) with ESMTPS id 352771C28D10; Thu, 20 Jul 2023 15:22:46 +0000 (UTC) Received: from rh.redhat.com (unknown [10.39.192.15]) by smtp.corp.redhat.com (Postfix) with ESMTP id 2BA95492C13; Thu, 20 Jul 2023 15:22:44 +0000 (UTC) From: Kevin Traynor To: Satheesh Paul Cc: Kiran Kumar K , dpdk stable Subject: patch 'net/cnxk: fix flow queue index validation' has been queued to stable release 21.11.5 Date: Thu, 20 Jul 2023 16:19:01 +0100 Message-ID: <20230720151942.262154-110-ktraynor@redhat.com> In-Reply-To: <20230720151942.262154-1-ktraynor@redhat.com> References: <20230720151942.262154-1-ktraynor@redhat.com> MIME-Version: 1.0 X-Scanned-By: MIMEDefang 3.1 on 10.11.54.10 X-Mimecast-Spam-Score: 0 X-Mimecast-Originator: redhat.com Content-Transfer-Encoding: 8bit Content-Type: text/plain; charset="US-ASCII"; x-default=true X-BeenThere: stable@dpdk.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: patches for DPDK stable branches List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: stable-bounces@dpdk.org Hi, FYI, your patch has been queued to stable release 21.11.5 Note it hasn't been pushed to http://dpdk.org/browse/dpdk-stable yet. It will be pushed if I get no objections before 07/25/23. So please shout if anyone has objections. Also note that after the patch there's a diff of the upstream commit vs the patch applied to the branch. This will indicate if there was any rebasing needed to apply to the stable branch. If there were code changes for rebasing (ie: not only metadata diffs), please double check that the rebase was correctly done. Queued patches are on a temporary branch at: https://github.com/kevintraynor/dpdk-stable This queued commit can be viewed at: https://github.com/kevintraynor/dpdk-stable/commit/14945c066d13d515e52a11061a7f0b63ab73061d Thanks. Kevin --- >From 14945c066d13d515e52a11061a7f0b63ab73061d Mon Sep 17 00:00:00 2001 From: Satheesh Paul Date: Tue, 20 Jun 2023 16:31:37 +0530 Subject: [PATCH] net/cnxk: fix flow queue index validation [ upstream commit 47f4051664c3235586c08095a2b328d5c86b87e2 ] When creating a flow rule directing traffic from PF to VF, current validation is incorrectly checking the RQ index in flow action with the PF's maximum configured RQs. This validation is applicable only when action target is an RQ of the PF. The validation has been modified accordingly. Fixes: 8c009b4505e9 ("net/cnxk: support flow API") Signed-off-by: Satheesh Paul Reviewed-by: Kiran Kumar K --- drivers/net/cnxk/cnxk_rte_flow.c | 20 ++++++++++++-------- 1 file changed, 12 insertions(+), 8 deletions(-) diff --git a/drivers/net/cnxk/cnxk_rte_flow.c b/drivers/net/cnxk/cnxk_rte_flow.c index 32166ae764..0410f2d82e 100644 --- a/drivers/net/cnxk/cnxk_rte_flow.c +++ b/drivers/net/cnxk/cnxk_rte_flow.c @@ -111,6 +111,6 @@ cnxk_map_actions(struct rte_eth_dev *eth_dev, const struct rte_flow_attr *attr, { struct cnxk_eth_dev *dev = cnxk_eth_pmd_priv(eth_dev); + const struct rte_flow_action_queue *act_q = NULL; const struct rte_flow_action_port_id *port_act; - const struct rte_flow_action_queue *act_q; struct roc_npc *roc_npc_src = &dev->npc; struct rte_eth_dev *portid_eth_dev; @@ -118,4 +118,5 @@ cnxk_map_actions(struct rte_eth_dev *eth_dev, const struct rte_flow_attr *attr, struct cnxk_eth_dev *hw_dst; struct roc_npc *roc_npc_dst; + bool is_vf_action = false; int i = 0, rc = 0; int rq; @@ -151,4 +152,5 @@ cnxk_map_actions(struct rte_eth_dev *eth_dev, const struct rte_flow_attr *attr, in_actions[i].type = ROC_NPC_ACTION_TYPE_VF; in_actions[i].conf = actions->conf; + is_vf_action = true; break; @@ -184,11 +186,5 @@ cnxk_map_actions(struct rte_eth_dev *eth_dev, const struct rte_flow_attr *attr, case RTE_FLOW_ACTION_TYPE_QUEUE: - act_q = (const struct rte_flow_action_queue *) - actions->conf; - rq = act_q->index; - if (rq >= eth_dev->data->nb_rx_queues) { - plt_npc_dbg("Invalid queue index"); - goto err_exit; - } + act_q = (const struct rte_flow_action_queue *)actions->conf; in_actions[i].type = ROC_NPC_ACTION_TYPE_QUEUE; in_actions[i].conf = actions->conf; @@ -235,4 +231,12 @@ cnxk_map_actions(struct rte_eth_dev *eth_dev, const struct rte_flow_attr *attr, i++; } + + if (!is_vf_action && act_q) { + rq = act_q->index; + if (rq >= eth_dev->data->nb_rx_queues) { + plt_npc_dbg("Invalid queue index"); + goto err_exit; + } + } in_actions[i].type = ROC_NPC_ACTION_TYPE_END; return 0; -- 2.41.0 --- Diff of the applied patch vs upstream commit (please double-check if non-empty: --- --- - 2023-07-20 16:18:08.466345750 +0100 +++ 0110-net-cnxk-fix-flow-queue-index-validation.patch 2023-07-20 16:17:55.096752284 +0100 @@ -1 +1 @@ -From 47f4051664c3235586c08095a2b328d5c86b87e2 Mon Sep 17 00:00:00 2001 +From 14945c066d13d515e52a11061a7f0b63ab73061d Mon Sep 17 00:00:00 2001 @@ -5,0 +6,2 @@ +[ upstream commit 47f4051664c3235586c08095a2b328d5c86b87e2 ] + @@ -14 +15,0 @@ -Cc: stable@dpdk.org @@ -19 +20 @@ - drivers/net/cnxk/cnxk_flow.c | 20 ++++++++++++-------- + drivers/net/cnxk/cnxk_rte_flow.c | 20 ++++++++++++-------- @@ -22,5 +23,5 @@ -diff --git a/drivers/net/cnxk/cnxk_flow.c b/drivers/net/cnxk/cnxk_flow.c -index 1b88542dcb..3b8348ae9c 100644 ---- a/drivers/net/cnxk/cnxk_flow.c -+++ b/drivers/net/cnxk/cnxk_flow.c -@@ -118,11 +118,12 @@ cnxk_map_actions(struct rte_eth_dev *eth_dev, const struct rte_flow_attr *attr, +diff --git a/drivers/net/cnxk/cnxk_rte_flow.c b/drivers/net/cnxk/cnxk_rte_flow.c +index 32166ae764..0410f2d82e 100644 +--- a/drivers/net/cnxk/cnxk_rte_flow.c ++++ b/drivers/net/cnxk/cnxk_rte_flow.c +@@ -111,6 +111,6 @@ cnxk_map_actions(struct rte_eth_dev *eth_dev, const struct rte_flow_attr *attr, @@ -30 +30,0 @@ - const struct rte_flow_action_ethdev *act_ethdev; @@ -32,0 +33 @@ + struct roc_npc *roc_npc_src = &dev->npc; @@ -34 +35 @@ - char if_name[RTE_ETH_NAME_MAX_LEN]; +@@ -118,4 +118,5 @@ cnxk_map_actions(struct rte_eth_dev *eth_dev, const struct rte_flow_attr *attr, @@ -40 +41 @@ -@@ -158,4 +159,5 @@ cnxk_map_actions(struct rte_eth_dev *eth_dev, const struct rte_flow_attr *attr, +@@ -151,4 +152,5 @@ cnxk_map_actions(struct rte_eth_dev *eth_dev, const struct rte_flow_attr *attr, @@ -46 +47 @@ -@@ -190,11 +192,5 @@ cnxk_map_actions(struct rte_eth_dev *eth_dev, const struct rte_flow_attr *attr, +@@ -184,11 +186,5 @@ cnxk_map_actions(struct rte_eth_dev *eth_dev, const struct rte_flow_attr *attr, @@ -59 +60 @@ -@@ -242,4 +238,12 @@ cnxk_map_actions(struct rte_eth_dev *eth_dev, const struct rte_flow_attr *attr, +@@ -235,4 +231,12 @@ cnxk_map_actions(struct rte_eth_dev *eth_dev, const struct rte_flow_attr *attr,