From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from kanga.kvack.org (kanga.kvack.org [205.233.56.17]) (using TLSv1 with cipher DHE-RSA-AES256-SHA (256/256 bits)) (No client certificate requested) by smtp.lore.kernel.org (Postfix) with ESMTPS id 17032CA1005 for ; Tue, 2 Sep 2025 06:18:11 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 74D956B0029; Tue, 2 Sep 2025 02:18:10 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 7252D6B002A; Tue, 2 Sep 2025 02:18:10 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 5ED256B002B; Tue, 2 Sep 2025 02:18:10 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0016.hostedemail.com [216.40.44.16]) by kanga.kvack.org (Postfix) with ESMTP id 4A2FB6B0029 for ; Tue, 2 Sep 2025 02:18:10 -0400 (EDT) Received: from smtpin19.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay02.hostedemail.com (Postfix) with ESMTP id C588513B654 for ; Tue, 2 Sep 2025 06:18:08 +0000 (UTC) X-FDA: 83843305056.19.60C8379 Received: from mx0b-00069f02.pphosted.com (mx0b-00069f02.pphosted.com [205.220.177.32]) by imf24.hostedemail.com (Postfix) with ESMTP id 73B4218000F for ; Tue, 2 Sep 2025 06:18:05 +0000 (UTC) Authentication-Results: imf24.hostedemail.com; dkim=pass header.d=oracle.com header.s=corp-2025-04-25 header.b="YuQ8O/JE"; dkim=pass header.d=oracle.onmicrosoft.com header.s=selector2-oracle-onmicrosoft-com header.b=gId0sEEA; spf=pass (imf24.hostedemail.com: domain of lorenzo.stoakes@oracle.com designates 205.220.177.32 as permitted sender) smtp.mailfrom=lorenzo.stoakes@oracle.com; arc=pass ("microsoft.com:s=arcselector10001:i=1"); dmarc=pass (policy=reject) header.from=oracle.com ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1756793885; h=from:from:sender: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: in-reply-to:in-reply-to:references:references:dkim-signature; bh=7tQTsTAzf/NQiVvHcDJvmCJ53MlONkHx3co2dvgKM2M=; b=Mac5X/+/wNjlaSlL6/5UrzDm9NEldQfPxja8NATN6Q4/iRRFQWemhB09icMr52r4/xAvQF nlaMd3qS9jI1+h2b5oWoauEXHNX6HZc864fyTb/bRFPIGiTkTOsJZy3wq7X47mR1ZtwwFd y45s5UobvzNktwjwhoTjn+l0Y0aWsp0= ARC-Authentication-Results: i=2; imf24.hostedemail.com; dkim=pass header.d=oracle.com header.s=corp-2025-04-25 header.b="YuQ8O/JE"; dkim=pass header.d=oracle.onmicrosoft.com header.s=selector2-oracle-onmicrosoft-com header.b=gId0sEEA; spf=pass (imf24.hostedemail.com: domain of lorenzo.stoakes@oracle.com designates 205.220.177.32 as permitted sender) smtp.mailfrom=lorenzo.stoakes@oracle.com; arc=pass ("microsoft.com:s=arcselector10001:i=1"); dmarc=pass (policy=reject) header.from=oracle.com ARC-Seal: i=2; s=arc-20220608; d=hostedemail.com; t=1756793885; a=rsa-sha256; cv=pass; b=n3E/IKWSxXjTatTdUNSoEV57wGEDMFeCAAiH6DMlLw3Oec26Otsnu7LDs+Bsvuinwmjg+b gVMx0xNOgw4AQ22Nwsr3eDRqPX/UCcCbPltycnuynw3D4K82SxuMlY3ciPJCWWg87wWqbI TZRA2LkegW3w6tw7oeOrA7YLFyQV9zk= Received: from pps.filterd (m0246631.ppops.net [127.0.0.1]) by mx0b-00069f02.pphosted.com (8.18.1.2/8.18.1.2) with ESMTP id 5824g0Ur002871; Tue, 2 Sep 2025 06:17:36 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oracle.com; h=cc :content-type:date:from:in-reply-to:message-id:mime-version :references:subject:to; s=corp-2025-04-25; bh=7tQTsTAzf/NQiVvHcD JvmCJ53MlONkHx3co2dvgKM2M=; b=YuQ8O/JEvRwspIn+PjYsMBnFbbmCy7nRhu 8wcdU5wzU0wEawznHHgq1kQRrlwbj95tKD7kFiobm225NONT8SzRX+EkoVoM8N8Y uk1k2QSeJZ6uudzlXhMVnuK1HL/NDMuhbED5wHJGeqMc9NC7A09NW4ZfznGAk0AC 20fQSU5w5NxzI34lxwGEj6NVMDOShn2BP57an79ot1c10vqAThEZMyUM3Wb/woPq UsAxDeFf/6LKJxFzUgo4Hi7b0oGiarXz9XBEXxvx8TCgdLhn9L6LokQ1c9WacNAB oDv14WVyWCgPuDNy8K9UiZ2Wad4ynHb6DshaZLexVTGDcn+JUV1A== Received: from iadpaimrmta01.imrmtpd1.prodappiadaev1.oraclevcn.com (iadpaimrmta01.appoci.oracle.com [130.35.100.223]) by mx0b-00069f02.pphosted.com (PPS) with ESMTPS id 48ushvuah9-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Tue, 02 Sep 2025 06:17:35 +0000 (GMT) Received: from pps.filterd (iadpaimrmta01.imrmtpd1.prodappiadaev1.oraclevcn.com [127.0.0.1]) by iadpaimrmta01.imrmtpd1.prodappiadaev1.oraclevcn.com (8.18.1.2/8.18.1.2) with ESMTP id 5825eWO7011651; Tue, 2 Sep 2025 06:17:35 GMT Received: from nam02-bn1-obe.outbound.protection.outlook.com (mail-bn1nam02on2060.outbound.protection.outlook.com [40.107.212.60]) by iadpaimrmta01.imrmtpd1.prodappiadaev1.oraclevcn.com (PPS) with ESMTPS id 48uqrerc1c-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Tue, 02 Sep 2025 06:17:35 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=uCdP9F6PO/e8bd+qx2s0r3Qvxa18WIGeF+f3vFbljgkfD4HywuC6OKnk3uomeym6qH0Wx32VUqutkYrRuQUX98qVIE1mZhpFTSQg2xEgQygP6MAJZFej0LIvPgKDwEF5SRQ9iorOgSjmL4EXxzjAnkPC0F/HKnuailushFgQmE7qDmc/6xt6qsOhKd4PCdopxVh/Mnw6Kyp1dy6PK0crGCfFu00sWpN4dhj5ruYUz9GkpI3HMszZOq2TBkTwsnLR1D7IuqCH8RkfTxDTd27ZWV+8ePMcE6QI/D0EjJ4zIM/4k4FFJ4bomulFYKmbR1UADDHvLJerJNRTvcVmUJ4uuQ== 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=7tQTsTAzf/NQiVvHcDJvmCJ53MlONkHx3co2dvgKM2M=; b=xU7WAyKk/eMIMzNFtQXS6muNftdQz7zcIxl51mN/7xtKs4hzUwLXNylE8506TBYcSJSM2U0zPAl6K/kJ0njgJOTQKJwhmNtgIAniCjsxX0PGJbsPYiut8gyq5do3WziRRJehBp1UDlbj1snxImBgc6MIUoI+YY+p6YWpPRrW67RlwIgpxiCPkTmBkt5opUuTseIqWlYEXbAMFB1jVS9xwIal2CzZd2R86hYPZM2EScRpt/y6nPJ5MPmXWlcu7k9wuEuYVWBPv4pxVR1XxT8UI8xe7Gsu6tqVTK9aUXhaqH7TIOOZ9lHTR229eYk+U5OznxhniiRF/OSDHMAmDh98Cg== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=oracle.com; dmarc=pass action=none header.from=oracle.com; dkim=pass header.d=oracle.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oracle.onmicrosoft.com; s=selector2-oracle-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=7tQTsTAzf/NQiVvHcDJvmCJ53MlONkHx3co2dvgKM2M=; b=gId0sEEAPtEM14clNRUvcGuejz8onXE9g2gGF1f1zpfVR3Nm8A1HtRQhWJ1WZskjJxTkGxB8CDhUFKZXfSUClYiIBeqyT+ueTwjnW5YiNysOWznDCq/LzhV5OhrB0QOHRNdTMYTz297h17ZKiFmZRFITEoxeZ+RVEUSjIFeucGQ= Received: from DM4PR10MB8218.namprd10.prod.outlook.com (2603:10b6:8:1cc::16) by DS7PR10MB5928.namprd10.prod.outlook.com (2603:10b6:8:84::12) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9094.16; Tue, 2 Sep 2025 06:17:31 +0000 Received: from DM4PR10MB8218.namprd10.prod.outlook.com ([fe80::2650:55cf:2816:5f2]) by DM4PR10MB8218.namprd10.prod.outlook.com ([fe80::2650:55cf:2816:5f2%5]) with mapi id 15.20.9073.026; Tue, 2 Sep 2025 06:17:31 +0000 Date: Tue, 2 Sep 2025 07:17:29 +0100 From: Lorenzo Stoakes To: Max Kellermann Cc: akpm@linux-foundation.org, david@redhat.com, axelrasmussen@google.com, yuanchu@google.com, willy@infradead.org, hughd@google.com, mhocko@suse.com, linux-kernel@vger.kernel.org, linux-mm@kvack.org, Liam.Howlett@oracle.com, vbabka@suse.cz, rppt@kernel.org, surenb@google.com, vishal.moola@gmail.com, linux@armlinux.org.uk, James.Bottomley@hansenpartnership.com, deller@gmx.de, agordeev@linux.ibm.com, gerald.schaefer@linux.ibm.com, hca@linux.ibm.com, gor@linux.ibm.com, borntraeger@linux.ibm.com, svens@linux.ibm.com, davem@davemloft.net, andreas@gaisler.com, dave.hansen@linux.intel.com, luto@kernel.org, peterz@infradead.org, tglx@linutronix.de, mingo@redhat.com, bp@alien8.de, x86@kernel.org, hpa@zytor.com, chris@zankel.net, jcmvbkbc@gmail.com, viro@zeniv.linux.org.uk, brauner@kernel.org, jack@suse.cz, weixugc@google.com, baolin.wang@linux.alibaba.com, rientjes@google.com, shakeel.butt@linux.dev, thuth@redhat.com, broonie@kernel.org, osalvador@suse.de, jfalempe@redhat.com, mpe@ellerman.id.au, nysal@linux.ibm.com, linux-arm-kernel@lists.infradead.org, linux-parisc@vger.kernel.org, linux-s390@vger.kernel.org, sparclinux@vger.kernel.org, linux-fsdevel@vger.kernel.org Subject: Re: [PATCH v6 12/12] mm: constify highmem related functions for improved const-correctness Message-ID: References: <20250901205021.3573313-1-max.kellermann@ionos.com> <20250901205021.3573313-13-max.kellermann@ionos.com> Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20250901205021.3573313-13-max.kellermann@ionos.com> X-ClientProxiedBy: LO4P123CA0188.GBRP123.PROD.OUTLOOK.COM (2603:10a6:600:1a4::13) To DM4PR10MB8218.namprd10.prod.outlook.com (2603:10b6:8:1cc::16) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: DM4PR10MB8218:EE_|DS7PR10MB5928:EE_ X-MS-Office365-Filtering-Correlation-Id: f99983b1-23ae-4463-fd2c-08dde9e86674 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|376014|7416014|366016|1800799024|7053199007; X-Microsoft-Antispam-Message-Info: =?us-ascii?Q?w0cug8MhRXenhV1H91bRoEa+9Nwn73A9+vu2CLuYTa6+L5/XjEcS7Ttk5GUV?= =?us-ascii?Q?eKaMnoTUzC3SO1jp0QN7kjXm1hxsi0+nveza5T6B4oCQy+NhVLv426WGZDLK?= =?us-ascii?Q?3cnPwtRW/kLFoajW3vBvdDu5PNUlyDlNbOs1XUN/EZO02oTkzQuWYhUQMX6H?= =?us-ascii?Q?uW51LfzUicmXB+Cp/xZI7vS5+66YoxLf1JOjx0cmTuIhCYYM+qLT7vgjmUlN?= =?us-ascii?Q?aWSn5nLluKs40vLyBvT0M3jrgc/8C3LtE9lOL3/+AavCMqaNJfUf6QiJXuV4?= =?us-ascii?Q?vkhl759bOl8JooahHNKagryEJrYVwKJcFaqwXO7Jc/Zu1hYXuQXhMw1M2gBT?= =?us-ascii?Q?B+vKtY7nOFwqyWn1PqedxQ1zPhTpzaOpf0+fWUnjaTAYjYbsc3C1scawnrGi?= =?us-ascii?Q?/6mh9YqZ7pv3zKFluGzLSduUBYFxzDT1IUg6ths7P9J54PnUeUm4nOKwqiFq?= =?us-ascii?Q?A+m9X/CVkHkoNfWc8wPxPmYIsN3dWoJVkiDWpGqQPB+oC2LFrkTyFss2kdTz?= =?us-ascii?Q?YFpE0+cqrMUCdrasKkpHXj4s2BHnflRbT2cUYt4uaqiD/89kVYgZcPNigvoU?= =?us-ascii?Q?pkr1NQnQRM11IT0ocqY8WQzcogSiVjatG5h0fdzgDPfRoIEZiSH9jqBSljGF?= =?us-ascii?Q?Cp8/mjWy5+I42BpCvW0Nm1u+Iv9eCRARHg+RsUzju39JftB1sVU/61R55Qqs?= =?us-ascii?Q?P5VelA8W9Do5lObbJZeta6k6dQ3ZtREx9G76RU3oZSnhNTY4wCfmYuIs7bUV?= =?us-ascii?Q?kcdbZEzcOxSC20jrfICGFVEG+GNb6jIb7jY0jAGvOPKETcc5v72Eo6bLgj1D?= =?us-ascii?Q?9H+oqacWETux1SDx0x44J2vHR7w7UNGiM5+C4jsvw6xJZCLaa2w3KYPFe7zl?= =?us-ascii?Q?F9C0ZZ/VgD4GBxAj1I0aOsosIXz1qyJFfP/MbwZBDO9ecWSbNtFxXlLNmXG9?= =?us-ascii?Q?V+559LQX4gfdJalKj++EE+Yh+jz1P3RQSoxWYCXmHsQZmnrgDDJjp2hw86+M?= =?us-ascii?Q?qBIhlwOA2OC/wgnBDIMs+UEvhhdfVwlFmQ1ptXCpvhDnS3w+Qq5orbK0vX6m?= =?us-ascii?Q?P2AO2sCBWZWgEeFR6is3RX1unyhNM225rG8pFwFImYI5E9Z0b/bo+BUgzLAC?= =?us-ascii?Q?lYhDat08lqNyTA1ebURp/EG7tmX+7nBaafxnpvUlh+BzEvYhlat177X9aUdz?= =?us-ascii?Q?ZExcgugBpJn7U+ii23ZMJc+De7RyhiY4DjO/DyV0CnHlanzUYxDIPjvF6JYl?= =?us-ascii?Q?CQVfzWW21JN3iKoml0P2HSQpxFwt3xiOKPJS/Zj4SEb7dBX750imWfoLWwh+?= =?us-ascii?Q?D8wW76i7S9DjOAs1gYTHNz/FliCnf8gUbtNBApKujO8j9nQoQE07JPH8/kG5?= =?us-ascii?Q?w3FZejAzgIc/uavIDVENe05Lg2yRbKT4lcF2r7tS1mSFC503ke9YEVn9Rhq6?= =?us-ascii?Q?LKAYXiTRIDQ=3D?= X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DM4PR10MB8218.namprd10.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(376014)(7416014)(366016)(1800799024)(7053199007);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?wrGuUVxohk1YYKvWbR2C1suro0ZXLgpGCwfqL006yS8EECCLwSXUBpO4tRpi?= =?us-ascii?Q?0sDGDoZlT062C1PenTGWutmyrUuvyQMJ1K/K199JilOeHn+WiAeUsyr2aYOC?= =?us-ascii?Q?ubqLyvLpmAgdsEjptvITn8mMLsApQbpqmlCzXFgLi1JuTR+0yUxLLttB0pj6?= =?us-ascii?Q?TI7ulPLUJ4tmEwM17s82eBqGWa3ELbM0DOjnddoKm0G7MyJl3P6eBZHbdzg5?= =?us-ascii?Q?whxqN4pEseTP1wrU9QH/TrnDRpjajr3R8G3BrIdH01426qZbHTKErCYQfYXe?= =?us-ascii?Q?pZECOx4dIVisfPLKkrEloEcZdnmPrPot2+mZQYz/ZecCD8Xa2T4GtGlKjKWS?= =?us-ascii?Q?lSjlfEp6fSUWcQ80j8z+fV/1I1oAxFXxiJyU7ncmgUbM0ZR9zCLIkwAXq6FA?= =?us-ascii?Q?OBmkd3e820IwFi1x8VCjhmDMqE1Uxw7uwYVZmwz88fw3DSYeeFlmrrAwHH8J?= =?us-ascii?Q?0wFwVblR/jgQcvQ71YNsgsdUmkAzaJL6j6oWBHIvLrTD/6FGoG4LJwzBH3TY?= =?us-ascii?Q?1NFpMMBMThRvlUfdJqIIg8DDw5LW5hBJineGIbk98Okvy+sdhwB3+Mgt0Cwk?= =?us-ascii?Q?OEqfzmlxpJZjE2IyGTPs38GpFL3OZlKN6C5LiAi5aTUqFwOmXtcHIyfXv/Vm?= =?us-ascii?Q?qzjSM1LKjOrCYPrm6D4ocINAty7G1WRvhUjNpCttJ3aB8mnRVbGOTkKlqJ1K?= =?us-ascii?Q?QXSqR7pQgVkAgPPgZcnVW11/JJYYarzUu390GhxR43nxX7Rkg1mEZwEhvOaJ?= =?us-ascii?Q?LsjUkhGTkfX7ExHaW6jM66CEQ7QbnXF9KRRSkQpA53GMM30bnlfpVztK0ujY?= =?us-ascii?Q?HM4CDpDnTx7kM9k2jyFjBX0Q8jc7VnZephv/o+Js9GiSwcwgDq6pOjiODK7P?= =?us-ascii?Q?9bwzZjntJuefVyB+FAfO6k5nrV/LZ2oaemPUOaFVMpTy+BvQ7dC1wZJEe8kv?= =?us-ascii?Q?R3Y9WypSjmGK88WZJcVgQFqXo7p12devYfMuFEhz4PU+GFkwJH0io1CCF2Me?= =?us-ascii?Q?uNx2vxellzNcrxzYzIj2FdhvlFl/h2PAHfuP9ljOCIg11Q6Ux/DfTKXDG40i?= =?us-ascii?Q?nsQ0MwhdNfLbYzzH9WDna9YOsBC3h/n/2aObTSlILzusTQIejLiJCbdoe6vB?= =?us-ascii?Q?CwzA2uuefDaOL5OWecPCa1jF+sEYtSNVFt3mCZo8/UzfukuWATgtUIs2D2Wu?= =?us-ascii?Q?Mr0/AZNCbFRD/X6pAdrdaB5y3GudWzqU72mKC/GvaLz/g8zazjqgLQJ+rmdF?= =?us-ascii?Q?HFivPOvWqqChlidxA6ZkzOL6u85nLfmLcfNCwHNoytIdBNzE6Dk7AiDw6v+J?= =?us-ascii?Q?dX1CKs5y66eAsS0FFZ4VLPuwMhizm6J7d36umltPMD4mf0EReyFAC4nFn/ZI?= =?us-ascii?Q?SfsX+C+uzXMRY7UcD20cXvgu3QZSgH6hXKfrFOghlbs59ut9EKEm30yt0zUM?= =?us-ascii?Q?wvm1AdpZ0eUjyvggHa55zo20x1ktXdCKVCNRsug+xB6+bS3gyi6Oq698Thnb?= =?us-ascii?Q?VlASsWgnlKuCk5CdyVinCphekdJKtjHr3ZLFWW3FsuIqzJdUdkzPwSfAbOwz?= =?us-ascii?Q?b5LGu0xHAP5PzvsSo8nmppCVLvsLUpMTgggfUhFrleGkonVy3wcmiYdy8sEg?= =?us-ascii?Q?2A=3D=3D?= X-MS-Exchange-AntiSpam-ExternalHop-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-ExternalHop-MessageData-0: pvrabymSP6NGYua/RvBMN+reNaaeZweBNdVbfI/Dj03jfh4mX6wIRvpPBss8pj95jdmO/L4SKiVb8oQztncPY7uN1T1vgKREuRjquHcLH5nukARvhUzAmSHwA61sy05QXmKP7Vuinf0x3t9gymfPJZG+8FBOWAuiiqhnhVaQXGte/kuRCUHO3ETIU4ORxlX6OgJ+cF7tFN8mL2edVCMiTv4CrjW3+8HcMlqWkYLFyoD3qZD2cU2vwnXubMkroJ1kmMCU+miuu8luqJuPlHqO5ICwHSpfuHLblcxGPXq9tP9sd7uFIVrGZiQbGVHucCdfQoK8C1T5hdnN/TDgx3LO8rCG9jqNavjtWjsljFATuwjOT0gq/fuh7Gx+6uf7tc1nycxh3IqMrUDw8kLx3tjX7pDwRSKsSdpfbmBjt/SomFIQwwpILvB35B7dQXt5mRuUFyfeSS3Mi4Yl3UGAgqcOrjIrCnfIahGr8c7GARoEhfXlAKaLe+OYftmh7BlCGCZX1GQFpIl+2+TTo8MVvLaLns6lSTEGhwu3iSEfr5DWKJiiwpu4Z6h37GaJjON5l1wHZk8vdIfAkC80xeWIytlLFoISpqYMaE9acK1La+iPk78= X-OriginatorOrg: oracle.com X-MS-Exchange-CrossTenant-Network-Message-Id: f99983b1-23ae-4463-fd2c-08dde9e86674 X-MS-Exchange-CrossTenant-AuthSource: DM4PR10MB8218.namprd10.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 02 Sep 2025 06:17:31.8834 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 4e2c6054-71cb-48f1-bd6c-3a9705aca71b X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: imhm78tcPYwXOUz58JBwbKQNHMuizAB4gSqht75X4ynPINlL7lOpBaUGDME1c9OyjMo6pFRX17U++tKWWpjL4PMMHRvyO+b6TTynu/FngeE= X-MS-Exchange-Transport-CrossTenantHeadersStamped: DS7PR10MB5928 X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1099,Hydra:6.1.9,FMLib:17.12.80.40 definitions=2025-09-02_01,2025-08-28_01,2025-03-28_01 X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 suspectscore=0 phishscore=0 bulkscore=0 adultscore=0 mlxlogscore=999 malwarescore=0 mlxscore=0 spamscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2508110000 definitions=main-2509020060 X-Proofpoint-Spam-Details-Enc: AW1haW4tMjUwODMwMDAzMiBTYWx0ZWRfX0ZSRVaFT0mHb 4T2tNgQRV50OPT27QxibLCLo8i6DkJeO3vAfrfhAAopipNBIbhgX+7jdMNDy4NZnaf+VoenATqZ CpYdVb6zq3sblxLUbojau7drM/1EcphadQD+TocVqT627yDbJ451ma8oz7irnHmxiwivjAdHvSy Q7gqlO6z/7WQsDqXoPtNZmvu1TOBgUWvbQXxmw0le47dzPI0N+OWbBcJsQkMggVD8DuzMWL1L9A 9g1cmg8ocSFdC2r9fA5bFX8LTLvFbzKAnvzlsg/wmuGaEA3kw6BbH8aUuySeIR8FwddLQmu+MKA O2Sfokt858HGGVeJowG7ssQ3thj4DVoxA61fsd2RSN1GocKknh2/k5TJklz9jgKZe8g5l43KXxE bEwg9dSCpt2r+d5zX2hrGHT+flP1hg== X-Authority-Analysis: v=2.4 cv=fZaty1QF c=1 sm=1 tr=0 ts=68b68c00 b=1 cx=c_pps a=zPCbziy225d3KhSqZt3L1A==:117 a=zPCbziy225d3KhSqZt3L1A==:17 a=6eWqkTHjU83fiwn7nKZWdM+Sl24=:19 a=z/mQ4Ysz8XfWz/Q5cLBRGdckG28=:19 a=lCpzRmAYbLLaTzLvsPZ7Mbvzbb8=:19 a=wKuvFiaSGQ0qltdbU6+NXLB8nM8=:19 a=Ol13hO9ccFRV9qXi2t6ftBPywas=:19 a=xqWC_Br6kY4A:10 a=kj9zAlcOel0A:10 a=yJojWOMRYYMA:10 a=GoEa3M9JfhUA:10 a=UgJECxHJAAAA:8 a=yPCof4ZbAAAA:8 a=c1qRhdn-lT5j9CpT88IA:9 a=CjuIK1q_8ugA:10 a=-El7cUbtino8hM1DCn8D:22 cc=ntf awl=host:12068 X-Proofpoint-ORIG-GUID: 8toEjt2q70yu-s1fPB7pknqxHhUuAIns X-Proofpoint-GUID: 8toEjt2q70yu-s1fPB7pknqxHhUuAIns X-Stat-Signature: x5b8ky7cr8wn475bdqpxbyfhorwifcw7 X-Rspam-User: X-Rspamd-Queue-Id: 73B4218000F X-Rspamd-Server: rspam05 X-HE-Tag: 1756793885-508752 X-HE-Meta: U2FsdGVkX1+z8vHduEnl33OmXn7gchru7OSJ7dfak2+Rnczh4zQQIByOCkanmD/EC0/cJjS6ujMSOS1mgyRYKRXzHvHaUjNm/YSHY4uAelPdtH1N2ch4S9XO/5rcjfwYL3r8g7Gp2etLMuHLInna56oYFGRNxyRvPVUbcJt4UVP5C/5vdMhlHCDHfv+kBIBTtrAf4sirt1p6Vtp/NLcImj7BfVMPsx7KW6iJZxrcIp5AOCGJqfVhgqk1o/M4P6gk35G36rO0z60Ajj7JVISrtneP9sKfz+JXJsh0B45OwTj1tvEd5GLlVMVcUR8ztkpHbq82cQctYN8PFOe+vzXNEeW04eyiAGJAKAOgUoDlV5cx0XOhwcPm6sGy976djP+BrofJPrJlGJpuxTbR2RWQlGYELDmFC0N/c8qhRMYIhB+8CF75B4Vej2+p71O0AdhyZPeKRFSoUcvuRhfTWFXkFpWkGDNvwpK9ft14eGMnb4uTawRk1/cRpuT/FHk0UyjDrChROHhin8Nf/pXdduHNDwNGwP/hYWaNZ49xQNYjnDZOhXZEkmT2BI2+94cKZfwzJs11FcdBH+s7ZAnMmM3jbUJj/6YwWbIfh0/qtyWqh99D3p+SNOS2IXSQmrbPBzYgp1TQAOToYbtOvDa/ba0zr+5a6lZaf/U0giqL8lx8sPtXSSD8kWswTL1MGqkC9qkZXzcM4VGKwOpvLwu/URPCIVaWpZo6xP59KUSfsKqi6bsIteUiUkE68CdaYiqxAn1lFncRzw5MtLx1abyfencRHXQpNhMpPdmDfnV+hGvGijs8DWANwaGJTCzL6FQAlHQfRC1eRTES8XZVBAUEUMW9rCzGy5S03pwQMUhY0NNf5R/Ju32zfTR2TqyOYcBP4TI/gy4quN59zqFluX0gEv4Bq1g9Yt3f6R2Jko18b6sua3uz3uHXmYB5ubbJiDx5u6hN/vMNT6Fwi37nk7Op3Js Ds+2okaX Y7evUMlHicdRA0tyAOR/zwb0hYbODmgiOBckWSibOstYRuaizZzX9rYqnOB/jzn1WM3vjFU55s/3bpVrbSioV8ew8LY0ue7dohVfzu2vc6C+rrNVBIDMOLg56tx2SkRLIZZojB8838dnfuV2753xkcTptCenj+7E3cB8MGWwqkeWsaMvm7SHe+iDXW8/Izd12WpgtLTzSsYP5xkvtOf9calINfW8FP6PCg+6IaQiFwr9Usyt099lrl10W01kKZVARb69+OboP+3whkutg9PTFgpVTecPKqrN5ylKqiIVhSA1359cxJvC+VBmHrZKFlhPbcePC1WGOkO3UxOSxuO4HDldjv1ih65Ma+vOXpsbEZIRmTNrZ1vfMqnVsUHtIqQd73dMc4GGHQ6gjvYylaPbqMROp6IR/a9ZFKVO+pJ4QQ6uLV9k80L4HkcJraOIay5soKgRrPty6NtLMvKX+OWtLj902WFFins1hf6ZuWuSh+FVxep04DaQnW+VhtvNByDk51K4qI+yGrjFiUAI/Yt+Sk6lbTm2inGCyQRGEFYjssTAj+9Mmlp8nTiE9LWvloxvaYxZkPOCNH1H1bQYGO7cA6s8uEQCXRE7ikLQV7KDN9XGQmiBU4+TNpdZQlK5yA2dlwSQG7AeUkODySEKGII+0vXkbFMb3a0CkOKb8qGmmaWlitytU1k/bYrW0tR1KgeJ4fJ0BVy36CMzG3Gce1164P62MWw4UZTzYQkkOMQR93YXTEIhB/8GVbyQc7pyhtvPvsFWEQgnQnSCc61uhmUSjXOG2eVP/LiMe0lJy0L0wsz8vmk/hxWO+2nsq0lM+bU059JowYzSJzxmIsApQif/qRNzr8EzmSNpOr2CWgzfkP2QChv0DiwF3rLKDYpgu43t3DzQ9eq5YPeBFVAK8IjW0jFi+vg== X-Bogosity: Ham, tests=bogofilter, spamicity=0.000000, version=1.2.4 Sender: owner-linux-mm@kvack.org Precedence: bulk X-Loop: owner-majordomo@kvack.org List-ID: List-Subscribe: List-Unsubscribe: On Mon, Sep 01, 2025 at 10:50:21PM +0200, Max Kellermann wrote: > Lots of functions in mm/highmem.c do not write to the given pointers > and do not call functions that take non-const pointers and can > therefore be constified. > > This includes functions like kunmap() which might be implemented in a > way that writes to the pointer (e.g. to update reference counters or > mapping fields), but currently are not. > > kmap() on the other hand cannot be made const because it calls > set_page_address() which is non-const in some > architectures/configurations. > > Signed-off-by: Max Kellermann LGTM, so: Reviewed-by: Lorenzo Stoakes > --- > arch/arm/include/asm/highmem.h | 6 +++--- > arch/xtensa/include/asm/highmem.h | 2 +- > include/linux/highmem-internal.h | 36 +++++++++++++++---------------- > include/linux/highmem.h | 8 +++---- > mm/highmem.c | 10 ++++----- > 5 files changed, 31 insertions(+), 31 deletions(-) > > diff --git a/arch/arm/include/asm/highmem.h b/arch/arm/include/asm/highmem.h > index b4b66220952d..bdb209e002a4 100644 > --- a/arch/arm/include/asm/highmem.h > +++ b/arch/arm/include/asm/highmem.h > @@ -46,9 +46,9 @@ extern pte_t *pkmap_page_table; > #endif > > #ifdef ARCH_NEEDS_KMAP_HIGH_GET > -extern void *kmap_high_get(struct page *page); > +extern void *kmap_high_get(const struct page *page); > > -static inline void *arch_kmap_local_high_get(struct page *page) > +static inline void *arch_kmap_local_high_get(const struct page *page) > { > if (IS_ENABLED(CONFIG_DEBUG_HIGHMEM) && !cache_is_vivt()) > return NULL; > @@ -57,7 +57,7 @@ static inline void *arch_kmap_local_high_get(struct page *page) > #define arch_kmap_local_high_get arch_kmap_local_high_get > > #else /* ARCH_NEEDS_KMAP_HIGH_GET */ > -static inline void *kmap_high_get(struct page *page) > +static inline void *kmap_high_get(const struct page *page) > { > return NULL; > } > diff --git a/arch/xtensa/include/asm/highmem.h b/arch/xtensa/include/asm/highmem.h > index 34b8b620e7f1..b55235f4adac 100644 > --- a/arch/xtensa/include/asm/highmem.h > +++ b/arch/xtensa/include/asm/highmem.h > @@ -29,7 +29,7 @@ > > #if DCACHE_WAY_SIZE > PAGE_SIZE > #define get_pkmap_color get_pkmap_color > -static inline int get_pkmap_color(struct page *page) > +static inline int get_pkmap_color(const struct page *page) > { > return DCACHE_ALIAS(page_to_phys(page)); > } > diff --git a/include/linux/highmem-internal.h b/include/linux/highmem-internal.h > index 36053c3d6d64..0574c21ca45d 100644 > --- a/include/linux/highmem-internal.h > +++ b/include/linux/highmem-internal.h > @@ -7,7 +7,7 @@ > */ > #ifdef CONFIG_KMAP_LOCAL > void *__kmap_local_pfn_prot(unsigned long pfn, pgprot_t prot); > -void *__kmap_local_page_prot(struct page *page, pgprot_t prot); > +void *__kmap_local_page_prot(const struct page *page, pgprot_t prot); > void kunmap_local_indexed(const void *vaddr); > void kmap_local_fork(struct task_struct *tsk); > void __kmap_local_sched_out(void); > @@ -33,7 +33,7 @@ static inline void kmap_flush_tlb(unsigned long addr) { } > #endif > > void *kmap_high(struct page *page); > -void kunmap_high(struct page *page); > +void kunmap_high(const struct page *page); > void __kmap_flush_unused(void); > struct page *__kmap_to_page(void *addr); > > @@ -50,7 +50,7 @@ static inline void *kmap(struct page *page) > return addr; > } > > -static inline void kunmap(struct page *page) > +static inline void kunmap(const struct page *page) > { > might_sleep(); > if (!PageHighMem(page)) > @@ -68,12 +68,12 @@ static inline void kmap_flush_unused(void) > __kmap_flush_unused(); > } > > -static inline void *kmap_local_page(struct page *page) > +static inline void *kmap_local_page(const struct page *page) > { > return __kmap_local_page_prot(page, kmap_prot); > } > > -static inline void *kmap_local_page_try_from_panic(struct page *page) > +static inline void *kmap_local_page_try_from_panic(const struct page *page) > { > if (!PageHighMem(page)) > return page_address(page); > @@ -81,13 +81,13 @@ static inline void *kmap_local_page_try_from_panic(struct page *page) > return NULL; > } > > -static inline void *kmap_local_folio(struct folio *folio, size_t offset) > +static inline void *kmap_local_folio(const struct folio *folio, size_t offset) > { > - struct page *page = folio_page(folio, offset / PAGE_SIZE); > + const struct page *page = folio_page(folio, offset / PAGE_SIZE); > return __kmap_local_page_prot(page, kmap_prot) + offset % PAGE_SIZE; > } > > -static inline void *kmap_local_page_prot(struct page *page, pgprot_t prot) > +static inline void *kmap_local_page_prot(const struct page *page, pgprot_t prot) > { > return __kmap_local_page_prot(page, prot); > } > @@ -102,7 +102,7 @@ static inline void __kunmap_local(const void *vaddr) > kunmap_local_indexed(vaddr); > } > > -static inline void *kmap_atomic_prot(struct page *page, pgprot_t prot) > +static inline void *kmap_atomic_prot(const struct page *page, pgprot_t prot) > { > if (IS_ENABLED(CONFIG_PREEMPT_RT)) > migrate_disable(); > @@ -113,7 +113,7 @@ static inline void *kmap_atomic_prot(struct page *page, pgprot_t prot) > return __kmap_local_page_prot(page, prot); > } > > -static inline void *kmap_atomic(struct page *page) > +static inline void *kmap_atomic(const struct page *page) > { > return kmap_atomic_prot(page, kmap_prot); > } > @@ -173,32 +173,32 @@ static inline void *kmap(struct page *page) > return page_address(page); > } > > -static inline void kunmap_high(struct page *page) { } > +static inline void kunmap_high(const struct page *page) { } > static inline void kmap_flush_unused(void) { } > > -static inline void kunmap(struct page *page) > +static inline void kunmap(const struct page *page) > { > #ifdef ARCH_HAS_FLUSH_ON_KUNMAP > kunmap_flush_on_unmap(page_address(page)); > #endif > } > > -static inline void *kmap_local_page(struct page *page) > +static inline void *kmap_local_page(const struct page *page) > { > return page_address(page); > } > > -static inline void *kmap_local_page_try_from_panic(struct page *page) > +static inline void *kmap_local_page_try_from_panic(const struct page *page) > { > return page_address(page); > } > > -static inline void *kmap_local_folio(struct folio *folio, size_t offset) > +static inline void *kmap_local_folio(const struct folio *folio, size_t offset) > { > return folio_address(folio) + offset; > } > > -static inline void *kmap_local_page_prot(struct page *page, pgprot_t prot) > +static inline void *kmap_local_page_prot(const struct page *page, pgprot_t prot) > { > return kmap_local_page(page); > } > @@ -215,7 +215,7 @@ static inline void __kunmap_local(const void *addr) > #endif > } > > -static inline void *kmap_atomic(struct page *page) > +static inline void *kmap_atomic(const struct page *page) > { > if (IS_ENABLED(CONFIG_PREEMPT_RT)) > migrate_disable(); > @@ -225,7 +225,7 @@ static inline void *kmap_atomic(struct page *page) > return page_address(page); > } > > -static inline void *kmap_atomic_prot(struct page *page, pgprot_t prot) > +static inline void *kmap_atomic_prot(const struct page *page, pgprot_t prot) > { > return kmap_atomic(page); > } > diff --git a/include/linux/highmem.h b/include/linux/highmem.h > index 6234f316468c..105cc4c00cc3 100644 > --- a/include/linux/highmem.h > +++ b/include/linux/highmem.h > @@ -43,7 +43,7 @@ static inline void *kmap(struct page *page); > * Counterpart to kmap(). A NOOP for CONFIG_HIGHMEM=n and for mappings of > * pages in the low memory area. > */ > -static inline void kunmap(struct page *page); > +static inline void kunmap(const struct page *page); > > /** > * kmap_to_page - Get the page for a kmap'ed address > @@ -93,7 +93,7 @@ static inline void kmap_flush_unused(void); > * disabling migration in order to keep the virtual address stable across > * preemption. No caller of kmap_local_page() can rely on this side effect. > */ > -static inline void *kmap_local_page(struct page *page); > +static inline void *kmap_local_page(const struct page *page); > > /** > * kmap_local_folio - Map a page in this folio for temporary usage > @@ -129,7 +129,7 @@ static inline void *kmap_local_page(struct page *page); > * Context: Can be invoked from any context. > * Return: The virtual address of @offset. > */ > -static inline void *kmap_local_folio(struct folio *folio, size_t offset); > +static inline void *kmap_local_folio(const struct folio *folio, size_t offset); > > /** > * kmap_atomic - Atomically map a page for temporary usage - Deprecated! > @@ -176,7 +176,7 @@ static inline void *kmap_local_folio(struct folio *folio, size_t offset); > * kunmap_atomic(vaddr2); > * kunmap_atomic(vaddr1); > */ > -static inline void *kmap_atomic(struct page *page); > +static inline void *kmap_atomic(const struct page *page); > > /* Highmem related interfaces for management code */ > static inline unsigned long nr_free_highpages(void); > diff --git a/mm/highmem.c b/mm/highmem.c > index ef3189b36cad..b5c8e4c2d5d4 100644 > --- a/mm/highmem.c > +++ b/mm/highmem.c > @@ -61,7 +61,7 @@ static inline int kmap_local_calc_idx(int idx) > /* > * Determine color of virtual address where the page should be mapped. > */ > -static inline unsigned int get_pkmap_color(struct page *page) > +static inline unsigned int get_pkmap_color(const struct page *page) > { > return 0; > } > @@ -334,7 +334,7 @@ EXPORT_SYMBOL(kmap_high); > * > * This can be called from any context. > */ > -void *kmap_high_get(struct page *page) > +void *kmap_high_get(const struct page *page) > { > unsigned long vaddr, flags; > > @@ -356,7 +356,7 @@ void *kmap_high_get(struct page *page) > * If ARCH_NEEDS_KMAP_HIGH_GET is not defined then this may be called > * only from user context. > */ > -void kunmap_high(struct page *page) > +void kunmap_high(const struct page *page) > { > unsigned long vaddr; > unsigned long nr; > @@ -508,7 +508,7 @@ static inline void kmap_local_idx_pop(void) > #endif > > #ifndef arch_kmap_local_high_get > -static inline void *arch_kmap_local_high_get(struct page *page) > +static inline void *arch_kmap_local_high_get(const struct page *page) > { > return NULL; > } > @@ -572,7 +572,7 @@ void *__kmap_local_pfn_prot(unsigned long pfn, pgprot_t prot) > } > EXPORT_SYMBOL_GPL(__kmap_local_pfn_prot); > > -void *__kmap_local_page_prot(struct page *page, pgprot_t prot) > +void *__kmap_local_page_prot(const struct page *page, pgprot_t prot) > { > void *kmap; > > -- > 2.47.2 >