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 2B78E457A1 for ; Mon, 12 Aug 2024 15:03:58 +0200 (CEST) Received: from mails.dpdk.org (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id 2502340A82; Mon, 12 Aug 2024 15:03:58 +0200 (CEST) Received: from NAM12-BN8-obe.outbound.protection.outlook.com (mail-bn8nam12on2071.outbound.protection.outlook.com [40.107.237.71]) by mails.dpdk.org (Postfix) with ESMTP id DFE3340A70 for ; Mon, 12 Aug 2024 15:03:56 +0200 (CEST) ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=ECcIyqmjdSWcmVJxk9b28JJzwpR8of7YXJB+TfCR4J7UiW7uaZpeFdlkZ3Eu1/MuyEJtKuMMGjwAIL9uAUZIZyfh0EEf65BmFD2rh78JzSdWpqBhLjU2qnvJn9fzkwdWIUw6te8tKprFPGD9gHSQYAfWywoSTqryLC0FVL2Ch1AySFO07D2zWYWT8dvhz1AV/mPz0Djx0DA0TtQhHiw9NR2G3m7KYr0haRgCgOvm/DzX1T7D6mRiKsxXinJqqnaZ5VAagUTiN5PwT/zYkMKZ7i35nm8HCqZrhT9bkUIlxJnBkwkACIdE99d/nxwqTUcouSzDykxcMoNE2gJFkzF3zQ== 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=lEAsnoEkmwv32LtglIQjc0uLO1JXNzfL9xQz1RG0exk=; b=wluZiSdUvyBxtRB/cZzREXmjBcHawpmdOrWNCWtkSIpSrmBKnb/N/uAXW+iPqR7Dq0ix7vfTfbYefBEFwI+qh4YrOfLDOU3tS9R8daUuur4UIFXRUPCZkmvFRGplMJow2lFnS2oglo7/inBHitRfb4TazY10jeVTpJhdL0yMMRu05pTjvz3n4wjBEYG35biiLlb4aX7ztZEq2TCVlhDFQkPWsizx+sgQiELikOAHp2+Gq0F7V/FZhc3CP1rlH7+O/VqOAV4k2/4Capw518i0nAlyrMnKyT4S49xydZO9BRzA2fMDnw75aV3V+vr+5PqjgG7WfoZ1erIwFpeFn5MUTA== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is 216.228.117.160) smtp.rcpttodomain=corigine.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=lEAsnoEkmwv32LtglIQjc0uLO1JXNzfL9xQz1RG0exk=; b=KAy5NL8Hkey/XuxkiBFY7xdpoBRz2vMAEarVhgSCNjoTZ5IVazB7HOz7PH2lzG4zdhRisd4VCcnaFNvKugBMlDVMfl+jVDopR8yP1YZVe5ZzUtRmiAhOAMa4om8uyuNTKC6jX4XOffoPVUnR7qIfK3+c25EIAejIWE/OFdmDjWNmOLuQsv3uuXkfT0vZu9dFrfGAySzqcKhAkT2Wz9QvurUODJ8BrwNE34c5EZjBQyvBjNg0+ysSl4Nv9m1SpNpjwCcI1N31F0tvNXgD+VaO0HchYfHH6mMUU3SbSa70QK5fJS7dDWbU5ot3jtqWc3J1J4iHxGaP1cb2UvhKPC+6FQ== Received: from SJ0PR05CA0016.namprd05.prod.outlook.com (2603:10b6:a03:33b::21) by MN6PR12MB8470.namprd12.prod.outlook.com (2603:10b6:208:46d::17) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7849.20; Mon, 12 Aug 2024 13:03:54 +0000 Received: from SJ5PEPF00000209.namprd05.prod.outlook.com (2603:10b6:a03:33b:cafe::2) by SJ0PR05CA0016.outlook.office365.com (2603:10b6:a03:33b::21) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7875.13 via Frontend Transport; Mon, 12 Aug 2024 13:03:53 +0000 X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 216.228.117.160) 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.160 as permitted sender) receiver=protection.outlook.com; client-ip=216.228.117.160; helo=mail.nvidia.com; pr=C Received: from mail.nvidia.com (216.228.117.160) by SJ5PEPF00000209.mail.protection.outlook.com (10.167.244.42) 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:53 +0000 Received: from rnnvmail201.nvidia.com (10.129.68.8) by mail.nvidia.com (10.129.200.66) 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:38 -0700 Received: from nvidia.com (10.126.231.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:36 -0700 From: Xueming Li To: Zerun Fu CC: , Chaoyong He , Long Wu , Peng Zhang , Anatoly Burakov , Chenbo Xia , dpdk stable Subject: patch 'bus/pci: fix UIO resource mapping in secondary process' has been queued to stable release 23.11.2 Date: Mon, 12 Aug 2024 20:50:14 +0800 Message-ID: <20240812125035.389667-138-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.231.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: SJ5PEPF00000209:EE_|MN6PR12MB8470:EE_ X-MS-Office365-Filtering-Correlation-Id: 05a830ba-9264-45ab-a055-08dcbacf37c0 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; ARA:13230040|36860700013|1800799024|82310400026|376014; X-Microsoft-Antispam-Message-Info: =?us-ascii?Q?yZuTE69pxlQjUaiNprOTAW5u+kqOTXm4RxvXti3YdrdG4rIwUQqiM8BB6lpa?= =?us-ascii?Q?BHi0bq+y9hDMRyx+b6xVXvxmv1ZBm6Fl+8MYEcWQrT5cdib0pMiX6CxiygXc?= =?us-ascii?Q?Tz/xLiYa55yqH3YYwNRyZ9BLKyWW9anzin/ZzRTovDgU+mJ29Ku1P/1JOa8K?= =?us-ascii?Q?1+YUuG6qqS3BPqC04ONdFRZLZvLzlcFopR5AQ1d0oSlyMCR5V0R5nvV4T46q?= =?us-ascii?Q?d4i7mkfi1nW2h+y8qBLgbheVtJO0wuDlGvm1ODkMqsWo2mhYCxBfTx4uhEDe?= =?us-ascii?Q?COBJdtxSZvn5L/LxijHp/xQWjEyRHoT2JpJdKpxG+zH2HeWGRl9Tw5eO+/kn?= =?us-ascii?Q?q/0EbQB83a3rjuzwzBZ3o60dYWqWPWcla4udoTCBPnKzMKABRd/FlvLwOfza?= =?us-ascii?Q?qEVDa2drUVXQJ8wiwYQlUbT0SfYRaOjDFxkrafqE7bDd+G76u9r+DZwHEZfb?= =?us-ascii?Q?dmzCdCbeOFQI4TqC5EPEkBITDZpO5JO/ex5+OtF02e/m4+SeD/dBrJfLnJCU?= =?us-ascii?Q?u3Ma/uXR9mRClgruoN+splYJep6LmBojj4qRO52rnyY3g0cO6kVNnNejfOon?= =?us-ascii?Q?wp5KXI42njDmSVtQa7DHXpENXxuS5AnJ7ZgyWfrnUaB4/ePea0+NV+4yu3jZ?= =?us-ascii?Q?WlEHNBQpUfE3MpYi+V5eYD0ZgtpQsI+R/aqYA2i+Npii30LqdA2GGoIqLBEo?= =?us-ascii?Q?chGUfFcxl0Y+NFa60eeIjmbIK5SMAdj3aL0cZMiTvay7UbPoMhqKKvXoZdgg?= =?us-ascii?Q?II37zcTYWyWnUhd+z67MDDGR7hgGATZ1gfGOaOes9MbntjwlLa3hFFIyRNjI?= =?us-ascii?Q?clx+yL7qOmbTegkA8KFzLkyGtz5CGZb07GnbwI8e+Qz4kqJZ3mZU4Gzo7R6c?= =?us-ascii?Q?1/W3NrQeURsPGJfGB9g/AOk9H17qnoJ8mK3tHL1UG31s2JDdzNjr3T83hkoZ?= =?us-ascii?Q?munsMBwCCJFLhArefim2alOokUaCd+65lDNsarPE1N+eTM4uBv3ei8L2a84E?= =?us-ascii?Q?Lr21CKSciuAlE9wojYJuakGydEL/U8MfYR9JHP96OGn2NKgSXVkAHGaL6rW4?= =?us-ascii?Q?S4xr7PlRIkfJpeIUnP7EwOguM3HjPqRmqLSbRwqliysJRmzwt7fzreWgqzh9?= =?us-ascii?Q?kRkhIfE9SOnXZXlN/hK9v0FWLhk62Dvcz9Hi3gj7Eqf35p1XXhB/V7fwUGRj?= =?us-ascii?Q?z86Fez43j+TV6Q2ewnl8kcV6xPrnNmfExKb8t4mVf6DMjT0RdpMlQqIYVLlr?= =?us-ascii?Q?E02UL1sugtEczKCVHLAPq07eFoZdg4orgrPj0nFd9Eq7fmMCDfq1kQ5zvM+c?= =?us-ascii?Q?0UL2PN6e1Jzqi7IbROVXg6tTBIuxRQTsPkUtHdBncL6sJmrMBNzW/S68aZcU?= =?us-ascii?Q?bD5Cde3ji8Wu+87pB1UocnrIErRyQ6u2+UVF8bfDwWmCqOy1wTGuH88KUeJL?= =?us-ascii?Q?lHVIKJzEI3vjI3pMHhuo8/a9luE6lO7a?= X-Forefront-Antispam-Report: CIP:216.228.117.160; CTRY:US; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:mail.nvidia.com; PTR:dc6edge1.nvidia.com; CAT:NONE; SFS:(13230040)(36860700013)(1800799024)(82310400026)(376014); DIR:OUT; SFP:1101; X-OriginatorOrg: Nvidia.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 12 Aug 2024 13:03:53.5979 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 05a830ba-9264-45ab-a055-08dcbacf37c0 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.160]; Helo=[mail.nvidia.com] X-MS-Exchange-CrossTenant-AuthSource: SJ5PEPF00000209.namprd05.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: MN6PR12MB8470 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=c076f02992f0254d0082045607f6a485c10cc250 Thanks. Xueming Li --- >From c076f02992f0254d0082045607f6a485c10cc250 Mon Sep 17 00:00:00 2001 From: Zerun Fu Date: Tue, 2 Jul 2024 15:40:06 +0800 Subject: [PATCH] bus/pci: fix UIO resource mapping in secondary process Cc: Xueming Li [ upstream commit 9e0a0e38ecaa7efaca9d349737d0a5ef9ca33a57 ] For the primary process, the logic loops all BARs and will skip the map of BAR with an invalid physical address (0), also will assign 'uio_res->nb_maps' with the real mapped BARs number. But for the secondary process, instead of loops all BARs, the logic using the 'uio_res->nb_map' as index. If the device uses continuous BARs there will be no problem, whereas if it uses discrete BARs, it will lead to mapping errors. Fix this problem by also loops all BARs and skip the map of BAR with an invalid physical address in secondary process. Fixes: 9b957f378abf ("pci: merge uio functions for linux and bsd") Signed-off-by: Zerun Fu Reviewed-by: Chaoyong He Reviewed-by: Long Wu Reviewed-by: Peng Zhang Acked-by: Anatoly Burakov Reviewed-by: Chenbo Xia --- drivers/bus/pci/pci_common_uio.c | 16 +++++++++++++--- 1 file changed, 13 insertions(+), 3 deletions(-) diff --git a/drivers/bus/pci/pci_common_uio.c b/drivers/bus/pci/pci_common_uio.c index 76c661f054..f44ccdf27c 100644 --- a/drivers/bus/pci/pci_common_uio.c +++ b/drivers/bus/pci/pci_common_uio.c @@ -26,7 +26,7 @@ EAL_REGISTER_TAILQ(rte_uio_tailq) static int pci_uio_map_secondary(struct rte_pci_device *dev) { - int fd, i, j; + int fd, i = 0, j, res_idx; struct mapped_pci_resource *uio_res; struct mapped_pci_res_list *uio_res_list = RTE_TAILQ_CAST(rte_uio_tailq.head, mapped_pci_res_list); @@ -37,7 +37,15 @@ pci_uio_map_secondary(struct rte_pci_device *dev) if (rte_pci_addr_cmp(&uio_res->pci_addr, &dev->addr)) continue; - for (i = 0; i != uio_res->nb_maps; i++) { + /* Map all BARs */ + for (res_idx = 0; res_idx != PCI_MAX_RESOURCE; res_idx++) { + /* skip empty BAR */ + if (dev->mem_resource[res_idx].phys_addr == 0) + continue; + + if (i >= uio_res->nb_maps) + return -1; + /* * open devname, to mmap it */ @@ -71,7 +79,9 @@ pci_uio_map_secondary(struct rte_pci_device *dev) } return -1; } - dev->mem_resource[i].addr = mapaddr; + dev->mem_resource[res_idx].addr = mapaddr; + + i++; } return 0; } -- 2.34.1 --- Diff of the applied patch vs upstream commit (please double-check if non-empty: --- --- - 2024-08-12 20:44:06.840706855 +0800 +++ 0137-bus-pci-fix-UIO-resource-mapping-in-secondary-proces.patch 2024-08-12 20:44:02.555069385 +0800 @@ -1 +1 @@ -From 9e0a0e38ecaa7efaca9d349737d0a5ef9ca33a57 Mon Sep 17 00:00:00 2001 +From c076f02992f0254d0082045607f6a485c10cc250 Mon Sep 17 00:00:00 2001 @@ -4,0 +5,3 @@ +Cc: Xueming Li + +[ upstream commit 9e0a0e38ecaa7efaca9d349737d0a5ef9ca33a57 ] @@ -18 +20,0 @@ -Cc: stable@dpdk.org @@ -31 +33 @@ -index ff1b02b6bd..65f72b7cc6 100644 +index 76c661f054..f44ccdf27c 100644 @@ -60 +62 @@ -@@ -70,7 +78,9 @@ pci_uio_map_secondary(struct rte_pci_device *dev) +@@ -71,7 +79,9 @@ pci_uio_map_secondary(struct rte_pci_device *dev)