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 0FC5A42EDA for ; Fri, 21 Jul 2023 15:35:42 +0200 (CEST) Received: from mails.dpdk.org (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id 0C34640E2D; Fri, 21 Jul 2023 15:35:42 +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 25AAD40DDC for ; Fri, 21 Jul 2023 15:35:39 +0200 (CEST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1689946538; 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=o8W0Zl4R0H+7SNR97B/H/X1+//Q+EZnZbxv7TJqlDPo=; b=MTJnYhMrWdaqeinizX1LlQCE4ilOOfNZ7+h08/gtwLMzGK8WNIfVhShYYvHkOjFJ3MNhXE afXJPso+hhgTCSyRlvMMbHu15rwq9LB1un1D/hqQWlhQqW80iGwFUmVnLy/IUz36LlXCgh rsgU/WbFdgm9gHfNyBcsOLPvHkbHalk= 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-60-Gph0O0pePRqtqGDNOYjgHQ-1; Fri, 21 Jul 2023 09:35:34 -0400 X-MC-Unique: Gph0O0pePRqtqGDNOYjgHQ-1 Received: from smtp.corp.redhat.com (int-mx07.intmail.prod.int.rdu2.redhat.com [10.11.54.7]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mimecast-mx02.redhat.com (Postfix) with ESMTPS id 83DDC1C04191; Fri, 21 Jul 2023 13:35:34 +0000 (UTC) Received: from rh.redhat.com (unknown [10.39.192.15]) by smtp.corp.redhat.com (Postfix) with ESMTP id 7ED69140E949; Fri, 21 Jul 2023 13:35:33 +0000 (UTC) From: Kevin Traynor To: Bing Zhao Cc: Ori Kam , dpdk stable Subject: patch 'net/mlx5: fix validation for conntrack indirect action' has been queued to stable release 21.11.5 Date: Fri, 21 Jul 2023 14:35:05 +0100 Message-ID: <20230721133509.348959-10-ktraynor@redhat.com> In-Reply-To: <20230721133509.348959-1-ktraynor@redhat.com> References: <20230721133509.348959-1-ktraynor@redhat.com> MIME-Version: 1.0 X-Scanned-By: MIMEDefang 3.1 on 10.11.54.7 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/d0af29e47446713f2b00eff3881bdf84711a086f Thanks. Kevin --- >From d0af29e47446713f2b00eff3881bdf84711a086f Mon Sep 17 00:00:00 2001 From: Bing Zhao Date: Tue, 18 Jul 2023 16:32:12 +0300 Subject: [PATCH] net/mlx5: fix validation for conntrack indirect action [ upstream commit a9156d685fa1b8927f68606c69521c5eae3184a2 ] After rte_flow_shared_action_* API was replaced with rte_flow_action_handle_* API, one input parameter of the update interface was also changed. A generic pointer was used instead of the "const struct rte_flow_action *" pointer. In the entrance of mlx5 PMD callback for update, the validation is called for all indirect actions. But for conntrack type, the pointer is no longer with rte_flow_action pointer type and it will cause an incorrect casting and error. The content for updating should only be validated when needed. It should skip the validation in the entrance. Right now, the content was already added before updating the hardware by WQE. So the type of the indirect action should be checked before calling the action validate function. When creating a new conntrack object, the validation is still needed since all the content will be used to update the hardware context. Fixes: 4b61b8774be9 ("ethdev: introduce indirect flow action") Signed-off-by: Bing Zhao Acked-by: Ori Kam --- drivers/net/mlx5/mlx5_flow.c | 13 +++++++++++-- 1 file changed, 11 insertions(+), 2 deletions(-) diff --git a/drivers/net/mlx5/mlx5_flow.c b/drivers/net/mlx5/mlx5_flow.c index 133dca5dcf..c11ccf91f6 100644 --- a/drivers/net/mlx5/mlx5_flow.c +++ b/drivers/net/mlx5/mlx5_flow.c @@ -8956,7 +8956,16 @@ mlx5_action_handle_update(struct rte_eth_dev *dev, flow_get_drv_ops(flow_get_drv_type(dev, &attr)); int ret; + uint32_t act_idx = (uint32_t)(uintptr_t)handle; + uint32_t type = act_idx >> MLX5_INDIRECT_ACTION_TYPE_OFFSET; - ret = flow_drv_action_validate(dev, NULL, - (const struct rte_flow_action *)update, fops, error); + switch (type) { + case MLX5_INDIRECT_ACTION_TYPE_CT: + ret = 0; + break; + default: + ret = flow_drv_action_validate(dev, NULL, + (const struct rte_flow_action *)update, + fops, error); + } if (ret) return ret; -- 2.41.0 --- Diff of the applied patch vs upstream commit (please double-check if non-empty: --- --- - 2023-07-21 14:33:59.250351808 +0100 +++ 0010-net-mlx5-fix-validation-for-conntrack-indirect-actio.patch 2023-07-21 14:33:59.027253299 +0100 @@ -1 +1 @@ -From a9156d685fa1b8927f68606c69521c5eae3184a2 Mon Sep 17 00:00:00 2001 +From d0af29e47446713f2b00eff3881bdf84711a086f Mon Sep 17 00:00:00 2001 @@ -5,0 +6,2 @@ +[ upstream commit a9156d685fa1b8927f68606c69521c5eae3184a2 ] + @@ -26 +27,0 @@ -Cc: stable@dpdk.org @@ -35 +36 @@ -index 4b567f61dd..9bd92f28fd 100644 +index 133dca5dcf..c11ccf91f6 100644 @@ -38 +39 @@ -@@ -10754,7 +10754,16 @@ mlx5_action_handle_update(struct rte_eth_dev *dev, +@@ -8956,7 +8956,16 @@ mlx5_action_handle_update(struct rte_eth_dev *dev,