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]) by smtp.lore.kernel.org (Postfix) with ESMTP id A7EAFE77188 for ; Tue, 14 Jan 2025 18:15:22 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 4015C28001E; Tue, 14 Jan 2025 13:15:22 -0500 (EST) Received: by kanga.kvack.org (Postfix, from userid 40) id 362B428001D; Tue, 14 Jan 2025 13:15:22 -0500 (EST) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 18E0D28001E; Tue, 14 Jan 2025 13:15:22 -0500 (EST) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0012.hostedemail.com [216.40.44.12]) by kanga.kvack.org (Postfix) with ESMTP id E913C28001D for ; Tue, 14 Jan 2025 13:15:21 -0500 (EST) Received: from smtpin27.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay02.hostedemail.com (Postfix) with ESMTP id 9CB2C120BF6 for ; Tue, 14 Jan 2025 18:15:21 +0000 (UTC) X-FDA: 83006859642.27.ADB90E2 Received: from mx0b-00069f02.pphosted.com (mx0b-00069f02.pphosted.com [205.220.177.32]) by imf08.hostedemail.com (Postfix) with ESMTP id 389D0160027 for ; Tue, 14 Jan 2025 18:15:18 +0000 (UTC) Authentication-Results: imf08.hostedemail.com; dkim=pass header.d=oracle.com header.s=corp-2023-11-20 header.b=oR+x7edw; dkim=pass header.d=oracle.onmicrosoft.com header.s=selector2-oracle-onmicrosoft-com header.b=H3nLlUzk; arc=pass ("microsoft.com:s=arcselector10001:i=1"); spf=pass (imf08.hostedemail.com: domain of lorenzo.stoakes@oracle.com designates 205.220.177.32 as permitted sender) smtp.mailfrom=lorenzo.stoakes@oracle.com; 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=1736878518; 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=0I0aPtVfmToYfAp+nKn3UJl8FA7fN3YhEqEvlVv9+Rg=; b=bLRml+aq4zDIllrDt2yudq0fBNVFSSu2v5RkjOdcDsxJtAamrhoR+kW6Ihb40mQEFtPKFk T+hJOhLZ6wQaEa1etbXInA0z6mwATQ4QP5w/x0inS1S6JCT4AACdhbgFeNnDTsQIXk6L7Y NZC9/vtrt4R8azh9mMn7KKudsUx9LzA= ARC-Seal: i=2; s=arc-20220608; d=hostedemail.com; t=1736878518; a=rsa-sha256; cv=pass; b=8QJMsHaidX1CDtqllusszyI7o7oDyYDAaYHDNSUFDhjP+pHvDAkEQ4568gitTApt6Tw4nJ jdfOUPj+J5LIOgrQoJWBKwzX97w/xwL18p4aq9r2sTG4YcD4l8QdggeyCD1mUnpM3/lzr/ /i7DeEQY1sEDWt+nWabfeq+aSEjv80o= ARC-Authentication-Results: i=2; imf08.hostedemail.com; dkim=pass header.d=oracle.com header.s=corp-2023-11-20 header.b=oR+x7edw; dkim=pass header.d=oracle.onmicrosoft.com header.s=selector2-oracle-onmicrosoft-com header.b=H3nLlUzk; arc=pass ("microsoft.com:s=arcselector10001:i=1"); spf=pass (imf08.hostedemail.com: domain of lorenzo.stoakes@oracle.com designates 205.220.177.32 as permitted sender) smtp.mailfrom=lorenzo.stoakes@oracle.com; dmarc=pass (policy=reject) header.from=oracle.com 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 50EHfssJ025352; Tue, 14 Jan 2025 18:15:05 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-2023-11-20; bh=0I0aPtVfmToYfAp+nK n3UJl8FA7fN3YhEqEvlVv9+Rg=; b=oR+x7edwC3OB74DrcnwAXADCcy714rYtOL nMUOobgditq1j8683R7jDoD56qXtO828+CHFkv5wYTAoqQUH+tVEtru1jkVbCb7L FMdfJZNQsFsxyIt0oD6fjCKcwJafR7boCG9GRBuZsuXSW/gRKa3OEwPBeZxml7Eh 78fjRJSStvAENQ+A5/wQ8pl5ErPrcklgoyvf8nzAjmHB17zwSbQ9+KpUEJD8EE1n fFiCMacN1qoHRPFw6GHGOTmEGdXLNm+gdeQ7RodTQplHLSEIqR3hfMEH0bu5P3mO l8yW2zEgH6pL0MWhyQ4DkfABxiDl1Osq0vnxmVzx+OGE+nJQaj2g== Received: from phxpaimrmta03.imrmtpd1.prodappphxaev1.oraclevcn.com (phxpaimrmta03.appoci.oracle.com [138.1.37.129]) by mx0b-00069f02.pphosted.com (PPS) with ESMTPS id 443fe2edts-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Tue, 14 Jan 2025 18:15:04 +0000 (GMT) Received: from pps.filterd (phxpaimrmta03.imrmtpd1.prodappphxaev1.oraclevcn.com [127.0.0.1]) by phxpaimrmta03.imrmtpd1.prodappphxaev1.oraclevcn.com (8.18.1.2/8.18.1.2) with ESMTP id 50EHZ6ZM033463; Tue, 14 Jan 2025 18:15:04 GMT Received: from nam02-bn1-obe.outbound.protection.outlook.com (mail-bn1nam02lp2040.outbound.protection.outlook.com [104.47.51.40]) by phxpaimrmta03.imrmtpd1.prodappphxaev1.oraclevcn.com (PPS) with ESMTPS id 443f38fquc-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Tue, 14 Jan 2025 18:15:03 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=GoY6aBITOYexeU+4ULwEXp8b84S2Py+J6zgbx5M15+HJ0pKR3wbjDtJi2Ub0DNI7lQPTIT/tqoM3J2e+hWn8im6eJTu3UebbWjQGDghslYk1oV9VkNQtD7ZLuqSMUPDBIWJFUNgkVlG4yRf5aDSLzyyOM1xYar5HbBKsoz6A5jFakBaArG1B5rgbRRXOKWJBee1KyZvqzAHmgYXZY5WpIZp0LE0g7YuKjUEPAK6L6DrDt1ng6ljvrLSK5xk6z0IVargCScxCIyzrR5Valhi8gwg0J6CN1S/hNacD0LuJMy+c0ytvZbHlivTI8xrGYG4ax1VS4iIj8vJaPj0g2lonlQ== 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=0I0aPtVfmToYfAp+nKn3UJl8FA7fN3YhEqEvlVv9+Rg=; b=t+D3HC0NJBy4Tq+9TQsl29hIWjfzlLmcYmW4evDWYiwEaGdcbX9QQIkUpx/tytdDAlueah5L40Bdan/g51kowM3F6P7Ecj//YBHNXhm4NluKG7ASeHOJJ8He/umQ25PQp9rqmzcMvT0zZbRg5uh3xuJQ1My42Kc7MbQIkA/1xixw8yRWBCsbjPRg1O41BbOkFq1Oqts+jmyqfPqIvIHHsYwaogt3IwMltKcLa7bCOiW1n4GRjDaTRoStI9+4FRez0Tr7H/bnrpAMVS1Vq0pBINA+3+rHYmfxzE2KYbi/RD5zFZrO9gkrbAve3856K6Kmy3Ijmn9VoLak3x7Bho3eNg== 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=0I0aPtVfmToYfAp+nKn3UJl8FA7fN3YhEqEvlVv9+Rg=; b=H3nLlUzkwQL0rI19BhJMGbmHJ8sla3XQN6IF/ZHOyndCzr7e3FEkwmOOauU9jE3K0SvA1p4FvPfKqSfSBpBUeP1iAIKk1wZgz9YbbHHs/umpZKK8rk6lVYZxpPPsNkagCLk+3hpQAdaC7wNjOqNy2tMsoqzzDg0R8iET0PwD5Hs= Received: from BYAPR10MB3366.namprd10.prod.outlook.com (2603:10b6:a03:14f::25) by BN0PR10MB4870.namprd10.prod.outlook.com (2603:10b6:408:12a::6) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8356.13; Tue, 14 Jan 2025 18:15:01 +0000 Received: from BYAPR10MB3366.namprd10.prod.outlook.com ([fe80::baf2:dff1:d471:1c9]) by BYAPR10MB3366.namprd10.prod.outlook.com ([fe80::baf2:dff1:d471:1c9%4]) with mapi id 15.20.8335.017; Tue, 14 Jan 2025 18:15:01 +0000 Date: Tue, 14 Jan 2025 18:14:57 +0000 From: Lorenzo Stoakes To: Yang Shi Cc: arnd@arndb.de, gregkh@linuxfoundation.org, Liam.Howlett@oracle.com, vbabka@suse.cz, jannh@google.com, willy@infradead.org, liushixin2@huawei.com, akpm@linux-foundation.org, linux-mm@kvack.org, linux-kernel@vger.kernel.org Subject: Re: [PATCH] /dev/zero: make private mapping full anonymous mapping Message-ID: <3fdcd6a5-27fe-411b-923c-b7410e4cbda9@lucifer.local> References: <20250113223033.4054534-1-yang@os.amperecomputing.com> <2dda50aa-e4a1-4664-b8fa-56ba975db329@lucifer.local> <65691afc-615a-4716-8a2e-1f43bc65111c@os.amperecomputing.com> Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <65691afc-615a-4716-8a2e-1f43bc65111c@os.amperecomputing.com> X-ClientProxiedBy: LO4P123CA0514.GBRP123.PROD.OUTLOOK.COM (2603:10a6:600:272::21) To BYAPR10MB3366.namprd10.prod.outlook.com (2603:10b6:a03:14f::25) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: BYAPR10MB3366:EE_|BN0PR10MB4870:EE_ X-MS-Office365-Filtering-Correlation-Id: 5c39dec9-e5f5-4d81-5356-08dd34c75c6c X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|376014|7416014|1800799024|366016; X-Microsoft-Antispam-Message-Info: =?us-ascii?Q?RJN8VIq4RaYHagEXEOBTGS6F5lQOKbWvMjXaYTek8+30QzZg8WboCfqngKNH?= =?us-ascii?Q?7muYam7cluRAF8z7MiOyNhRdm+/AZIKWNPKWHDOEEB7y56WQL0URIpKQqok6?= =?us-ascii?Q?jORdv8r5YhOTT4Gkb9yaZfiQFrWA2aj7vgIDgdvIoufqiO+oi2lA2SihM9DM?= =?us-ascii?Q?BSnVlUGRMP+DWWMT5dsRusBLtoX8QxzHDw5nzKY6gB65CuxlC18t1FNY+aho?= =?us-ascii?Q?oObqZ9T1Vrq4v+kDRyPSzRyujqeEBeQmWZZLk6w7rMeL3gHnB9l8y612wv2i?= =?us-ascii?Q?YGvfPuZ3Tkbcfp/GdUnbjUtlHLT+KLQJiXgxACNfQ8B3OCGvTegurE6a5toD?= =?us-ascii?Q?HvZR9K2U+EaZf3/aOAHHlJF+RNPpsfbe3eoQ1eO8PgGelaAL/ULnz/mnGPDM?= =?us-ascii?Q?Pj/PN+I9tuOH6AEa61dP65Dlm/rM/Mco5PB3/NME12/WOHXN3JV1S2UtITZj?= =?us-ascii?Q?ZQDwhbkWviIszdUJe3uumKYGSOOJAcFmerC/8nnuKOQxbEHUg/3O+uMdZDD3?= =?us-ascii?Q?yc4iyWpy0s01je3tusLv+t+SdWrCILj/ljWV7511K7PQ7n9FB5J8o95qM0iy?= =?us-ascii?Q?qX4VMbIjQWQDw/YiIE6bvUV+d/ywS0B/uH5+FBVZlMZ9KUpYC+TnbLagzY7x?= =?us-ascii?Q?RiXzU74rHmcU5OULwogoqmUatRzN0QV1VXaShIYXr4ztd3eecsBD2afjbIjQ?= =?us-ascii?Q?pTyqt+pnXoaOkeDPs45fLcA9OT4VoBgAnRVSR59Y55JNxu/2YxkVW/3X35Qt?= =?us-ascii?Q?TZugWV+zzkzoQKzECgW7vdQzGtKG4Kaku9I7Lb4hZOT3wdusE0rgzhWMrqDD?= =?us-ascii?Q?6L0Tds0KlOujIPraGbG7dcW2LRxXzUCspp8S5pSxVcis1c3i25Op4siRhPBj?= =?us-ascii?Q?Y/ElkFsFmm1UhYAR5Da/Viv2HqlMGrHj/FjWQCFbpwYd8eFnLMw3GQXTtYle?= =?us-ascii?Q?jWRoLJZZGQBQcsvkg072V0UQgQN3nvjk0nN1tnzWRy6DpziJ0+ozel4i93Vs?= =?us-ascii?Q?lJajhn7N62yzYshggqEHnT6LvlcXQEBOHDXwQTKZZoFK+noAD8xK9ly0PY0r?= =?us-ascii?Q?yW7/c9TqrdJfEz7kzDY1RVttkdoN2NwwNbLGIKmDaW5dCwcUIU4VYY0Iiqgw?= =?us-ascii?Q?8JLToYF5cw69M52ZoII5X1AnuW5oHaY4R0NTyRKrBcy/BYpKsR9pAHs3MkKm?= =?us-ascii?Q?zGnoi17QIpOksP1ckjLVkz3K/hAE6UyfDXBjGn+vZqN3PfO/N45RsWStPu8D?= =?us-ascii?Q?XrCY5NBmsagZLNUKoOSptXIULOEHXAZIbmXqi32zmaysMC83gBGGdiQ3dGhB?= =?us-ascii?Q?tbdTqUk/WHRAMtOKi8GzajhIMTZKP0CVvE+Hf2mCBxQFYi+B6TGcmtUlWbpN?= =?us-ascii?Q?wAc1IkKUZSEbuHoRsb4CxyiAl+BV?= X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:BYAPR10MB3366.namprd10.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(376014)(7416014)(1800799024)(366016);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?YUsFDI7W+7lil9H052qobW6KY85tbyIlQ292cK3PZCtibq4i8VV7W1jH+T3S?= =?us-ascii?Q?fkhVDqaD178Yt6Nssx1paaBnXzIUosdpJIBfhAt7XI6rUR9XUPuHSdkl20wg?= =?us-ascii?Q?N9nUKAPrUho/LVorI1/1sWv38IxMRbX6zzKG6purjeBAOZPSR6svtn3U4TvG?= =?us-ascii?Q?PKh04q++2fQ04N/s4P7EWTKlNchKu7AV+CrK1s25Djhyk/Nhxsw9BNeyNSyS?= =?us-ascii?Q?kEFhrXFZfU6jaRMibif9plus3PVIULYETk6wT/OAmpB4/Na+ewQjZ+DH00P0?= =?us-ascii?Q?aQgwtn7rw5xBi4d1OHDcgQBeE9IEiIxBKzQ05X3kJ9jCQbNC7evoFR68osbS?= =?us-ascii?Q?b/WwhyyuEpc+RLTXfy3GqtGd1oevfFKW/LiserHUvEvFM+VPXWRmeV3dS9Gk?= =?us-ascii?Q?IiAvOlf8eemnCQPddx43YMl9AcxLTSf/7/kfWCTqLmmRWjKY7p38rJiZzYZV?= =?us-ascii?Q?32G4v9HsjS07rn/cz10lmGfaD44IPCM265O7vIktpZDUig3aGOMfXnjEwCMc?= =?us-ascii?Q?Ts7RNYqNZyTBOd13GQqaFBTmgHZePbpUi5Vxx8K8ohwyPkOYQjM/4q8meV+t?= =?us-ascii?Q?teYSF750GxzZe52gdMiCt9zOoRQndqed7wKjI2lydPV1h7bxEVd8pGpaK86T?= =?us-ascii?Q?v1UgGp6XF8fkiaArDr2HaRyWkIIGbl38CZXwmnPmWsTAH6mn7unEVE43fvQH?= =?us-ascii?Q?0iQ2tMeJFHX4V+8ZvaVv2nXVlL8XDf8CWV8scq97bCDcPgp2T3WJRoaS4NEK?= =?us-ascii?Q?Bit+FveTmHb1gWqdzwccsEaMJ1KMnmbqfhpG/V8bp+RiAfiz160V3JhP9/H8?= =?us-ascii?Q?YVHX3EczliAdg5eXO61PYO45I8KvnBZfZ+XaDqyNUmRmZP2KYzfkq/5LIq+8?= =?us-ascii?Q?7vuhsKDBuK4bkBNd928dETEROGRAa5tiAkDWwqYVbHicsRRCUMIKI22AxS/g?= =?us-ascii?Q?EoY+HDYJqgDPqkVLq7qhTAhjCcgPtT7qyTXzqGU/RKWxAL6bRm3CRfjp0I9S?= =?us-ascii?Q?9cs1s5cQynHaxsh4hpz3d5nebTd/HZNxS8iJiTgeZ6k/mH0oqjJM8heQP4Me?= =?us-ascii?Q?oWJ6lPLBo6VrFjXBFRmPNnSOujm1kObTvnjX5x7X7Bi/Sbcn0quzL+PoJg2r?= =?us-ascii?Q?V7ozrJ5/XPQW+hz1MzW60Y42Ghuczor3XIzYZ9RdXRO9jom11ssThZ5JkK84?= =?us-ascii?Q?fR1ifIgGOQJVECmL7qEIMgmi9po7JdjBcJCArupct5Wh2vf0U/jJwyIxmjvu?= =?us-ascii?Q?J8xqNJs/To875/8HwOYMdnO6G0rpZ2JT9pK6Ih/uRlEBcqkB4dTBUeY1wpkG?= =?us-ascii?Q?N5NQdTeeHs5Z2iyyeHaXuO1i74asPLku9arkjNeZQvmRl8af1jGv4AcfygEc?= =?us-ascii?Q?Zcfznz35atUvF47skI8yTYmemzTidszBJY8Q5ZYFhC+H4/6z7SiAWdCksTMF?= =?us-ascii?Q?7oEUDsIvOZheXfrdQEmCbuWSzOVfr/2u37tA0VHHWZuh91RWfft+SGer6r81?= =?us-ascii?Q?EYAoDyHTznESaUzjXzf1CDh+B0UHkBCNvlQljJcgxqbNCz26g07vrLlfRUjz?= =?us-ascii?Q?zqszom1/8Q6tBkpED7//QZTcTXKMIE6RJaLReRkT3nmpmsIuFBJiUMC7c1VJ?= =?us-ascii?Q?ZA=3D=3D?= X-MS-Exchange-AntiSpam-ExternalHop-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-ExternalHop-MessageData-0: sQIfKwJGRIleLQ/l2V5SoECgPyAq2M5LUqoaPqWHhDUj7j8ZXcQJ++UbNT2U2lsK8uYAh2Yufbr8pSX5iLGVqkIjAh8SBqGuWenlcDS10em7qIVNCF4u/0Ji/YrCy25bZCxHBAUH0MPvMJYs25DWHEckd1jCEtoseLjuSm7J9o4Tge+vTv7kScztFRKCJ7Z6JwFFYREly44zuqp6mgmjyOJ4WfL4L7flc5k+wAYZniXwOrBjK8zpPvhIyrLjJp9YYZ+whf3tpZqdqgyLXM3uDRizvLNd6i+W0vC/s34juY7P8S9vF1VMsMQPT4iG1yLeN0vhrDAvHVpajT1zmbLypbZ1MJ1ZXPBpmIDwVQ3hy1W7uQl/lRATGNoEk0xVN98CbK8RlAprhRc/BcCyFRLAlx8Uapi0YXIO4RfQFc6o5gGlVuOBqtm0aZs6ofwDVk416yR1aE9NTZIRX8C2il7idmZtldhiwa7Q0WrqZv8b9tzCw/yFlHf1aDtvnGdRyr6ykmuBId6k4E0j8LK+MFAb+Ym7FJ2wuXrhZzVHmPdtgfSlHVWJnDZ+WIFKGFrJhjXU/isFVYhoyj5jsjXZVw+IKX8Q+B/aPju3iv3ZPUKZoAQ= X-OriginatorOrg: oracle.com X-MS-Exchange-CrossTenant-Network-Message-Id: 5c39dec9-e5f5-4d81-5356-08dd34c75c6c X-MS-Exchange-CrossTenant-AuthSource: BYAPR10MB3366.namprd10.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 14 Jan 2025 18:15:01.2635 (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: vtfxdgAWer5mjxz3/2CpRV5R3Upsm8853E6owH6dCbOgtGvJBueizktM817q+LiJpvN4RkBN5ZUcke+s2p4YVEdK9g+XAm/pmAjii9CuytQ= X-MS-Exchange-Transport-CrossTenantHeadersStamped: BN0PR10MB4870 X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1057,Hydra:6.0.680,FMLib:17.12.68.34 definitions=2025-01-14_06,2025-01-13_02,2024-11-22_01 X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 spamscore=0 bulkscore=0 adultscore=0 suspectscore=0 phishscore=0 malwarescore=0 mlxlogscore=999 mlxscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2411120000 definitions=main-2501140139 X-Proofpoint-ORIG-GUID: poRJUBDR2TzPcLUcFEga-hFPLEfqvVkt X-Proofpoint-GUID: poRJUBDR2TzPcLUcFEga-hFPLEfqvVkt X-Rspamd-Server: rspam02 X-Rspamd-Queue-Id: 389D0160027 X-Stat-Signature: zjrdnue7mq45h45obtszu88wa94qncdn X-Rspam-User: X-HE-Tag: 1736878518-626160 X-HE-Meta: U2FsdGVkX19x6YD+Bqh8nDifcda7qMMgHL+6gDscd3SqO20G0xulhWa+79cBpyBJW/efYlLs2nzQA5HPUWvRU0TnF9nBPiDXj75oZ7yDeFXOxbMGu48gl+N6leH0GGHiL2HnrtTsJSB+pxlNMpOfeJhMi7WoPh6BS+VfpmVl7/RhpLUdjrYMhKadiUVQ+k9b4Pz66FpC5dSKaoV2KfuFAPRTbkNIAkuIOz/0YOz78OTymY8xpZJJHsrn8/mIugYD4yDZZdaqdUJnfhzPJ1F3T9i48caSEwoK5C+BrMekVjndt44YZf9cIoxRLSwwKrzCLSoSCF64PaCMFHyPcfLX70wjlZSUUo7tHKkzLWA3ih+3iYt9C6iA1itcY5muW4t9j5S4HGrm0aJwMRIpnZRiDskFoOOl9eCgMnmwMFlWCwBRE4T7EzGXMHW7RtjSuMqXhVhd04vonpcqWBymK41Gv2M4HDUyDAnuDDluKXZJu5wYv19o8nTHZ+cyLL8O7TeW6FmJicDfB/vyjueQ5O7XyxCuqQ4IHXI8R8uvM2fMCciwMDTyyJeiN4OzqEE3RblEgTHIV9BzKWbMK9jJzAiaZl6GblQKdNNOIVRIo0KY/KyFYOSDSIMmJRR2/aeqa/wD/v48l73KJ+EpGQQGgUz9pe53pwFwBl9yY63LFNMk4kA2TfHQNGDYK5t+WVFK/FDBuQlvN423Fi+pmJgTcgH/KXh/1Ku8GOtrrEHafu7QDcDZ2ZULgQgF/J1xFcMgCIurqpDEUqFgPFl7EB7hSlbYRpfuKezyHC49TIbHZS8AuACeqAjGXYC/Hp9jU8jeh8QgriKEFNcGZBftzoPglVwaKo7vY7Lt5uvPzjE/kV98IRhDFcoLaxafJH0/p7OY7wk7/7q2Cw9Fc0LkRfYTHKbc2cGLdQuQlf9l4arqsbjwG9xedFydFxLkCRBZymuwlkl4UydtYHIrYGOg8CvS0nO UIqSw3X9 TNSLTA90xKLJNZbQ9B57wM8HX/pquOB3NH2dBvno4QwoTn6/rRLh+mH2VJlUrHofiSzWm5lDhkAXuMUDEu3GLCtX8NZ+d49ufiPiqEZTTxTeaBcEawviP27NnCzhPrcQMrQB+jkl4IuA0LuyF83OKKurJILiUrLpXTzenbczLaC2kQ037v7xzgPfVM7irwm0qvwxLUSgPwzuYXJ97UlFs4hU0jCVhDUCBtOeY1gnwOgYYD3iHuxNd2WfqJ9HUWJz/hxD5N6qTlluEnXMdksHpPsJJa57GcdhnL+diW5gVVVvslc1A/Ca/K2VrtzSzO5A82BZplINCSG/MLrlkHc42eZrlq9qE3GiuKNvaz2xtSDf5xXl8iRvJS92O/2U8OQ14fPdA18NYezzpW6ksiodv5ncOJHukWXAgZvhbLgmTcg48eHNJ0/F8PHYTRe1KP+TKbRLEKGPXJO4mXhJpzViGdy5CGq/lz3aNU6BDI/D1mg/HvkdWTni3Bn/5w2yZp986pEhzBGc/yKoxqQ4HarVyKe3gpZficVdH22JQvJFEYT7V3VZMt5wSNKjTeQsiciuJzXkNBNSjxfYCSLHD4YxLtZs5mELreoRmLON/diKAkoea2e1n1G+z5B737i+7nV6J6DAsOWboUMSfpyo= 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: This is getting into realms of discussion so to risk sounding rude - to be clear - NACK. The user-visible change to /proc/$pid/[s]maps kills this patch dead. This is regardless of any other discussed issue. But more importantly, I hadn't realise mmap_zero() was on the .mmap() callback (sorry my mistake) - you're simply not permitted to change vm_pgoff and vm_file fields here, the mapping logic doesn't expect it, and it's broken. To me the alternative would be to have a custom fault handler that hands back the zero page, but I"m not sure that's workable, you'd have to install a special mapping etc. and huge pages are weird and... I do appreciate you raising this especially as I was blissfully unaware, but I don't see how this patch can possibly work, sorry :( On Tue, Jan 14, 2025 at 08:53:01AM -0800, Yang Shi wrote: > > > > On 1/14/25 4:05 AM, Lorenzo Stoakes wrote: > > + Willy for the fs/weirdness elements of this. > > > > On Mon, Jan 13, 2025 at 02:30:33PM -0800, Yang Shi wrote: > > > 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. > > Hm yikes. > > > > > 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. > > My concern is that ostensibly there _is_ a file right? Are we certain that by > > not setting this we are not breaking something somewhere else? > > > > Are we not creating a sort of other type of 'non-such-beast' here? > > But the file is /dev/zero. I don't see this could break the semantic of > /dev/zero. The shared mapping of /dev/zero is not affected by this change, > kernel already treated private mapping of /dev/zero as anonymous mapping, > but with some weird settings in VMA. When reading the mapping, it returns 0 > with zero page, when writing the mapping, a new anonymous folio is > allocated. You're creating a new concept of an anon but not anon but also now with anon vm_pgoff and missing vm_file even though it does reference a file and... yeah. This is not usual :) > > > > > I mean already setting it anon and setting vm_file non-NULL is really strange. > > > > > 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 /dev/zero > > > > > > After the change: > > > ffffb6130000-ffffb6530000 rw-p 00000000 00:00 0 > > > > > Yeah this seems like it might break somebody to be honest, it's really > > really really strange to map a file then for it not to be mapped. > > Yes, it is possible if someone really care whether the anonymous-like > mapping is mapped by /dev/zero or just created by malloc(). But I don't know > who really do... > > > > > But it's possibly EVEN WEIRDER to map a file and for it to seem mapped as a > > file but for it to be marked anonymous. > > > > God what a mess. > > > > > [1]: https://lore.kernel.org/linux-mm/20250111034511.2223353-1-liushixin2@huawei.com/ > > I kind of hate that we have to mitigate like this for a case that should > > never ever happen so I'm inclined towards your solution but a lot more > > inclined towards us totally rethinking this. > > > > Do we _have_ to make this anonymous?? Why can't we just reference the zero > > page as if it were in the page cache (Willy - feel free to correct naive > > misapprehension here). > > TBH, I don't see why page cache has to be involved. When reading, 0 is > returned by zero page. When writing a CoW is triggered if page cache is > involved, but the content of the page cache should be just 0, so we copy 0 > to the new folio then write to it. It doesn't make too much sense. I think > this is why private /dev/zero mapping is treated as anonymous mapping in the > first place. I'm obviously not suggesting allocating a bunch of extra folios, I was thinking there would be some means of handing back the actual zero page. But I am not sure this is workable. > > > > > > 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 = NULL; > > > + vma->vm_pgoff = vma->vm_start >> PAGE_SHIFT; This is just not permitted. We maintain mmap state which contains the file and pgoff state which gets threaded through the mapping operation, and simply do not expect you to change these fields. In future we will assert on this or preferably, restrict users to only changing VMA flags, the private field and vm_ops. > > Hmm, this might have been mremap()'d _potentially_ though? And then now > > this will be wrong? But then we'd have no way of tracking it correctly... > > I'm not quite familiar with the subtle details and corner cases of > meremap(). But mmap_zero() should be called by mmap(), so the VMA has not > been visible to user yet at this point IIUC. How come mremap() could move > it? Ah OK, in that case fine on that front. But you are not permitted to touch this field (we need to enforce this...) > > > > > I've not checked the function but do we mark this as a special mapping of > > some kind? > > > > > + > > > return 0; > > > } > > > > > > -- > > > 2.47.0 > > > >