Message ID | 15-v2-545d29711869+a76b5-iommu_pages_jgg@nvidia.com (mailing list archive) |
---|---|
State | New |
Headers | show
Return-Path: <linux-rockchip-bounces+linux-rockchip=archiver.kernel.org@lists.infradead.org> X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from bombadil.infradead.org (bombadil.infradead.org [198.137.202.133]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.lore.kernel.org (Postfix) with ESMTPS id B754FC02198 for <linux-rockchip@archiver.kernel.org>; Fri, 14 Feb 2025 17:12:42 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=bombadil.20210309; h=Sender: Content-Transfer-Encoding:Content-Type:List-Subscribe:List-Help:List-Post: List-Archive:List-Unsubscribe:List-Id:MIME-Version:References:In-Reply-To: Message-ID:Date:Subject:Cc:To:From:Reply-To:Content-ID:Content-Description: Resent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID: List-Owner; bh=EGdl32p1y/zgqxFZeLQrEkQbHfE6Nuy9Ro16Se76psk=; b=nmfZRBQCBaJp1O UQTcI5IXfIBDEmpby0Ex7MXHkgzSc2mKz7ALKBMn3K7jfeybbSRRCKR4InbhSXfUfseTiDEm4mX+Z gnIwC/SwTeY2UB46eJkFRzPsFRdChSvAtssJkCIcQuGrc8rZRE9dTKYMe+2jNNAykwgUrQGF/x3ui fzGJEOjNXJcD5jQh9BrWo+gzvniJ0gqmyVqhiCyAN8wVcdo8193GQIfDfM1KyTMd6xY8YncKbnsOE cOPHmgkpJ6dPsx/geapLBI9AIf0wnoVCewnb2vrTHeDv/qpD8N3cuisAxvR02FJ6/uLTnGMaesRgu jqM/+Sg1VGuUReLide3g==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.98 #2 (Red Hat Linux)) id 1tizEx-0000000Fe7P-35B5; Fri, 14 Feb 2025 17:12:35 +0000 Received: from mail-mw2nam04on20602.outbound.protection.outlook.com ([2a01:111:f403:240a::602] helo=NAM04-MW2-obe.outbound.protection.outlook.com) by bombadil.infradead.org with esmtps (Exim 4.98 #2 (Red Hat Linux)) id 1tizAd-0000000FcpZ-2IRh; Fri, 14 Feb 2025 17:08:08 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=Ad4iqR7whvpTrMw9jpHEbYo+XTRK0x5DSu47lKl9wkUFegAClv+QSYwpS5uw0QG1nJ2yGy4Ad2kJthLT788aVbNGiiuxkeIQCdgfj8jQ3eCd4kWbDo0KEtMQSiNxdWYdr5cWjs6VAAzzQ03Y4Eoe27VKjbKx/1lDAwMW52W8LcNwL3UqMTMiAmV3lLk912Cw7KYJQp0TKznyAHvmMw5NiljH2AzYXdz2pqLcnjAxzERrQyHu2LkHNFLJGk9o5iHLUXWgEbO1jp+4A79K2C0wUm9TquG3d3qHalemVY7Ln13pWla4g4wkZLX3Wo756FgKhFxmu0oQYWPUxzp8Yw/z1A== 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=1kHBdLiM8EsPfQljrW84NWoTAP/CDelQRTX7MyrlSfc=; b=PJskPQnkLFay58DiKEwl5laLHHeyq0VBLsJQs4OFXiqKe5uX02q4uXMrBExckDUtw/RvN2bOzP+tpZ4Up+0q6v/+iBT+Thd+plaxTSjixgQ52vPTj5lTx2R6hRoURGSUXtpSe7EUF1eDD8caUCzsgi/pdguKa6QfOHFgiiVxg7sKtnk0GDU4J5GJk2eYf+FoXejSb6HbDP3K1Qh9tgpWavCwNHV+2qviDvAMtWIp4Z84ep+RiRQHeNKC56DtFVfrC/w1UXnqii65PwU3qEkNHi2iaXvuzPcfl9GjSWGtFuljn/Z9hrwtW0Ktd0kAAby3o8ZLcR2+RJ9KIFU79BLE+Q== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=nvidia.com; dmarc=pass action=none header.from=nvidia.com; dkim=pass header.d=nvidia.com; arc=none 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=1kHBdLiM8EsPfQljrW84NWoTAP/CDelQRTX7MyrlSfc=; b=E3Id5F+ZUEPEZ75hSeLVG6gqE/hD3OIQc+Dwi1CDFSjty9eVLTOABBNjvAS4dMuu4RMUUl5M8Hup07gNtUoONqhG7YFijgDOCrzuk9ljzS/qsiKoDZpNJMERWZtIfNtyNAbJn4y22G02XVIgfSBtoQlhX5D6OE7OXWOgDDRtbM/ZlGAEBl4E/eTFAGxhx0SWPULTdO0czAq3IDpLkoA5fMD/NDDpr2nghzP5uv90RhJZHnRgRh3vkvVzw7emhEEqhpxZWxf8IXoSarHDJRWBNJ1o7QHcROwCLg+x54YpZ3uhnrUnf3rCiZM4DHgp13g/AJzde9G7kO4uec6BX6ykKw== Authentication-Results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=nvidia.com; Received: from CH3PR12MB8659.namprd12.prod.outlook.com (2603:10b6:610:17c::13) by DS7PR12MB5768.namprd12.prod.outlook.com (2603:10b6:8:77::18) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8445.12; Fri, 14 Feb 2025 17:07:59 +0000 Received: from CH3PR12MB8659.namprd12.prod.outlook.com ([fe80::6eb6:7d37:7b4b:1732]) by CH3PR12MB8659.namprd12.prod.outlook.com ([fe80::6eb6:7d37:7b4b:1732%6]) with mapi id 15.20.8445.013; Fri, 14 Feb 2025 17:07:59 +0000 From: Jason Gunthorpe <jgg@nvidia.com> To: Alim Akhtar <alim.akhtar@samsung.com>, Alyssa Rosenzweig <alyssa@rosenzweig.io>, Albert Ou <aou@eecs.berkeley.edu>, asahi@lists.linux.dev, Lu Baolu <baolu.lu@linux.intel.com>, David Woodhouse <dwmw2@infradead.org>, Heiko Stuebner <heiko@sntech.de>, iommu@lists.linux.dev, Jernej Skrabec <jernej.skrabec@gmail.com>, Jonathan Hunter <jonathanh@nvidia.com>, Joerg Roedel <joro@8bytes.org>, Krzysztof Kozlowski <krzk@kernel.org>, linux-arm-kernel@lists.infradead.org, linux-riscv@lists.infradead.org, linux-rockchip@lists.infradead.org, linux-samsung-soc@vger.kernel.org, linux-sunxi@lists.linux.dev, linux-tegra@vger.kernel.org, Marek Szyprowski <m.szyprowski@samsung.com>, Hector Martin <marcan@marcan.st>, Palmer Dabbelt <palmer@dabbelt.com>, Paul Walmsley <paul.walmsley@sifive.com>, Robin Murphy <robin.murphy@arm.com>, Samuel Holland <samuel@sholland.org>, Suravee Suthikulpanit <suravee.suthikulpanit@amd.com>, Sven Peter <sven@svenpeter.dev>, Thierry Reding <thierry.reding@gmail.com>, Tomasz Jeznach <tjeznach@rivosinc.com>, Krishna Reddy <vdumpa@nvidia.com>, Chen-Yu Tsai <wens@csie.org>, Will Deacon <will@kernel.org> Cc: Bagas Sanjaya <bagasdotme@gmail.com>, Joerg Roedel <jroedel@suse.de>, Pasha Tatashin <pasha.tatashin@soleen.com>, patches@lists.linux.dev, David Rientjes <rientjes@google.com>, Matthew Wilcox <willy@infradead.org> Subject: [PATCH v2 15/23] iommu/pages: Move the __GFP_HIGHMEM checks into the common code Date: Fri, 14 Feb 2025 13:07:48 -0400 Message-ID: <15-v2-545d29711869+a76b5-iommu_pages_jgg@nvidia.com> In-Reply-To: <0-v2-545d29711869+a76b5-iommu_pages_jgg@nvidia.com> References: X-ClientProxiedBy: BL0PR02CA0046.namprd02.prod.outlook.com (2603:10b6:207:3d::23) To CH3PR12MB8659.namprd12.prod.outlook.com (2603:10b6:610:17c::13) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: CH3PR12MB8659:EE_|DS7PR12MB5768:EE_ X-MS-Office365-Filtering-Correlation-Id: 4e74a3f1-e1c9-41c6-caf3-08dd4d1a2145 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|1800799024|366016|376014|7416014|921020; X-Microsoft-Antispam-Message-Info: jwC5ODP86rV15J21QBqZasYmIB6xaM3/AkH+zx+ebsckgeWuhTA3Xhuxwhw51oFpijvIxPQp7mnOgTrIM2LGp3mJB76CPyz+oIrEw1yUT3ZzZ6LpWblzeHvt7Jpp8fVU0byegZDMB/acfLaXTxwbNfgC7U5dtdyLFmzdlY28zWswHm9WCL/cJAj3RBgtk4N9p8a+buIaURo0u1d0jPXFrWCymzVvpPZHx56MtG3za6zvuHXdAFGlYRbW7UTWnc3dY7hCWfR+DYYz4lsSU0UNG48VrzQOWZMmZ8ejvrRxhvmUt5htppn8/6LeDtL2GH7ELu9LMZ6TvER7Nn/ma453ExDTbdCNjm5FDVQcrOZrmXqVY+v6dFNi2dCKhINVxHBvmaGH+4cnmRKwB5m+Uk9ns4C3OPp5ni9NwBUvWKPoINDJ8/esrA4TqCWvuuGFHL3GUJArSNshiQ42jRk3jK4UgejllI03I2mOAHGBC9Ms9/8P/1GjNW+JH5jw1rhzjBM58GJENFrh3hcjIeVjOBsiEtdHMLhMcBgmaY/chGGcwdrEEQG21RiBdfGKXZ3npQDtin1kpIOs5Mriritxe3U+K/WkiWWOP4dTNJYTw3md8kW98z3OY+ls2tnBetARn/XCO8Q/ZQPgpfIJXw7k1uKZRs1rLAA4PGCYmL4f38uiN13kuKP0noib2ElI8t+UD8lUskVOT4mHgze9Z+Cce3bG+AqSQG49KTageZSxaK5Hmdux+A0cpI88kGK1UkyTg9PWvsTbDOnjJITapQeAbS/j0i/jGDcKLL/xr3sG0d6XEu90DhPYVpvnKPpKhNxnbgze6fYD+Y3idw/5ASj/Zkl5GLHOBhTPTpNlyrik7N+HTz+lkug3JHW1c+snfo6gvPUBfc+qEj7+aoB7HXJ2vdta5rVt+ocmyDrdtgKmJ/hcKVgNhHB7hqCjWuFVMKYgDv6q+p7MbMs+igRSTvVsXGjR6P8rUJg9iiNklm/5R61MCc7uw+W/7Qr/wd48kUM3YufAH1Ejg6FQZvosFW5A2v1XQ+EUsIyxhfZQJalJ95BCnqPXdSHevV71JK+x2QwjVVFqOnryU963fPrYk6mCJ9yySPORzxFp4+PYTg3IBoDcfD+UbWXn+1bXOWT7Nz/wvDaxlmFSecbzjwpbanKLwQmBqLkolPwv9Ff0mnDH7lbtK2UIA347aDHUWizDodz82v4NoDx69qpmHS1jdyIYItu0l1zizi6i/vbEBYXODw1bNrJsmUvmai4cL/dYpYkWT1uzrACjaffmgeXQLoBP719ek6/xCxa9/AfjJE9UKkvJJWP8HVsGioxjX4yzV8U04NyM8k7VMVPkoIRaCqPQNe/EQ35ipaKhQTZCyGc7BjxtjV4OS+WrgYNZTZD63nVAUGoI2BNjQ/Pw2E7wB9wlO0s84OIAzP9iMXweiQeQvm+qV9I= X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:CH3PR12MB8659.namprd12.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(1800799024)(366016)(376014)(7416014)(921020);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: T76/ir8464zoUOmzSMv8NO+JloBgeVNMrY8zrTXMVa5siPyfu3O6/Eh4iwoKGREXHp9Ly9/5M6CkjkMzgLnc0+M7ezXiCuYFTOqnYIWWakGrQ0JXCi5ZZNnDtA5F8QBuHLqMAfOujuB2uVdUnWOmYD676E77+3TWcNUe+WRWrFKkUfS9/hfnu0bToD13a2Smddk1XsIKz4HFdVrlBvxFtV3jonVcHJebf9mM445cQVmyhPK7Q7xCk4uoUkg+bEF79/BHy/Gm/2fkJquhoOiC7WeXoY7HZUaJBqX11oIIfbdKz1TdSdeLLxmLBQlRrx4OtD+qKYpxqf85mrfKGYRejtpG9MqeF3jHTLBqWxwKQmhH9f1WlGATwTMALlQKVI7UnBEpKa7qUvdtuyi2zlEmsQAY4g+bNv8dwZCKIbW/fDeyBOzQQ0gaT9tZymfX7hTY/vGMkKX4BHzGWXsfLAEU/J/C0o7dJwRCT1lFKr3lslFZ/MWTtv1ibe57Gi/vnuh1gPN9ay4SBOHx5dLLXuaMvJwJgXPmt3tvFadOeNpvJ7ljvZn5bcWtwpYzpcCCf7WvtHYiOn9gLJh3VS28m36EOUemfZbycDBMfAQkaVi+ue2cxqV5C3l5c01594HctBIGXS79CkOZd2Z4BmuxFiXRWQVTx1FOkJegPgf0nHKDX9bpfgVefh+d3lER64W4kO5VnzWROYiZMxnXzTi5mJuNxw/XqjEuGQUdx5if4bYWBE9HWLO9ljxFVvJGvRQ1033swRgDvH4EItLqInuKI5YGQ1qATJbudgofCxJqQLuChZwS37WHlZgvOoi0v23yDd3Q8BuIQffMCU75/bOnAxzPxo3fK+2itY62fI72ZF765WViZIdklaq9BPbURXd0HvSQyGApXBzPqMnchM3XKvOjoKWViAxFlBO0A1sd5fEvHCY1Mjorbhp+ss/hFos4oyn8QvvbWGGIYH8YLiPkKsyI1tZkpV4n70wkkZ+mMfcyJO15F0X8mr+5gOBea4kBPrplfn5aZe7TovUMOMg5wPmhgaJ5oxu5wxTrLaqdf9BBab0U4An6ZOWvXAMqRCpsBhOr2tFan0KuYcS4LYEJgrWpt+YUu+NvqEtZMkBLwL/URByUQoOZehwT9POubMEuR4r9XKCCiqOOipl7Qi1qsq2TErE8hQYxiCMGSNYSAj9HL5I/xnr10FswbBjUwDFlKzJf8F1nkO/y7/kGro4lhqzCwMSF7AVz8KdSbxihQ6bqQa9NUXdiI2SvEHDYxWWzV7Nb3QSVVyxVvmJwNYsVDt/8DyXF4i8MakxArn5Nw9GSVom7AfoxLzboCLPCaxIjU1WN5qeRyJRvEajQeB595lHHUU5HnNcYFvMZKZad00J5LN0xUxcEWZVOyvu1kMfYEtBKNWp224M8QuSMhgLtLisiv2J3BpnMgADmYomkuEvz/zWWI8e4c6sQ7UQLaLNR9j/x/5kTkPceiSigsvhLHqOfSxVIcq1LRcw2VVk4ofXxFJdPLk614lwlANMMOBKNqqze4SWGrSzX/f1hRhneZUq/bCki0y2ctDu5ZSicREF6U+haweOws2mzz5hZ22J+Ellj X-OriginatorOrg: Nvidia.com X-MS-Exchange-CrossTenant-Network-Message-Id: 4e74a3f1-e1c9-41c6-caf3-08dd4d1a2145 X-MS-Exchange-CrossTenant-AuthSource: CH3PR12MB8659.namprd12.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 14 Feb 2025 17:07:58.1085 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 43083d15-7273-40c1-b7db-39efd9ccc17a X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: UMFg0Cmmcq037seq/Drc+gkPVjXwEnFx3j1XR/BAQUSlzgIeR+9guLzlp9Mwj0pC X-MS-Exchange-Transport-CrossTenantHeadersStamped: DS7PR12MB5768 X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20250214_090807_586484_171A2376 X-CRM114-Status: GOOD ( 13.02 ) X-BeenThere: linux-rockchip@lists.infradead.org X-Mailman-Version: 2.1.34 Precedence: list List-Id: Upstream kernel work for Rockchip platforms <linux-rockchip.lists.infradead.org> List-Unsubscribe: <http://lists.infradead.org/mailman/options/linux-rockchip>, <mailto:linux-rockchip-request@lists.infradead.org?subject=unsubscribe> List-Archive: <http://lists.infradead.org/pipermail/linux-rockchip/> List-Post: <mailto:linux-rockchip@lists.infradead.org> List-Help: <mailto:linux-rockchip-request@lists.infradead.org?subject=help> List-Subscribe: <http://lists.infradead.org/mailman/listinfo/linux-rockchip>, <mailto:linux-rockchip-request@lists.infradead.org?subject=subscribe> Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Sender: "Linux-rockchip" <linux-rockchip-bounces@lists.infradead.org> Errors-To: linux-rockchip-bounces+linux-rockchip=archiver.kernel.org@lists.infradead.org |
Series |
iommu: Further abstract iommu-pages
|
expand
|
On 2/15/25 01:07, Jason Gunthorpe wrote: > The entire allocator API is built around using the kernel virtual address, > it is illegal to pass GFP_HIGHMEM in as a GFP flag. Block it in the common > code. Remove the duplicated checks from drivers. > > Signed-off-by: Jason Gunthorpe<jgg@nvidia.com> > --- > drivers/iommu/io-pgtable-arm.c | 2 -- > drivers/iommu/io-pgtable-dart.c | 1 - > drivers/iommu/iommu-pages.c | 4 ++++ > 3 files changed, 4 insertions(+), 3 deletions(-) Reviewed-by: Lu Baolu <baolu.lu@linux.intel.com>
diff --git a/drivers/iommu/io-pgtable-arm.c b/drivers/iommu/io-pgtable-arm.c index 62df2528d020b2..08d0f62abe8a09 100644 --- a/drivers/iommu/io-pgtable-arm.c +++ b/drivers/iommu/io-pgtable-arm.c @@ -267,8 +267,6 @@ static void *__arm_lpae_alloc_pages(size_t size, gfp_t gfp, dma_addr_t dma; void *pages; - VM_BUG_ON((gfp & __GFP_HIGHMEM)); - if (cfg->alloc) pages = cfg->alloc(cookie, size, gfp); else diff --git a/drivers/iommu/io-pgtable-dart.c b/drivers/iommu/io-pgtable-dart.c index 7efcaea0bd5c86..ebf330e67bfa30 100644 --- a/drivers/iommu/io-pgtable-dart.c +++ b/drivers/iommu/io-pgtable-dart.c @@ -111,7 +111,6 @@ static void *__dart_alloc_pages(size_t size, gfp_t gfp) { int order = get_order(size); - VM_BUG_ON((gfp & __GFP_HIGHMEM)); return iommu_alloc_pages(gfp, order); } diff --git a/drivers/iommu/iommu-pages.c b/drivers/iommu/iommu-pages.c index a6b8ef653fc427..0369f0d51c3412 100644 --- a/drivers/iommu/iommu-pages.c +++ b/drivers/iommu/iommu-pages.c @@ -37,6 +37,10 @@ void *iommu_alloc_pages_node(int nid, gfp_t gfp, unsigned int order) const unsigned long pgcnt = 1UL << order; struct folio *folio; + /* This uses page_address() on the memory. */ + if (WARN_ON(gfp & __GFP_HIGHMEM)) + return NULL; + /* * __folio_alloc_node() does not handle NUMA_NO_NODE like * alloc_pages_node() did.
The entire allocator API is built around using the kernel virtual address, it is illegal to pass GFP_HIGHMEM in as a GFP flag. Block it in the common code. Remove the duplicated checks from drivers. Signed-off-by: Jason Gunthorpe <jgg@nvidia.com> --- drivers/iommu/io-pgtable-arm.c | 2 -- drivers/iommu/io-pgtable-dart.c | 1 - drivers/iommu/iommu-pages.c | 4 ++++ 3 files changed, 4 insertions(+), 3 deletions(-)