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 B7983457A1 for ; Mon, 12 Aug 2024 15:03:26 +0200 (CEST) Received: from mails.dpdk.org (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id B3ED940665; Mon, 12 Aug 2024 15:03:26 +0200 (CEST) Received: from NAM11-BN8-obe.outbound.protection.outlook.com (mail-bn8nam11on2068.outbound.protection.outlook.com [40.107.236.68]) by mails.dpdk.org (Postfix) with ESMTP id A159E40665 for ; Mon, 12 Aug 2024 15:03:25 +0200 (CEST) ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=C+W7PVEanBa1x7rOzVpRsfmt0qBxeDzbuRs2GuQDUO7PWhQRRRChuj0ekXZhu/4QCqVMJSEl6TH2lXw6fzMnYxTDshUlxsWtqJ4SljCC/+AIFAC60tpwzjegvAnfjQB04zIZjBUbWhxdfOnJeAGzgu/st5nzSgyCaFEModdk7sXPf9Bq//hl7uzEj+zdKi4oI+WLjZs5OdJ3m8J/ZuONJfws5iHifv4HofP+FmQbJZaW/d1cHTPzC9n5cbbawCg377nTdUYMxQblDdmkBXNWwSuCj3X9+YGUtwzTkvzRADHJ0nDFgcvCWyusE3Q538a3+eX2GoKY4HGOaUtLuIV1/g== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector10001; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=Hv8SobaRewx4Nlb2iN8RPg/wCR9ZxgpJIo4m9HIsfUI=; b=TZPuGHxSwqfb/b2bq67mLqz1reZjhQrvvXcFjzoObZBNUkfqvQHPpPl1Jq5IX8qetLAbfnfo9G1d73Yew7hyOKdBr8fhl3QZLNTrneJYl7UcnjVMLLEM5yCBDBJEozCKz9gwJiCFl/AGCLlgwrJOD4Th1xrcxDfKk7PA+Ev8hZPDQRzW2d2p4zwIFZmi2YrQZGOGuvCcSkpJW/qaqeRbdvLrv6XIl/mbFcNWYrO6VMvnJ04Z0qTP4l8sO86XBzSBBeFp9oP718/0z5mAiimNT9guHu2lQxNpltT5J5GSqOQFucMF/JisQ0lQ3B3ElRdd8n2YTbSAJTGzf80wmHBNvw== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is 216.228.117.161) smtp.rcpttodomain=amd.com smtp.mailfrom=nvidia.com; dmarc=pass (p=reject sp=reject pct=100) action=none header.from=nvidia.com; dkim=none (message not signed); arc=none (0) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=Nvidia.com; s=selector2; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=Hv8SobaRewx4Nlb2iN8RPg/wCR9ZxgpJIo4m9HIsfUI=; b=BkaYEztMNl/dRjTrqazPPxgG5imT2NWLILdyy5zxl9LUrfj0dN8JgB95T+oX7Zuye3xUJdE1eaulKViqWCLPQcb61gATU5vab1zfEhk94j9RTuvlA9/ZmDtnS7EkwmVs2/f0Y+Y8CNT84OjOPlprhV+i6rmT+fLLscBf4cq8ZvrDUd2rJy4+5RzwYKQ0PTwfSu3dopi2AjQ2x2UgDD3vDYVdvcylzciWk2qOUWAroS41DCiuiSD2K9PQDVNZmQUmnb6yTu9smps4ErG9EfjxB5HIBFvQ5JBlmLjJ0VPyR8trV5K9DZK+TNOiGBXQ+QJDNtryNCPyGuSKCVeFj2kC2Q== Received: from SA0PR11CA0002.namprd11.prod.outlook.com (2603:10b6:806:d3::7) by CH3PR12MB7716.namprd12.prod.outlook.com (2603:10b6:610:145::11) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7849.22; Mon, 12 Aug 2024 13:03:22 +0000 Received: from SN1PEPF0002636B.namprd02.prod.outlook.com (2603:10b6:806:d3:cafe::f5) by SA0PR11CA0002.outlook.office365.com (2603:10b6:806:d3::7) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7828.33 via Frontend Transport; Mon, 12 Aug 2024 13:03:22 +0000 X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 216.228.117.161) smtp.mailfrom=nvidia.com; dkim=none (message not signed) header.d=none;dmarc=pass action=none header.from=nvidia.com; Received-SPF: Pass (protection.outlook.com: domain of nvidia.com designates 216.228.117.161 as permitted sender) receiver=protection.outlook.com; client-ip=216.228.117.161; helo=mail.nvidia.com; pr=C Received: from mail.nvidia.com (216.228.117.161) by SN1PEPF0002636B.mail.protection.outlook.com (10.167.241.136) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7849.8 via Frontend Transport; Mon, 12 Aug 2024 13:03:22 +0000 Received: from rnnvmail201.nvidia.com (10.129.68.8) by mail.nvidia.com (10.129.200.67) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.1544.4; Mon, 12 Aug 2024 06:03:07 -0700 Received: from nvidia.com (10.126.230.35) by rnnvmail201.nvidia.com (10.129.68.8) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.1544.4; Mon, 12 Aug 2024 06:03:05 -0700 From: Xueming Li To: Michael Baum CC: , Ferruh Yigit , dpdk stable Subject: patch 'ethdev: fix GENEVE option item conversion' has been queued to stable release 23.11.2 Date: Mon, 12 Aug 2024 20:50:08 +0800 Message-ID: <20240812125035.389667-132-xuemingl@nvidia.com> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20240812125035.389667-1-xuemingl@nvidia.com> References: <20240712110153.309690-23-xuemingl@nvidia.com> <20240812125035.389667-1-xuemingl@nvidia.com> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit Content-Type: text/plain X-Originating-IP: [10.126.230.35] X-ClientProxiedBy: rnnvmail201.nvidia.com (10.129.68.8) To rnnvmail201.nvidia.com (10.129.68.8) X-EOPAttributedMessage: 0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: SN1PEPF0002636B:EE_|CH3PR12MB7716:EE_ X-MS-Office365-Filtering-Correlation-Id: 6ea376c1-8915-4f99-ecab-08dcbacf2542 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; ARA:13230040|376014|82310400026|36860700013|1800799024; X-Microsoft-Antispam-Message-Info: =?us-ascii?Q?FFMiJRCAeGUSHxfm8XwwtNAUIXhzsVTTRIO2MsHQzTCUmnOZ6L0E0Vc5Wl0/?= =?us-ascii?Q?LLrFnLKMffvIspIedAKSNdaO177qPeOYfHFEO85mf7un9Y9uKxXBEhU3ewnH?= =?us-ascii?Q?ZDRAhOLjjt7ArdGvEYTXdoSEim1jIWuNQMqDHhB/cUsLDZ7gJbdfnt2x458E?= =?us-ascii?Q?SbMu8yh51HZJ8o0VHv4Gl3l+hjlZSy4TAWCaN4mgY9nx+0y8wE+K1nzIrVSE?= =?us-ascii?Q?w6TXA7HVx1DLIAk15KL4HUo7/fMFBDkOFt8/TXDwM7GGeplSsTEnwkCzYMp8?= =?us-ascii?Q?9FHIytHROZBNbbU/L8x59/uqpTlW3U0cNHuVQfxRW+5/lgxeM29vOXu5UlT7?= =?us-ascii?Q?wA6SyWK/1EvSOV2tizRKu2w2yJpATRxEfH/wnaI+vDhWoj/MiIIe46mItUZ7?= =?us-ascii?Q?XJ2NDVjlySFxiDbdoUyUhb6QOPq0p3LE9pxzOOUqi3ntKMNgnIyrjzQYyNcF?= =?us-ascii?Q?m88kXMZ/G77g0fMq+K+I55VrMT67HfJFzS3yphnxUTWn2k63U2IUPsTynIEz?= =?us-ascii?Q?5hSTOpTqLBsDpecInpvykwc8ISgZpKnY40OuNFwd91AsE4WiDwvcefSg5aCN?= =?us-ascii?Q?RLNbv84D6VEx9L7nnhaVx1UYEBW7UHoNtynHQVIbyak1R8ifOmSdhV/UJioW?= =?us-ascii?Q?PnE1UDzxECX1wPYguhkGsqONNkT8u6ab95tn4ckKCCCHAbfnt5V2feOcc4Wh?= =?us-ascii?Q?6PCoWQOT+xL8LJqlQHhEEHiKNHtsxZqf/8Y+W074+XQHGRkfI8hjzCoUZX4x?= =?us-ascii?Q?6tpJbHMYEbedoML+vHvL2GyLSAYekZwL5Hhw6BkEYlnpdlVYMZLqa0jNcQxm?= =?us-ascii?Q?XCkuur+gReXui5zQga2R2moYrW0zUtygMvAc9DVp3bnfr4DwPK4ifxQ/kY+Z?= =?us-ascii?Q?EaaeEm+jyvs80XM21BRAd+b2Wf5hWsxVO+pI1k+32kelEqv3jYzN41795E1O?= =?us-ascii?Q?zoE8R2KMtVr2VwcF2eXC85c1q0sp37Pn2CCHThwjT11J58ly8TkH/Ezfe2Qs?= =?us-ascii?Q?H6EQhIXPVU7bPvPo06e0+mX9Vo7KWXYEy3BzVsvaWHk2FWSQSjPQrsZJOmD9?= =?us-ascii?Q?C2wllHJA3GfgRqiawgKAbHOh5QhpTOy3yjdeMkMW7zZe2JF02Hf5sa+UCmnC?= =?us-ascii?Q?tPGRZiGecLgriReRpOCpOjU3Nb1elc8NDtx8oEyrnkbdgRFWLYCBR/P6DXI4?= =?us-ascii?Q?D2UQRgWrrbbg2vV7IxfPnmTTPzNgKsnipTDtriRB4OT1KJ2xMrIJp88yN9VY?= =?us-ascii?Q?HbPxTGi1gDVl7/THe2+Q6qzt6haLT4mvyw/30SHoZJuv1HnVjCvsoDlYSyZ4?= =?us-ascii?Q?K7k9fIaFyYqUVYG9QKXRJEKECC1c02BjJkBAgxRaBy3NiTf47ZqNdnAGgXK/?= =?us-ascii?Q?L8jLBkmPJqp7ofom+bIGm/3pL8aPs+svXh9Og5fyu0h5gGPMr3x8H+oEWgMK?= =?us-ascii?Q?VX72ntfqxoKi5sN8qRwJgvWYeIEwMfpb?= X-Forefront-Antispam-Report: CIP:216.228.117.161; CTRY:US; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:mail.nvidia.com; PTR:dc6edge2.nvidia.com; CAT:NONE; SFS:(13230040)(376014)(82310400026)(36860700013)(1800799024); DIR:OUT; SFP:1101; X-OriginatorOrg: Nvidia.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 12 Aug 2024 13:03:22.4344 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 6ea376c1-8915-4f99-ecab-08dcbacf2542 X-MS-Exchange-CrossTenant-Id: 43083d15-7273-40c1-b7db-39efd9ccc17a X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=43083d15-7273-40c1-b7db-39efd9ccc17a; Ip=[216.228.117.161]; Helo=[mail.nvidia.com] X-MS-Exchange-CrossTenant-AuthSource: SN1PEPF0002636B.namprd02.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: CH3PR12MB7716 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 23.11.2 Note it hasn't been pushed to http://dpdk.org/browse/dpdk-stable yet. It will be pushed if I get no objections before 08/14/24. 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://git.dpdk.org/dpdk-stable/log/?h=23.11-staging This queued commit can be viewed at: https://git.dpdk.org/dpdk-stable/commit/?h=23.11-staging&id=e8746659b2e038bfbf6b5891a33dbe35acca3e99 Thanks. Xueming Li --- >From e8746659b2e038bfbf6b5891a33dbe35acca3e99 Mon Sep 17 00:00:00 2001 From: Michael Baum Date: Mon, 15 Jul 2024 15:13:16 +0300 Subject: [PATCH] ethdev: fix GENEVE option item conversion Cc: Xueming Li [ upstream commit 841a0445442de154441ac2b4700658a9eb83c986 ] The "rte_flow_conv()" function, enables, among other things, to copy item list. For GENEVE option item, the function copies it without considering deep copy. It copies the "data" pointer without copying the pointed values. This patch adds deep copy for after regular copy. Fixes: 2b4c72b4d10d ("ethdev: introduce GENEVE header TLV option item") Signed-off-by: Michael Baum Acked-by: Ferruh Yigit --- lib/ethdev/rte_flow.c | 29 +++++++++++++++++++++++++---- 1 file changed, 25 insertions(+), 4 deletions(-) diff --git a/lib/ethdev/rte_flow.c b/lib/ethdev/rte_flow.c index 04348e0243..fa2a8fedce 100644 --- a/lib/ethdev/rte_flow.c +++ b/lib/ethdev/rte_flow.c @@ -616,6 +616,7 @@ rte_flow_conv_item_spec(void *buf, const size_t size, switch (item->type) { union { const struct rte_flow_item_raw *raw; + const struct rte_flow_item_geneve_opt *geneve_opt; } spec; union { const struct rte_flow_item_raw *raw; @@ -625,10 +626,13 @@ rte_flow_conv_item_spec(void *buf, const size_t size, } mask; union { const struct rte_flow_item_raw *raw; + const struct rte_flow_item_geneve_opt *geneve_opt; } src; union { struct rte_flow_item_raw *raw; + struct rte_flow_item_geneve_opt *geneve_opt; } dst; + void *deep_src; size_t tmp; case RTE_FLOW_ITEM_TYPE_RAW: @@ -657,13 +661,30 @@ rte_flow_conv_item_spec(void *buf, const size_t size, tmp = last.raw->length & mask.raw->length; if (tmp) { off = RTE_ALIGN_CEIL(off, sizeof(*dst.raw->pattern)); - if (size >= off + tmp) - dst.raw->pattern = rte_memcpy - ((void *)((uintptr_t)dst.raw + off), - src.raw->pattern, tmp); + if (size >= off + tmp) { + deep_src = (void *)((uintptr_t)dst.raw + off); + dst.raw->pattern = rte_memcpy(deep_src, + src.raw->pattern, + tmp); + } off += tmp; } break; + case RTE_FLOW_ITEM_TYPE_GENEVE_OPT: + off = rte_flow_conv_copy(buf, data, size, + rte_flow_desc_item, item->type); + spec.geneve_opt = item->spec; + src.geneve_opt = data; + dst.geneve_opt = buf; + tmp = spec.geneve_opt->option_len << 2; + if (size > 0 && src.geneve_opt->data) { + deep_src = (void *)((uintptr_t)(dst.geneve_opt + 1)); + dst.geneve_opt->data = rte_memcpy(deep_src, + src.geneve_opt->data, + tmp); + } + off += tmp; + break; default: off = rte_flow_conv_copy(buf, data, size, rte_flow_desc_item, item->type); -- 2.34.1 --- Diff of the applied patch vs upstream commit (please double-check if non-empty: --- --- - 2024-08-12 20:44:06.678581268 +0800 +++ 0131-ethdev-fix-GENEVE-option-item-conversion.patch 2024-08-12 20:44:02.535069381 +0800 @@ -1 +1 @@ -From 841a0445442de154441ac2b4700658a9eb83c986 Mon Sep 17 00:00:00 2001 +From e8746659b2e038bfbf6b5891a33dbe35acca3e99 Mon Sep 17 00:00:00 2001 @@ -4,0 +5,3 @@ +Cc: Xueming Li + +[ upstream commit 841a0445442de154441ac2b4700658a9eb83c986 ] @@ -15 +17,0 @@ -Cc: stable@dpdk.org @@ -24 +26 @@ -index ca2f85c3fa..4076ae4ee1 100644 +index 04348e0243..fa2a8fedce 100644 @@ -27 +29 @@ -@@ -623,6 +623,7 @@ rte_flow_conv_item_spec(void *buf, const size_t size, +@@ -616,6 +616,7 @@ rte_flow_conv_item_spec(void *buf, const size_t size, @@ -35 +37 @@ -@@ -632,10 +633,13 @@ rte_flow_conv_item_spec(void *buf, const size_t size, +@@ -625,10 +626,13 @@ rte_flow_conv_item_spec(void *buf, const size_t size, @@ -49 +51 @@ -@@ -664,13 +668,30 @@ rte_flow_conv_item_spec(void *buf, const size_t size, +@@ -657,13 +661,30 @@ rte_flow_conv_item_spec(void *buf, const size_t size,