From nobody Thu Dec 18 09:59:19 2025 Received: from SN4PR2101CU001.outbound.protection.outlook.com (mail-southcentralusazon11022091.outbound.protection.outlook.com [40.93.195.91]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id B0387240223 for ; Mon, 13 Jan 2025 22:31:05 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=40.93.195.91 ARC-Seal: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1736807467; cv=fail; b=c8VyPJKh8xbY3ymZ2B4CuXYLJMhNzejxGwRh+4Oi7R/VPzT/F/NuEZRR2i5fjFAhmQj3dHIatSQR3uiG/Vsg9BSxXrFCmbVOnX09+G+JVPUGvXeQYRwKu6zXOT7PUuP/HB+RQZBNkO84BxhnWV/8OvlcwfX21So5sWLfh9Bw2iI= ARC-Message-Signature: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1736807467; c=relaxed/simple; bh=VpLx+jOCEzGeKcbHbq9kQBNmesk6aWkHgUq10LRqz7Q=; h=From:To:Cc:Subject:Date:Message-ID:Content-Type:MIME-Version; b=MzQFUJ0SvSWiOgmZ3TAD5096IA3tEImp5bkLbbEnNYyV+p3WhRbxNjmM6r8T6k1dpKQkra6upTEqiHUQ9nkz47HeVSPs3CuovVuqJsMZ8M+S6rO8FsCd3CVaIrN+L2gL1VZzTd4dvIj2PMpRf3Om1Xg91itIJ0y/zsxdBJlSBbg= ARC-Authentication-Results: i=2; smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=os.amperecomputing.com; spf=pass smtp.mailfrom=os.amperecomputing.com; dkim=pass (1024-bit key) header.d=os.amperecomputing.com header.i=@os.amperecomputing.com header.b=ewf/L6vc; arc=fail smtp.client-ip=40.93.195.91 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=os.amperecomputing.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=os.amperecomputing.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (1024-bit key) header.d=os.amperecomputing.com header.i=@os.amperecomputing.com header.b="ewf/L6vc" ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=XSSd+FzhHrP8kOHNSPOUTmRIr9uILS31L3HgjmQycCs0KcSZ+GZ7OJmPvpWpf2LcILD6QFqQcf1wTqkGn1NFN1EphbEVVobUUIoDc3JPqDQc5p53q4rMZ2oT7krg0Du66HI7KH9nws4dqFkx98GCSbgHUaV3A/PL92VDsNPzVK55itXLiHJOe6nxks0ifPac0haXkIDV7J16nViEs3CkYBDGg6OTu63Bi4rTWBrl8dsJpiI9ad3qbaF0DlOc7qPsHl8LoHWc1MWrSq+UMrU3Uz9DkJNKLf9vBceuWzqOr4RNuC2kTpfxZxWT1hrutH5KCwwdfjZf5lahUTNoj1Jn3w== 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=DPiYl3XKN12zvZKhkqgCdZHnAQfAGYUWqOCmechygNQ=; b=sXnVStQwAyddwJbm/i4Knyk6wakDf0Nt7fu716JA0VKGwihtodSlRdm9YNW299L2dnEk+9eG8Gksk6mxpBYgKGFC3zfP1e0nTSXgdd75k//XyVRc8342nfXmAXzJFATI2GV0CVsTJ+h6XDiZdudwRCTlP8Ti58Jcj4QmnIeHHj/d/ZcNPDJrkv6HKYLhwRmfT3oIlhMBMsW3shczod+PjHxixJ2HG+pXEQA5I/A8eSqDpL//gsVaP9I5YP6jD+AAulPJjZdxPj3Wjrgl1lgDkeKlAT9zgablLkiLPZ7Epe9HiOyRE3xciYKGCKGmVs9uszFd4MonM5mAM235BLd5DA== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=os.amperecomputing.com; dmarc=pass action=none header.from=os.amperecomputing.com; dkim=pass header.d=os.amperecomputing.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=os.amperecomputing.com; s=selector2; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=DPiYl3XKN12zvZKhkqgCdZHnAQfAGYUWqOCmechygNQ=; b=ewf/L6vcgFo/Wl5HmS43vJIe4mc9o34MWqV1TniVgmRw4AJPDFbhmFJu/N93O706F1va0mS4obowQUp7tky0WAoK0Pd1q6CNR+RyXeNSuQ2nXd3UNT4Sc1HNbheSFfAU9IH9qgRNb2ghT28JVNUERhXIfNAPTXD1k4sGDGjgXAk= Authentication-Results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=os.amperecomputing.com; Received: from CH0PR01MB6873.prod.exchangelabs.com (2603:10b6:610:112::22) by MW4PR01MB6419.prod.exchangelabs.com (2603:10b6:303:74::7) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8356.11; Mon, 13 Jan 2025 22:31:02 +0000 Received: from CH0PR01MB6873.prod.exchangelabs.com ([fe80::3850:9112:f3bf:6460]) by CH0PR01MB6873.prod.exchangelabs.com ([fe80::3850:9112:f3bf:6460%6]) with mapi id 15.20.8356.010; Mon, 13 Jan 2025 22:31:01 +0000 From: Yang Shi To: arnd@arndb.de, gregkh@linuxfoundation.org, Liam.Howlett@oracle.com, lorenzo.stoakes@oracle.com, vbabka@suse.cz, jannh@google.com, willy@infradead.org, liushixin2@huawei.com, akpm@linux-foundation.org Cc: yang@os.amperecomputing.com, linux-mm@kvack.org, linux-kernel@vger.kernel.org Subject: [PATCH] /dev/zero: make private mapping full anonymous mapping Date: Mon, 13 Jan 2025 14:30:33 -0800 Message-ID: <20250113223033.4054534-1-yang@os.amperecomputing.com> X-Mailer: git-send-email 2.47.0 Content-Transfer-Encoding: quoted-printable X-ClientProxiedBy: SA9PR13CA0062.namprd13.prod.outlook.com (2603:10b6:806:23::7) To CH0PR01MB6873.prod.exchangelabs.com (2603:10b6:610:112::22) Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: CH0PR01MB6873:EE_|MW4PR01MB6419:EE_ X-MS-Office365-Filtering-Correlation-Id: ff7bce2e-91ce-4480-cb6b-08dd3421f5a5 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|366016|376014|1800799024|7416014|52116014|38350700014; X-Microsoft-Antispam-Message-Info: =?us-ascii?Q?P0bkihRhNm7chvs3paVytaaYpQdL0ueS2Ljp6dAwLK52IbIb/kJOPsyn79Sl?= =?us-ascii?Q?nPMngl4y0x7wKRh37xUKOIwf9IvrZB6sSeCoz8AWl9jCXG7hj2emADVX3UzG?= =?us-ascii?Q?K3XZFpyB6IbKlVhocNWbx3ozuHS79C1WdBTX/zuM8ZOMO+elHD/k94VgoBx/?= =?us-ascii?Q?xbOf9vk58FuvcWRt8c82NoLN0X9mlD/OL1jcqmLlUN72xFZepzpdzJlxcs39?= =?us-ascii?Q?y9ment96qfA0Zn+Xesy/RQ5gYYFXsMKf8Ibkj2VQiejyUoUBMlK914KEB9uE?= =?us-ascii?Q?rdjMWRAF6QfawhSmOHJD8vWl3k3XWIJqXm7FUl8cfb8HMsPIB0cmjQ6JQL11?= =?us-ascii?Q?euUxCp0DsDxLrzTVK/L/a4fOwO59wMy+EyPK6zmzaKs0EogfeI5OAcIFWskD?= =?us-ascii?Q?xl20X6UpaCPu+Z3K2hBKkeUdRLoVvQRClJ85EVtS1gw49gpXI1pa5R0uU3AX?= =?us-ascii?Q?wJdmGtBhjKb5/ctqg7lHRoEDrprmU67qQ23kBeUnKwACqbk6/mVfnmGBYCGv?= =?us-ascii?Q?hGkBoGTAhEMO3LG9G2yjkmXollKydC3Ev8a7naJ2mHQih1gwEKZvoqJ3ls7X?= =?us-ascii?Q?lkgeQHYKD3cpKUsbg4vPGi2JYczJ6O2tWXpaMDLdjRVEcmTjquard5oR6AWi?= =?us-ascii?Q?6B9VchgPzYiLyqj4Y/iIwER+Uer1/9ETntXb++x4xDhk5hn60PXdvAu7AMUq?= =?us-ascii?Q?WReI5FfdBsIt7ZpyFcghpBCeq21MKGGNQIAhlscyP9r/lVowVmDc/Fi9pEA7?= =?us-ascii?Q?8LUeX+cryg79Qqm3l58Xmw+0nMr07Fz+FATv5j1PqAGUo2fMVHYjPg6aDlak?= =?us-ascii?Q?aAA7FtS6m0kvd7TRYwcrHCgY5c8n6LfvpRnyGn7993KNqi82n3y43qTr3a8D?= =?us-ascii?Q?g+Ei3hmvfi7foniB7wK94yAvBakgVobgy6MT6Hfn/RXa5m0p1qYvJVsw9P3p?= =?us-ascii?Q?qUIWKwNcy7K/w8l2M6HKcBGoPQ7DUYjMl4vvvdsJ+AhqEnJjEr98G8EeT/Cx?= =?us-ascii?Q?PL05hZgfZpE1ZYG/0SXWB7aM5mDPzU+Dls2fgEEu2S+kO+RQ+3ceZC9CXcXK?= =?us-ascii?Q?GOUJLQeltxCVTbIa1QtROXpIjqI18nx1P6CvvQ3uPKkCBV73unLTgR4c5uY1?= =?us-ascii?Q?w4OBseKx2rahSK3nOgMmx62qmohzAF9ark8EI+vQqp71MHzrmAfe+fvjYNfn?= =?us-ascii?Q?GHZNkEcsy9ei5uQfWhTn5aGD95Vs1irBaSKaz8K3CmLDuTgSIIntytKKEDgg?= =?us-ascii?Q?DDxNjTOrQezm1MrJraGcCc6OgyvDAYa1mRBvZ0AZrUvP+7dh1lbT2ZWNMC3f?= =?us-ascii?Q?n9xdj9ItBPVJPj/fdFBKnz2gEGlt7xIv3rySMlgFWer8HLQChbJ/ouiVhitI?= =?us-ascii?Q?nWX6XZLuzZzoZ6OC//lgduvsm3NvuH27HMpCc4yeUsv5ARo5ud1QrGWHQJic?= =?us-ascii?Q?iJvcHX7pm88yLDTPbn213b4psnto4w+s?= X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:CH0PR01MB6873.prod.exchangelabs.com;PTR:;CAT:NONE;SFS:(13230040)(366016)(376014)(1800799024)(7416014)(52116014)(38350700014);DIR:OUT;SFP:1102; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?U9HJvBb+HvO24JuHQjJk+BXPeSdXXXLOKGN6jCcOmQlqg2KMzitp+nXrWbwp?= =?us-ascii?Q?gpi+pXOHSAjbY6I8shojon4CUIgiq6ZAGbKWsO23HlgQ0KyXkPqaiQzhFNto?= =?us-ascii?Q?JlLMVQv14E2k1DJnpExp0Fz1ut3NTW/FVNR83geCazf3nF7ClylUMenqL3nA?= =?us-ascii?Q?ZNvGEjRZXXAmJLIDJ22zJFr39FxQEjPi8R5gBpp5pd9wjNsk+4nCHdnXFt3W?= =?us-ascii?Q?269N8tvgx86gQOb/sXNDpV5nDWXOIsvesFgF6W6WGfzjGezkraTvyw164gdM?= =?us-ascii?Q?wjVeOQvsNVdf1afqOBK5OqqfiqxHDjmMrUaDdl653GrVANjYe5hanz9b1h0U?= =?us-ascii?Q?fJdd60sY9+e94NRgvHVMPE3Z9KArSnaii3pQF2u0f7qMo8E6YKeCrq7VWfwb?= =?us-ascii?Q?4M0L7HijnNMeJ0ojrrRQvv0b+OSXosUJ2FaEEPHoEo2e7YbmVNFTAOjYZEBV?= =?us-ascii?Q?QlsXulKZMw//tllbVC/JaZRwPfhn6BnQLUDJLvfMJQy7IUH8kXId/329uVyl?= =?us-ascii?Q?dTjihepsmDsdTk7oFBUWfz/HOwP3svFBJBNs62hPzlF+V+lISTSQsyMaxXmR?= =?us-ascii?Q?Cz/1yt+2vcW9RPzkCc1XCIUtrkIiXGm/J2lmT31Dw04m7vUU7I7dclceth1z?= =?us-ascii?Q?T52MsTExByh3KWmOOu+OMbktELIHIcccwD4mEaVBDWhWac/e9W4mOz+TNzaK?= =?us-ascii?Q?/twGmwgzvCrAJoy/q3gOgfjpQsI5S05IoqOZlykrbra5SeUWdh/kYFIpLIDc?= =?us-ascii?Q?XRlT8jnzf1JyYIydBbC3ABbXh8yUb9o8NMu8Km+agGHK383Hym7QJMZZ1OyS?= =?us-ascii?Q?D7kJTW0NLnYCfUjYDRmxbJ9KHg4rNMidYK2HuGUOqa+18n+3eQD66vdBc6zi?= =?us-ascii?Q?Tr+Tb9tSDBwGEhSoGephVp88F4ODdS66fXmZaxHaK6R5oQEsddES9MBwZoPg?= =?us-ascii?Q?VdzLYQWOwWPX/xWNEFGKEcBON9DNK3rqyU3z8H7GbBq7GJKt+SRORkukp/Pw?= =?us-ascii?Q?T9FHFf6RgdfWxPUIPrXBInV04r27h1aOJzgbwL0TAzKUFZZgFhZrqox7QGHT?= =?us-ascii?Q?NZ8Ew7Y1iMztzzUAX909yhxbc8VqZS76325rONBZw5fYBIVC2+PldmpbwnLj?= =?us-ascii?Q?BhTco9+78ZsoNQtFUmyjk1fvX0o00MYeYCfu1+sL/kTllfdchKATyE4FkBq6?= =?us-ascii?Q?Tgrfd6cNfiDEjTs5tMRpuLr1F62DrrmaxsO2iDLQYLqlNJjF2YZODXmYfETR?= =?us-ascii?Q?nmIz4WQU23gtfjBbSggwPn3U6N7Yp14YtmZHw7hSWbg0XDAZAZZHZhVeEjNh?= =?us-ascii?Q?UULEk593eVeuP26DMdTIxjUU/loDbU6dsz3PGt0uPNiNuHqFh12EMLtg3iJx?= =?us-ascii?Q?YLa09Ao4xZbLqNckdmd2Pk0hb2pHOJLmhwSur7U2C3QK/ew1aKm619jaWo5D?= =?us-ascii?Q?LsEk59b9R0E2CH00GwQoKCIIICSwwRmAfymlf0jl6mnpeHcN08Z126ExYHBh?= =?us-ascii?Q?tC7bj4zpKqBwAnvDYQRa2TJ5isLav5EJkfzAMPjA2B1VQebGEPI8b4rguGj7?= =?us-ascii?Q?qv7gy5eBVgu9fYDVD18WW/ofBynccjAcSqVap3pB6eGwdWgFOIfsNXInK8jF?= =?us-ascii?Q?58zse/IiElp1S2bXLO3WGcU=3D?= X-OriginatorOrg: os.amperecomputing.com X-MS-Exchange-CrossTenant-Network-Message-Id: ff7bce2e-91ce-4480-cb6b-08dd3421f5a5 X-MS-Exchange-CrossTenant-AuthSource: CH0PR01MB6873.prod.exchangelabs.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 13 Jan 2025 22:31:01.8541 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 3bc2b170-fd94-476d-b0ce-4229bdc904a7 X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: ThS398FsjObjYtb0PM5R9hf5OpYWxqBuPrqBJNokBH9NA5dUw3GrvUcN5miEBxJvzZO4wQOGtqjSK2pVdQU8XTdkTU7uaC32A6RXVYVKn2I= X-MS-Exchange-Transport-CrossTenantHeadersStamped: MW4PR01MB6419 Content-Type: text/plain; charset="utf-8" When creating private mapping for /dev/zero, the driver makes it an anonymous mapping by calling set_vma_anonymous(). But it just sets vm_ops to NULL, vm_file is still valid and vm_pgoff is also file offset. This is a special case and the VMA doesn't look like either anonymous VMA or file VMA. It confused other kernel subsystem, for example, khugepaged [= 1]. It seems pointless to keep such special case. Making private /dev/zero mapping a full anonymous mapping doesn't change the semantic of /dev/zero either. The user visible effect is the mapping entry shown in /proc//smaps and /proc//maps. Before the change: ffffb7190000-ffffb7590000 rw-p 00001000 00:06 8 /d= ev/zero After the change: ffffb6130000-ffffb6530000 rw-p 00000000 00:00 0 [1]: https://lore.kernel.org/linux-mm/20250111034511.2223353-1-liushixin2@h= uawei.com/ Signed-off-by: Yang Shi --- drivers/char/mem.c | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/drivers/char/mem.c b/drivers/char/mem.c index 169eed162a7f..dae113f7fc1b 100644 --- a/drivers/char/mem.c +++ b/drivers/char/mem.c @@ -527,6 +527,10 @@ static int mmap_zero(struct file *file, struct vm_area= _struct *vma) if (vma->vm_flags & VM_SHARED) return shmem_zero_setup(vma); vma_set_anonymous(vma); + fput(vma->vm_file); + vma->vm_file =3D NULL; + vma->vm_pgoff =3D vma->vm_start >> PAGE_SHIFT; + return 0; } =20 --=20 2.47.0