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 305D2E7717E for ; Sat, 7 Dec 2024 17:06:13 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id B5DBE6B033E; Sat, 7 Dec 2024 12:06:12 -0500 (EST) Received: by kanga.kvack.org (Postfix, from userid 40) id B0DA26B033F; Sat, 7 Dec 2024 12:06:12 -0500 (EST) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 9ADE06B0340; Sat, 7 Dec 2024 12:06:12 -0500 (EST) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0014.hostedemail.com [216.40.44.14]) by kanga.kvack.org (Postfix) with ESMTP id 72C9A6B033E for ; Sat, 7 Dec 2024 12:06:12 -0500 (EST) Received: from smtpin12.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay07.hostedemail.com (Postfix) with ESMTP id 1534016015C for ; Sat, 7 Dec 2024 17:06:12 +0000 (UTC) X-FDA: 82868790438.12.D8ADEE5 Received: from YQZPR01CU011.outbound.protection.outlook.com (mail-canadaeastazon11020103.outbound.protection.outlook.com [52.101.191.103]) by imf02.hostedemail.com (Postfix) with ESMTP id 45FC28000E for ; Sat, 7 Dec 2024 17:05:34 +0000 (UTC) Authentication-Results: imf02.hostedemail.com; dkim=pass header.d=efficios.com header.s=selector1 header.b=t8voRfX0; spf=pass (imf02.hostedemail.com: domain of mathieu.desnoyers@efficios.com designates 52.101.191.103 as permitted sender) smtp.mailfrom=mathieu.desnoyers@efficios.com; dmarc=pass (policy=none) header.from=efficios.com; arc=pass ("microsoft.com:s=arcselector10001:i=1") ARC-Seal: i=2; s=arc-20220608; d=hostedemail.com; t=1733591152; a=rsa-sha256; cv=pass; b=7iqP+nKuhDhp7O7hiMZuiAZQVbEWA33tbqjFhzkvPJws/BWF7iXU9nlqKXAsdHmHApe90Y SkgaOfiFnZ4ftLnoo7XxC94CROGrQ94gj95iynOiAt6X5bst1o+zvD2lDOapTIhSfIvAhf KAY+lUd/z65hm7N6e4I152ZXK6WAbUo= ARC-Authentication-Results: i=2; imf02.hostedemail.com; dkim=pass header.d=efficios.com header.s=selector1 header.b=t8voRfX0; spf=pass (imf02.hostedemail.com: domain of mathieu.desnoyers@efficios.com designates 52.101.191.103 as permitted sender) smtp.mailfrom=mathieu.desnoyers@efficios.com; dmarc=pass (policy=none) header.from=efficios.com; arc=pass ("microsoft.com:s=arcselector10001:i=1") ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1733591152; 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:content-transfer-encoding: in-reply-to:in-reply-to:references:references:dkim-signature; bh=26PPv3SNG1pvZmv1cxFZlvSkJppBlTOXeAeH/IDDz2E=; b=pQArBVCE0BdKLoFmXCcjs/XoA7S3B0FZYa7iDwrbV7OnbTXzoD+IskvucJb7tfnW4Dg8ia IQTc9KOx5WinWO7uiXmawnA5ykQXurl6fES+7n71LgOstw3PN6Dv4LusrspqoxhI0kbGwR ZS93K7bMLpg+r57i8ncVL3c25lIsj7I= ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=nC5JJh5h/5Pbd7HXiyvLZb8QIA35VyYWw5og4qCN4keFcOk8ub2wlG1kE9PiQXqPWqGHTj17UaEVVeMVY19R7+cmCzZniXau9Tyxi8kOS/2+HSwWXMjsObJmewprMqymc7fK+IDKNRwHHeKE1AwqU7cAk7p5FdUSDeYMgoLqLUCEqERYks+wU7xb8SyUtpQkj8DmYbLaSaApIS5tdF6vCm4ZPRLsnQrGHBIZyPKqkNTjVuqttVwsZZ5EzOiUAQ4nUZ4p2awD8D/py+B7NeENzgEA87que+BCbqf07Z95rIO4ItejKQE+GlAaYQrUZGa1cgXXAdC6M54D+GcN0IczVw== 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=26PPv3SNG1pvZmv1cxFZlvSkJppBlTOXeAeH/IDDz2E=; b=BjDLe55enJxMRgAn56zIgqQnqH6/BFb+YGkk4RHobx81j/j60lX1SAf14qPJm0TSKRqIVSMGIIQ/LmlbFchMBj3G/wAwZtSTC7L6ZhhAYrilIeXw2fxaeP7azQmj9P+QZ3ePEBkSEughauMD1u59b5nOSsl/QxNxMAbcpZrgHA3GeJaiMuZJl+4nXb3srqUKi15/gBzET7gGAJL/6vj9rgN6nCWHSO+fywLnpqzz3LOZTIvZd8njRpQdE99gVGqkjCDsEBtmW0CBFRdbZGi/JagPq8PHa4PvmR86Xfxvy3plVYhMC2JRVQxeNHYoMVJvM4y+ld2gIpivm0cCA+sjNg== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=efficios.com; dmarc=pass action=none header.from=efficios.com; dkim=pass header.d=efficios.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=efficios.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=26PPv3SNG1pvZmv1cxFZlvSkJppBlTOXeAeH/IDDz2E=; b=t8voRfX0670OS2a4ZQcTkl5I3q+QUWUEeoPjhwQUIF/la/ylXXdraU4sOyyn3LmObzFaIhO4vRe0LVkxjAdMAyU85k9iJx4aeyGi3u9bKJGo5hh3NgGa8K3UZLI4mnddl4tJowaIee+7MrKONnqpY1DiSliTwdiRAFs8tLNE3BhoVcuijrCvdzrncin9sst1lEgvw4GmnxqZj/aJlpen3LaWqadHyoZyEVbxc4i1veyObbonngspp35idIB/8wyziga2pqZwYTjeAHt5IUgBPZE/r5MPT7LNyKq1GqQvz3FmYT6TCtll11/3Kx0rw40UG4bZzScHTldA4HmG/TgmQQ== Received: from YT2PR01MB9175.CANPRD01.PROD.OUTLOOK.COM (2603:10b6:b01:be::5) by TO1PPF260681B1A.CANPRD01.PROD.OUTLOOK.COM (2603:10b6:b08::625) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8230.18; Sat, 7 Dec 2024 17:06:06 +0000 Received: from YT2PR01MB9175.CANPRD01.PROD.OUTLOOK.COM ([fe80::50f1:2e3f:a5dd:5b4]) by YT2PR01MB9175.CANPRD01.PROD.OUTLOOK.COM ([fe80::50f1:2e3f:a5dd:5b4%5]) with mapi id 15.20.8230.010; Sat, 7 Dec 2024 17:06:06 +0000 Message-ID: Date: Sat, 7 Dec 2024 12:06:04 -0500 User-Agent: Mozilla Thunderbird Subject: Re: [PATCH v3 2/2] mm: use clear_user_(high)page() for arch with special user folio handling To: Zi Yan , linux-mm@kvack.org, Andrew Morton , Geert Uytterhoeven Cc: Vlastimil Babka , David Hildenbrand , "Matthew Wilcox (Oracle)" , Miaohe Lin , Kefeng Wang , John Hubbard , "Huang, Ying" , Ryan Roberts , Alexander Potapenko , Kees Cook , Vineet Gupta , linux-kernel@vger.kernel.org, linux-snps-arc@lists.infradead.org, Geert Uytterhoeven References: <20241207165504.2852058-1-ziy@nvidia.com> <20241207165504.2852058-2-ziy@nvidia.com> From: Mathieu Desnoyers Content-Language: en-US In-Reply-To: <20241207165504.2852058-2-ziy@nvidia.com> Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit X-ClientProxiedBy: YQZPR01CA0179.CANPRD01.PROD.OUTLOOK.COM (2603:10b6:c01:8b::8) To YT2PR01MB9175.CANPRD01.PROD.OUTLOOK.COM (2603:10b6:b01:be::5) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: YT2PR01MB9175:EE_|TO1PPF260681B1A:EE_ X-MS-Office365-Filtering-Correlation-Id: 8d524624-8a6a-4ab4-54b0-08dd16e17050 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|1800799024|366016|7416014|376014|10070799003|7053199007; X-Microsoft-Antispam-Message-Info: =?utf-8?B?b0JJT2FxUXN5UmxRVU9TdGZ2UHlObEtSMFdzR1pXWDlOWFNnclJieW4xK2xE?= =?utf-8?B?QTlsV3VGaGU2cFB2QmpkVkU3a1hiU0dlUUxYS2xDUHFnZ3IyWjMrcnZncVY2?= =?utf-8?B?NDM5SmhmYU1Nd3lhcldGVU9ST2RHSkNyWHVZOU5CTkhSa0NjRXhSUlcrVnJC?= =?utf-8?B?N2lLYlIwaUpEYVU5c2trbGhVOTVpUnB1WlZ2am1QYTQzWTc2c0UvaTNqRTJn?= =?utf-8?B?bGVYL3FJMk40NnJiMjgxcFdCVlBNdW96TnNEVXRLK3p4YS84OHRxeE5ycXhj?= =?utf-8?B?YkhzaDVKRXM0SjNSWlBPekVrUDdoTFN2N00vSmlTcldsZDhUL2pDWXI0SFp5?= =?utf-8?B?YnBoVUxzSGhUS0hha0Q5bEo3ZlVwQVo3Y2VXOWlPZGxGdDB0eEJxazhtek55?= =?utf-8?B?TXc2Y1V6RU9uak96dmhsc0NnVFlhRWNOOHRFZVdYdUl3c2duL2JQN0ZqaTdS?= =?utf-8?B?M2MzbTZvbmF0S015T1FkNTRLOTVwL0JKTjRINGYyZk83Y1B3M1loVHhHNldD?= =?utf-8?B?N2U5Z2FpNzl5eHNGWDNDbTAva1N5K1JOanJ4QmFaVW1adnhRSW1HMnFOOGRF?= =?utf-8?B?YkRlRDgyczR1cG9rQlFwN3FaRGpWVzRGcU5FUlZ6N252SWplcDJ4WDRPcjRx?= =?utf-8?B?MFV3Tk1TR3FnL2ZNRWpGaFVSamtObzl3MDhlRmpHSitKTVpTRGJ1b1AxOERz?= =?utf-8?B?cDdpQVBVRzBQUzcyRzNzeVI4R04yRUcvcmlib1huejZOUGFIeGhxdkhNbnNC?= =?utf-8?B?ZDJLcFJnUUJTY29GQ2FVNFc4cWx2c3owc1RMdjBTWXg1SUxFM0xRZWovbTJZ?= =?utf-8?B?UGoxT1duRFZOZFZNRHY4d2RXZjdtWkVsRkp0VkFWaEJSZHFPZUVxMitpRkRh?= =?utf-8?B?SmlRVzZMcllEOEZwMlA0YVl4NjVFNjRNZ0s3cnhFMkx2YnI3bktiMDdzbHg4?= =?utf-8?B?eUV5U1poUUNXaG9ucWhEeWVRR3N3NHpwYkdhbFA1SmpiZk5OOWg2NmIwZldu?= =?utf-8?B?bDlFWEtUOTFIb0VteVNQYlRnY2d2Y0xEUkJ2YVU0RmVCajBEQWpsQXlsWTFv?= =?utf-8?B?TjRoc1QzcFMzOG5lakQxakl1L0dUZHgyWmZReTQvOE05V2U5Mk4rNU1namtC?= =?utf-8?B?RXdWVnhuc2ZwUzlxODZmeFFGSEpTdFdncEZIYnBFbk1jWmZtUW0yTWFPdzM5?= =?utf-8?B?dWt5cmxHbnkyRkdTNWxzc2JQSEpBRXlUQ2xURlMrYVBxNkxlRFdJZ05TNEhD?= =?utf-8?B?Q0taWFFxQmVsaHBnNFVGQmhtWExEa3QvckQ5UTRJZnRpbTUyTzZFZFhEajdx?= =?utf-8?B?T0JBdkt1NTNHQVkzS1p0ZUtkU29XWlV1cEpLMlhtdE4vUkkwamwzQkhUTmRn?= =?utf-8?B?dDBBaVgreDdTay8xZU1FSFRnRXZ0T1UyRFFBT25JM2I0cUtOWFlyTm1TcVdP?= =?utf-8?B?eGRyS2JiT0MvTDdGUUhqbFpYT1lZdlAyKzVrM3A3VXVpcUZ1RDZFSXhpckJw?= =?utf-8?B?QklOczJXNUVkRmw2RVRrY1YyYjNXUHZkT2UyUWh0eWFkS2xVVXNZdHBzb1dF?= =?utf-8?B?anB4cm81YmdzY0kwQWcrY3lwSFRDZncxRGJBZ0szN1BnMjRrV1BpVmlvL0dY?= =?utf-8?B?UTJLMko1VnhhYjJyV0ZBREFxY3UzZFVsUk84dzMwMVNWUHVIaFRTbUVpRklK?= =?utf-8?B?VlpkZGRaQWlzbUFQa1kzYlJ5ZEl4d2VzTTFORkZOWGp0SVB4cmNMRXNJK0dV?= =?utf-8?Q?Zn1v4f/cAoTMqlBlVk=3D?= X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:YT2PR01MB9175.CANPRD01.PROD.OUTLOOK.COM;PTR:;CAT:NONE;SFS:(13230040)(1800799024)(366016)(7416014)(376014)(10070799003)(7053199007);DIR:OUT;SFP:1102; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?B?dXdvWm5OajJCaENrejl5ZG5BbnV4UnR4SWtENWVxaGJUSVgyYlhqTEFNUkpq?= =?utf-8?B?MnB3Zy9jeTh6eS9JUVl4U3F4SkZvQkR2SlFsZ1RNc1ZqWmZnZ1d5MEhtaTRz?= =?utf-8?B?Uy9xNmdDVWZBWnNyTkMza21JcGJ2aDNuNXJTUjhLRVdXakxlenBUZ21sOTVY?= =?utf-8?B?U1pUM2REYjVXcWlnZi9KVGh3MU16NjhVeVAyNG1adlRxM2hsaTJmZGtQZWpD?= =?utf-8?B?bkZFZjUvSWw0RVcyREFWcnlPY3RBRlhhd04xL0R3TGkzQkRZN1hPR2w4ZWR6?= =?utf-8?B?RXBHQWRkN1gzOWFBOU5IdmRkNHZkS09CdEk4VjkwMVRnMVBKOFBVSWxwNGk1?= =?utf-8?B?NUNvMjBQZTVGWnJ5bDhrY3E4ZkZhQzJmejRrcDJRTGcwcnVlMnh0L2tZVjdM?= =?utf-8?B?ZHJNSEZUK280QkZMMENwM0Y5bE5TVENpWlBjeGNZVGRSRFZXUCtoTkRpa1Yr?= =?utf-8?B?YldKdFVCQ2FSMU82NldwRUNrMEtxQUpPWno1WGNqeTUwMS8rTWRVbXhOUjdQ?= =?utf-8?B?M1hwZVBtYkhoYlhBSUNPenNTeDJ5MFBWaFU4czlWdjFqSnVxQzRqM3JvWjYz?= =?utf-8?B?cDBZY01jS25DZzU3dXVvQ1AxOTVhQTNHUGVLdVA3NGtuUE81TVZaUkVrTit3?= =?utf-8?B?UGJYSm8wc1pWaFBjVU5lL1VUV3V5SFBiOUMxS3gvSkhLQmtDUmZIenBLU0xB?= =?utf-8?B?QTlHaDVFVWpRL1Z3ZDJUdmx6VFZhSEhMUjZRZk5MSnhiMjZwU2FCb1ljSUpU?= =?utf-8?B?czh1aEsxZlRKTkNFSFFNQjVST0YvMWZEOU9DVk5UQ0tDc2ZGaDUvb3pOWjd2?= =?utf-8?B?WFdqbVBLbU1MVUE4ckdlRlhKR1hFTEhCWDlUYlVFc1FpU2ZPUmF6Wm03Sk9K?= =?utf-8?B?bFdibStCRTlyVTlqOTZydnVISUhzWlQwK2Jtb2RRTnkwTTZLM2poaVJ6Umt3?= =?utf-8?B?SUNka0RwdWtoWEZXNk0zdHUwa2RNM3VxaVdCOHRnbUZZb0NOVTBaOVppOC90?= =?utf-8?B?eUtBSWF3bWZEcFdlc3ZHUVowMFAvOUVGSTRQRUh4Vnk3NkJWeFd5aXYzNnhr?= =?utf-8?B?NGJXWjBjcWF0QUFaYnJ5SEwwdkpzeWRxSmFCOHNuNHBYZVVoRVV2UnVZVTJM?= =?utf-8?B?c2ZHSER5UWk1OEYraDdqaUxmZ2pQZVFYWUFkcDVlelJCN1YvR2V2aGVrU2ZL?= =?utf-8?B?N25IeDJYYVRFNjVKSkRhcEdSMEx2cXllYnUvNmpsQ05LWmd3M1pVTlpoalBT?= =?utf-8?B?K0pZZ0hkREJJaTYwKzRxZ2RHZkIvekFBZkRwT1NnYUVsTWxxUzIxS2l5OEFO?= =?utf-8?B?V3pVcVc3c1NCbTRORm5oRnhjUno2M2w1LzZ2bUZKNm8zYmppV01pdFh1VEJR?= =?utf-8?B?VWlyNkNHR2R5cHR1YS9aNHFDRHpGUFlEVnVVRDZuUTJDZzgvWGVNWFZ1bkVG?= =?utf-8?B?TTRaZVNmVHVzWlRiU3NrTFJZZWFrd2FiWDJDaHNSS1Y3bWZHWmVEb3JVVE5M?= =?utf-8?B?NEdiaUNVVEV4ZE5SWnZidDNNOU5KYi92V2dDa0M0bWQvOWJwbGVwcjNwOE1I?= =?utf-8?B?aXlnUFk1K3BLYndWeUk1Mk9WTloweDBISzJKNTI4eVBiUW9ndjdCTHdVY1hs?= =?utf-8?B?M1JpNEJvdkZESkxORStSZ2tZMVduYmh0U0E5dlFRMGs5dWk5cUxBczMxZnEw?= =?utf-8?B?WldBUjBVT2lPNlNCa3ZOMFBhU1I5bEtkaXRzWnpRbG1HWEgrZTdBL05iVGxK?= =?utf-8?B?bjA2dGRsM1U1MXJqRU1tVDYvMHptQVNxNWVLSklYam1vbk1QSitXMXpjK3Fu?= =?utf-8?B?bFg2bnd0RE9uRzZqZ1NYK3EwcDAyMFY2QnJKVDRZMjNFRmNmSndvamZqS2E0?= =?utf-8?B?RVhXdk5NQmJaOVRLRmFzZ0VQMW5SYzVVRzVlQXFWOERvZ0VYeFM4c1EyL1pE?= =?utf-8?B?eVZEeUFQeXB0aE16bXpDV21IWlRYYVRkZ3ZEU0FrTzFROW5xT2E5V0p5aDVI?= =?utf-8?B?Z3liWHVidWVrSExabHdSRndqVGU1QlhZVytYbXl1NFh6aldPTE45dEJvVENw?= =?utf-8?B?cGNJbDk4TmRsZFV4anNjdmh5WUFLZVdobWIwVEQ4cWI4M25RYkg3cVFqUzFH?= =?utf-8?B?ZGlXSDRNSGs2cEhwVkFDR0xqRDZpK00vVXV0OHhDU3FzUmZ1V3F4bkZLeHFq?= =?utf-8?B?RWdJTVh4cXJhUFJLOWQ3QTRLVkNYc2RUUTFZbDVOczJMNkJwUVJHQnFueTFC?= =?utf-8?Q?n3W+YIKKGmMTcXQ0CUcLOmHMWcwTKIs9r+qIZGQxEU=3D?= X-OriginatorOrg: efficios.com X-MS-Exchange-CrossTenant-Network-Message-Id: 8d524624-8a6a-4ab4-54b0-08dd16e17050 X-MS-Exchange-CrossTenant-AuthSource: YT2PR01MB9175.CANPRD01.PROD.OUTLOOK.COM X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 07 Dec 2024 17:06:06.5114 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 4f278736-4ab6-415c-957e-1f55336bd31e X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: xe0Lq5nlHXTnmHc+qqdaF+5uMFbxqG+hyWVJoGSHMHskZS+MKVhF2P5GSjG7MCBl0O8oWpWCW8iAqt1iZzzVK67OHlCf86mUWV3UvqSwYMo= X-MS-Exchange-Transport-CrossTenantHeadersStamped: TO1PPF260681B1A X-Rspamd-Queue-Id: 45FC28000E X-Stat-Signature: hdok9hpk39a39tyse48uqewjrweeetqo X-Rspam-User: X-Rspamd-Server: rspam09 X-HE-Tag: 1733591134-233407 X-HE-Meta: U2FsdGVkX18HhWZxS3JePeKaWq/m1cHqk2fRp50pIXm+20k7vveiy4Y52t5hwnTApvDFc2kiugWuEZL/04+gC8L8xzMUery+RH57DNV/OjD3q5pazLRWwDjTjF45WXn+CvocH5B2qNXNLzn3STeH7u0UbQ1aMbq9d2PKO38EuLWpc1JoR3awT5xt1MBpODG/vhZUclJvR3p2dqgUspCRc7pplrISKpGeOiX630p+8D4yqHKl+sIXVOWaNNCICvF5mxpxhMVKwfa55V89MrDyk4M3pfg5NWrCmhxembChzB5tg6121DFHNDRypAfHMOoIwxfIoAQ2ya8jZX9Mkf2mL8PwU5cWsP8LyHJdNKwnrW4MteCJla0k/PHgXS8U+FTfD/fxhloXVqqVEQdc8+whol7NLj50w08P3nFR3mHXidIyY1rx8HUOJt68LibKoSV6nYzauxLw3uHnuUlGxKP7WmZ6sQjpTsY1+sWB9g6A3szbuDn82K6sk/ytFLfwVe4P2AZJCN6BRBizRmIJktHuk3sf8Q6uKasDOCifI9UWlYI+lrqWt06mns+JjEd1yA8WuyVfx5fjF4ts2j+v3l+mPfTEjpN1//3A97iiATYTkJoyEQF1qDA6KGxAk7uPSCwLAJsKDvGKwlxcQA329y/t7Y7RVQYyetVlHUkoZE5r2ali0xXD+XM9RaIoAUVp10QGw/lu0mz47rBHfAZOo6HIACRs9cQrrkVOy/lo/O3sSRBZOdDHEna4gJkBpC33t+8SXVb5dA/X09ahLgIDOLsDjdRZgXgDfiFeGqnriOxn7tme/+mUmZJx7QI6CMcNplRfBinjWIh0F+BRhP0GnnLSy8mW44P9XwCx1aZv8kdW9aTjNS7WNckYDHr36e/k8kK63NRNWYaLOcxwKuCh2+NhWYGZRwtg/9AfzyZrq+yTwOV1rsumJlvXkOJ/hzg8W9+1/c3YGSAXM/A1oCOSArA 655QrtW+ jyn6CHgZud/GZolqOrpnAt6joG+tMadOKSb8ctQNayoXIFcBvsRk+19T/eibrSI3Mih/TECJwQLbWrBW5rKdLKcrw7oUTtqLC4QrduN+l/tVAcqvYcXOnX4p8nFmKDJ0Hem25OnAmZNQ3cjMASjYk83QBA7mNtB1f04dlCKcAdEUGHsHdy0dkAPLW9zMfLmeSJK/WalIa3ymN3UOVqGfKsevsQ/hXl3WH84Zkbm9dId5ZqiqbhWB9hQt5mw1du2vKejlBfociqXa4oW8pvfY7yuXR32eryk9kUFEYSmevwqeBzh8wq8NqkSL1OqkEHWhVj1zYDpLSsLQengmogdigiYXBwf7udFU2LH4qOPYQ3dxIVT3ZbBh5bz8WFgDKHKv2PNne+E6h1uCuXPb2PLCZyvGUi4MdkHV9xF3vKA2nV9mpOPXEvG4kkgWBKNVDJVfWKNAY/dMR2gmA7F1wSvWZ+c3LZmiVqGVyT89ANkm3XEVnL8w9uGhfdHe4+V/n0pcaaFeTmsmZsynfGfW6m+Bn04WysG61HP84PoLHNB0W/LNuYNMF+uxsV/Yg1whnZACQoueyVeFHjqewCg5gJMEge5MbmarRVrNv8hID/UGwT+A+jBjwQKb1kr95dQ== 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 2024-12-07 11:55, Zi Yan wrote: > For architectures setting cpu_dcache_is_aliasing() to true, which require > flushing dcache, and arc setting cpu_icache_is_aliasing() to true changes > folio->flags to make icache coherent to dcache after clearing a user > folio, __GFP_ZERO using only clear_page() is not enough to zero user > folios and clear_user_(high)page() must be used. The sentence above is rather long and unclear, perhaps split it into multiple simpler sentences to clarify the intent ? > Otherwise, user data > will be corrupted. > > Fix it by always clearing user folios with clear_user_(high)page() when > cpu_dcache_is_aliasing() is true or cpu_icache_is_aliasing() is true. > Rename alloc_zeroed() to alloc_need_zeroing() and invert the logic to > clarify its intend. > > Fixes: 5708d96da20b ("mm: avoid zeroing user movable page twice with init_on_alloc=1") > Reported-by: Geert Uytterhoeven > Closes: https://lore.kernel.org/linux-mm/CAMuHMdV1hRp_NtR5YnJo=HsfgKQeH91J537Gh4gKk3PFZhSkbA@mail.gmail.com/ > Tested-by: Geert Uytterhoeven > Signed-off-by: Zi Yan > --- > include/linux/highmem.h | 8 +++++++- > include/linux/mm.h | 18 ++++++++++++++++++ > mm/huge_memory.c | 9 +++++---- > mm/internal.h | 6 ------ > mm/memory.c | 10 +++++----- > 5 files changed, 35 insertions(+), 16 deletions(-) > > diff --git a/include/linux/highmem.h b/include/linux/highmem.h > index 6e452bd8e7e3..d9beb8371daa 100644 > --- a/include/linux/highmem.h > +++ b/include/linux/highmem.h > @@ -224,7 +224,13 @@ static inline > struct folio *vma_alloc_zeroed_movable_folio(struct vm_area_struct *vma, > unsigned long vaddr) > { > - return vma_alloc_folio(GFP_HIGHUSER_MOVABLE | __GFP_ZERO, 0, vma, vaddr); > + struct folio *folio; > + > + folio = vma_alloc_folio(GFP_HIGHUSER_MOVABLE, 0, vma, vaddr); > + if (folio && alloc_need_zeroing()) > + clear_user_highpage(&folio->page, vaddr); > + > + return folio; > } > #endif > > diff --git a/include/linux/mm.h b/include/linux/mm.h > index c39c4945946c..72d644cc8d9d 100644 > --- a/include/linux/mm.h > +++ b/include/linux/mm.h > @@ -31,6 +31,7 @@ > #include > #include > #include > +#include > > struct mempolicy; > struct anon_vma; > @@ -4175,6 +4176,23 @@ static inline int do_mseal(unsigned long start, size_t len_in, unsigned long fla > } > #endif > > +/* > + * alloc_need_zeroing checks if a user folio from page allocator needs to be > + * zeroed or not. > + */ > +static inline bool alloc_need_zeroing(void) > +{ > + /* > + * for user folios, arch with cache aliasing requires cache flush and > + * arc changes folio->flags to make icache coherent with dcache, so > + * always return false to make caller use > + * clear_user_page()/clear_user_highpage() Missing "." at the end of comment. > + */ > + return (cpu_dcache_is_aliasing() || cpu_icache_is_aliasing()) || I suspect the () around "cpu_dcache_is_aliasing() || cpu_icache_is_aliasing()" is not needed. Thanks, Mathieu > + !static_branch_maybe(CONFIG_INIT_ON_ALLOC_DEFAULT_ON, > + &init_on_alloc); > +} > + > int arch_get_shadow_stack_status(struct task_struct *t, unsigned long __user *status); > int arch_set_shadow_stack_status(struct task_struct *t, unsigned long status); > int arch_lock_shadow_stack_status(struct task_struct *t, unsigned long status); > diff --git a/mm/huge_memory.c b/mm/huge_memory.c > index ee335d96fc39..107130a5413a 100644 > --- a/mm/huge_memory.c > +++ b/mm/huge_memory.c > @@ -1176,11 +1176,12 @@ static struct folio *vma_alloc_anon_folio_pmd(struct vm_area_struct *vma, > folio_throttle_swaprate(folio, gfp); > > /* > - * When a folio is not zeroed during allocation (__GFP_ZERO not used), > - * folio_zero_user() is used to make sure that the page corresponding > - * to the faulting address will be hot in the cache after zeroing. > + * When a folio is not zeroed during allocation (__GFP_ZERO not used) > + * or user folios require special handling, folio_zero_user() is used to > + * make sure that the page corresponding to the faulting address will be > + * hot in the cache after zeroing. > */ > - if (!alloc_zeroed()) > + if (alloc_need_zeroing()) > folio_zero_user(folio, addr); > /* > * The memory barrier inside __folio_mark_uptodate makes sure that > diff --git a/mm/internal.h b/mm/internal.h > index cb8d8e8e3ffa..3bd08bafad04 100644 > --- a/mm/internal.h > +++ b/mm/internal.h > @@ -1285,12 +1285,6 @@ void touch_pud(struct vm_area_struct *vma, unsigned long addr, > void touch_pmd(struct vm_area_struct *vma, unsigned long addr, > pmd_t *pmd, bool write); > > -static inline bool alloc_zeroed(void) > -{ > - return static_branch_maybe(CONFIG_INIT_ON_ALLOC_DEFAULT_ON, > - &init_on_alloc); > -} > - > /* > * Parses a string with mem suffixes into its order. Useful to parse kernel > * parameters. > diff --git a/mm/memory.c b/mm/memory.c > index 75c2dfd04f72..cf1611791856 100644 > --- a/mm/memory.c > +++ b/mm/memory.c > @@ -4733,12 +4733,12 @@ static struct folio *alloc_anon_folio(struct vm_fault *vmf) > folio_throttle_swaprate(folio, gfp); > /* > * When a folio is not zeroed during allocation > - * (__GFP_ZERO not used), folio_zero_user() is used > - * to make sure that the page corresponding to the > - * faulting address will be hot in the cache after > - * zeroing. > + * (__GFP_ZERO not used) or user folios require special > + * handling, folio_zero_user() is used to make sure > + * that the page corresponding to the faulting address > + * will be hot in the cache after zeroing. > */ > - if (!alloc_zeroed()) > + if (alloc_need_zeroing()) > folio_zero_user(folio, vmf->address); > return folio; > } -- Mathieu Desnoyers EfficiOS Inc. https://www.efficios.com