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 7E229C28B20 for ; Wed, 2 Apr 2025 12:33:21 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 808E4280004; Wed, 2 Apr 2025 08:33:19 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 7B624280001; Wed, 2 Apr 2025 08:33:19 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 5E419280004; Wed, 2 Apr 2025 08:33:19 -0400 (EDT) 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 39226280001 for ; Wed, 2 Apr 2025 08:33:19 -0400 (EDT) Received: from smtpin04.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay08.hostedemail.com (Postfix) with ESMTP id BDCB114187F for ; Wed, 2 Apr 2025 12:33:19 +0000 (UTC) X-FDA: 83289044118.04.684A394 Received: from mx0a-00069f02.pphosted.com (mx0a-00069f02.pphosted.com [205.220.165.32]) by imf20.hostedemail.com (Postfix) with ESMTP id 681011C0010 for ; Wed, 2 Apr 2025 12:33:16 +0000 (UTC) Authentication-Results: imf20.hostedemail.com; dkim=pass header.d=oracle.com header.s=corp-2023-11-20 header.b=BXvtVgWo; dkim=pass header.d=oracle.onmicrosoft.com header.s=selector2-oracle-onmicrosoft-com header.b=0GqtRscj; spf=pass (imf20.hostedemail.com: domain of lorenzo.stoakes@oracle.com designates 205.220.165.32 as permitted sender) smtp.mailfrom=lorenzo.stoakes@oracle.com; dmarc=pass (policy=reject) header.from=oracle.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=1743597196; 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=4oyF/i3l1pPU2543j2ZroRkUQ1tud2+jdGZJgsxB1cA=; b=7fkW7fxiPV7Brc3BBHmJSE9yqNL51usss1e//gneGwL0+PPJCKUjaVhcYvsgCxgVj/BRpB Mg190T8sfAPfWjGvqvJzw4qfhyZu/nb9S+kToXozvpp9RAt92yy0KesiIKg2yxjZOIbx08 CfIyDQVW16fwy8Wpclgx/F0EFsQfEzs= ARC-Authentication-Results: i=2; imf20.hostedemail.com; dkim=pass header.d=oracle.com header.s=corp-2023-11-20 header.b=BXvtVgWo; dkim=pass header.d=oracle.onmicrosoft.com header.s=selector2-oracle-onmicrosoft-com header.b=0GqtRscj; spf=pass (imf20.hostedemail.com: domain of lorenzo.stoakes@oracle.com designates 205.220.165.32 as permitted sender) smtp.mailfrom=lorenzo.stoakes@oracle.com; dmarc=pass (policy=reject) header.from=oracle.com; arc=pass ("microsoft.com:s=arcselector10001:i=1") ARC-Seal: i=2; s=arc-20220608; d=hostedemail.com; t=1743597196; a=rsa-sha256; cv=pass; b=nzeX7a28IU2DkDUtpBhtlIiKAEbXdDVNu9x2UQrF3tjJfZjWoTsrb9j+WVWt0R+eIiPEwr N6TFkcj/mbOsvTpKiwJs/jEnohvIyxvsL8fdUzzQTKOj8jw5k7IZ1CVWoxNALlKK+SGAee poWm6W0AM/mfaYDjree6H63y0DhndSI= Received: from pps.filterd (m0333521.ppops.net [127.0.0.1]) by mx0b-00069f02.pphosted.com (8.18.1.2/8.18.1.2) with ESMTP id 5326g8cG012887; Wed, 2 Apr 2025 12:33:02 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=4oyF/i3l1pPU2543j2 ZroRkUQ1tud2+jdGZJgsxB1cA=; b=BXvtVgWo3Wo4dcX89UTm/kR2/bYlubGze7 yXOLarYq/mQf8gf/ELCnBFwPoRf+EmsFY7WDod8Uj4fGNFlPOYREgNvK46d+rNqr QEPvnPTHbsfZQ+bW1JzQVAY1m+2Dd64d8IohWK4D2jWvEU3+AZhLFm54PjIq+rEC LA4rjMqXGff/GVgOY8c/DwS+LOfD7zS9ZMX+PfFcn2IIbU18Ake0I2eTsQoklkOt WOx9ZxuAVLM96lcCVAtuqJdpjHSl0SGrpHrzWN148Rw+l9W7WeOvamL1vYTXq7ID 8H6kq5dVKvhde5aYyWO7rV6PBtFUedWgc2RuYq6oRkEqtwNDu7eQ== Received: from phxpaimrmta02.imrmtpd1.prodappphxaev1.oraclevcn.com (phxpaimrmta02.appoci.oracle.com [147.154.114.232]) by mx0b-00069f02.pphosted.com (PPS) with ESMTPS id 45p7satacs-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Wed, 02 Apr 2025 12:33:01 +0000 (GMT) Received: from pps.filterd (phxpaimrmta02.imrmtpd1.prodappphxaev1.oraclevcn.com [127.0.0.1]) by phxpaimrmta02.imrmtpd1.prodappphxaev1.oraclevcn.com (8.18.1.2/8.18.1.2) with ESMTP id 532BmgH8004460; Wed, 2 Apr 2025 12:33:01 GMT Received: from nam02-sn1-obe.outbound.protection.outlook.com (mail-sn1nam02lp2041.outbound.protection.outlook.com [104.47.57.41]) by phxpaimrmta02.imrmtpd1.prodappphxaev1.oraclevcn.com (PPS) with ESMTPS id 45p7aahxqu-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Wed, 02 Apr 2025 12:33:01 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=gZ6K/wM7uTKHCSdlGN67mdDjrd3YzCHEhcNkV7S6lVlCJ0ok/54Kk3EYg+I7Nhv+i49ahkUGKMMcGutxzSfxvrVFFmmN1ulWvGhkxGiYYQUuqn4MMHpOWPzXVQqx1BL3pJqQjiKZ1a3gnl8iXWhAUyExS9vvJMFtqux2dmnPLL90uUmNqYLM4v/3K4+LYgDbAH7Z8uucVd9BU/7LkNrPKBISWL15P/Qh6KHflspmf7qL9stT67zQkRYOmjH3an/AsHmy5/CzL1L6IEqNF/MEQ5Q6HDaeyBYnQB7STq/KzVqY30iUJ9IHwO0gV8TVBv0nQWgMJcfnIZvw5rOwwEsMqw== 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=4oyF/i3l1pPU2543j2ZroRkUQ1tud2+jdGZJgsxB1cA=; b=dA4N3r5mxBuXIxkEC27zgooRA6mA76ERDBcRNE56Ele/wBX5xH69KT5HVIv6uiJDW6JFBcZXYrQl1ofsxYWGAZ4fgqZHvlbf9eK6ftJJDzCFOiCARjPUIYHADuLaBf15umDj9p9Prddpar06lnDFi179bek570Vt/8a4ht8sART2wVfuwH1vsBtAlKtgvsPcSg89YWnQM/Jod00IKQOdJejlIUjXDLVLDZqVuJgiMCUAlFjwDJjT4N8HiOIqojQIYmbigc2Qo1DzDxHNu+YFjDr3aqGb+6BXkja2NRHJX7cNddqR7Qt6QXQYOedF4tHjfGl+SWp6PKSKxDetQQDapw== 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=4oyF/i3l1pPU2543j2ZroRkUQ1tud2+jdGZJgsxB1cA=; b=0GqtRscj/FxtZoOaDcyAYKtaITwz7EJgQaD9csiN3GaAqgaOtzYRnjtgXNk7LiuCjDL36MFgKCKyE/2u56tiHSsPlFx6x7UuadfdhgG27wFBj1F+Vhl0gtYI2dWbosj0Za6zv0+aPOH3kFnHUxNzdujxNBfcuh/mIFZyoUJwSD8= Received: from DM4PR10MB8218.namprd10.prod.outlook.com (2603:10b6:8:1cc::16) by CH0PR10MB4875.namprd10.prod.outlook.com (2603:10b6:610:de::7) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8583.39; Wed, 2 Apr 2025 12:32:58 +0000 Received: from DM4PR10MB8218.namprd10.prod.outlook.com ([fe80::2650:55cf:2816:5f2]) by DM4PR10MB8218.namprd10.prod.outlook.com ([fe80::2650:55cf:2816:5f2%7]) with mapi id 15.20.8583.041; Wed, 2 Apr 2025 12:32:58 +0000 Date: Wed, 2 Apr 2025 13:32:55 +0100 From: Lorenzo Stoakes To: David Hildenbrand Cc: linux-kernel@vger.kernel.org, linux-mm@kvack.org, x86@kernel.org, xingwei lee , yuxin wang , Marius Fleischer , Ingo Molnar , Borislav Petkov , Dan Carpenter , Andrew Morton , Linus Torvalds , Dave Hansen , Andy Lutomirski , Peter Zijlstra , Rik van Riel , "H. Peter Anvin" , Peter Xu Subject: Re: [PATCH v3] x86/mm/pat: Fix VM_PAT handling when fork() fails in copy_page_range() Message-ID: <18b18a90-9850-4015-8038-35e2e083ece5@lucifer.local> References: <20250325191951.471185-1-david@redhat.com> <7b6f57b5-c99f-4be7-b89c-1db06788d2b5@redhat.com> Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <7b6f57b5-c99f-4be7-b89c-1db06788d2b5@redhat.com> X-ClientProxiedBy: LO4P265CA0234.GBRP265.PROD.OUTLOOK.COM (2603:10a6:600:315::11) To DM4PR10MB8218.namprd10.prod.outlook.com (2603:10b6:8:1cc::16) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: DM4PR10MB8218:EE_|CH0PR10MB4875:EE_ X-MS-Office365-Filtering-Correlation-Id: 49880c19-6fb8-4b1d-8372-08dd71e27fec X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|1800799024|7416014|376014|366016; X-Microsoft-Antispam-Message-Info: =?us-ascii?Q?CKABqGc/CC9/Pqi1TAXg/7JgXAy/tYtgBfwIAHJK9zVlgLmpOVL6FM+AEZEO?= =?us-ascii?Q?FMTBy32wJiBnimR2lv14m+Oj4adeOx9NPPxIsPvEaVzIHUs4BQYAPZj1Z17G?= =?us-ascii?Q?5jmNsh2xxCwWJ2RduI8qDLle4hpBUTlle9lhy6nJyQO86Ef60HLMp2ENG2pq?= =?us-ascii?Q?27mI/WHQFYBl1DSwdRI11rq4dysfHgi6j5cwzBwzLGD2Y74gzc2pnXOisiSd?= =?us-ascii?Q?gylxyfGUqlKX/gV4RcfO8T1RxX0jRqE0QbJgN/GJT5zQrHgRJ4j3Ru9Lbmvu?= =?us-ascii?Q?cP7t6FAnPeLH0+4ziwgaNE3vGTk4nNsbAAxUOt6FDjCqG8PkzrRdoc3Ozsj3?= =?us-ascii?Q?qZobQLnHm3ce4vn24Qk2gu7rJHbaantn/w7S3Hl+bXrV/k4kHUnNc5D9Z/SR?= =?us-ascii?Q?xQp4A+7sL9NVu3RK0NDRcPR+eo38FBRcdQWifFhLkp2QJpszG5mgbteF9sRB?= =?us-ascii?Q?5gVGikPKvxmgvXQ80GrlHltTvKkw/5lEPSnvxkUIvzwE0B+WSGDo4HgUU/lK?= =?us-ascii?Q?Cg5m2DvJfXI3U5jmWx9SyxEAu3fL0DUEcefPDoA30+6t8FhUPOni+EIMveUj?= =?us-ascii?Q?qKOa5eTD+ebIJfU47WZyajam/noABDQ70cj5ROjG6CIAFo7zP8LHtNAYOQFt?= =?us-ascii?Q?wCRYaaW/JswkPaGQmDzrRlwcd6mhmj5WFLxi3HH4hQ8jaWRqP/zqJrkKG6no?= =?us-ascii?Q?/1tiNXB2yMGxDStYaZL7yt/Tso/QL9+im5ruaVW2/RfNIO8O7P4zqOVWbAIi?= =?us-ascii?Q?6qKiXryD06LtTKpHe1k+luXSLzUcpizt76IEDOimEueqdSGDjCycjxijVJZ3?= =?us-ascii?Q?5mOK6twOkky6chf6qkbQPamSlzfitMoHWJd2wFbCE6yuTHuGlFVKGjtwkME4?= =?us-ascii?Q?ylNX2DjpIiX9tGk1G72r7xRTfwqFRHYC/vIlxyW48e5nU/mRMGzGXubvC+KW?= =?us-ascii?Q?W7gapMioJs2KqwAYR8ZDzG2jAaXyYJYvXQH/nF9r6cjru5HrW5OSSQygNZL2?= =?us-ascii?Q?Hkgp41nyaRoOzJk0NZEu7sZpSPURk9YcE+SZqo0lsPInzLj5jl+hJW0KB1t6?= =?us-ascii?Q?VmKMkmcoqwkVtYljqwJhh19mHf/bcF+qZKBIvUPAwFEAioYfbx3cRUf1TOOu?= =?us-ascii?Q?vXV6Mn4St1iTQarltWICdqAj028HHqQc8IcaoM0e1+d+Fcy5foMce1fzZ+nS?= =?us-ascii?Q?in/T1Xee8T297kGguRJKZb0AT/V8eac9NpI0MGR8/4MHXoeKYSgn8hQjF4i/?= =?us-ascii?Q?yxmXytjTZ4YCn23gKY3Fp6YFXcGR0Y10vuOAaqHN7Wot9/8/z69sUTezwRHY?= =?us-ascii?Q?BAB1c5yPIummEP/S/t4fItc/tKINnWfKZEymoiHPjGCtzU9yr2TMmRGFE0eG?= =?us-ascii?Q?nXzwmAvLHIglm06gdp+mP0cOCF85iJ8JdtmZILqT93w17aUQdA=3D=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)(1800799024)(7416014)(376014)(366016);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?yyeIIIngM7KdIJh9FrIx5xkB4CD2L5Js6MtUr3WucmzZn38t1ID55RMt9mpl?= =?us-ascii?Q?8IqvhfGHGLtF1PCwkhGGoo10ID99+fl4uuvzB3xImhV8vMYb9BPpa6MCjQlL?= =?us-ascii?Q?UN2Qtl9FOQBKBypnwoEwHu71IeznfE7vhzZDBrMrx/IwSFo8TQN2z5BknnMp?= =?us-ascii?Q?+wD0g3PMf2tb6joEcaYNyZ4cnCk+gHgv1YvBLdjpU/GM7EquqIWRY6t/v3Vr?= =?us-ascii?Q?xur9zyinmFm5JoOe0J+Qnyk7pMl/Ofs1BYuDoVeqoj2/w52/DktraLWnOh2j?= =?us-ascii?Q?U5biZcJKoXME/y/t+BNkdJlvAfFQBejPvl3QM7x0yzh3aCwLh+oGuQUfhRPy?= =?us-ascii?Q?0BOXVpLTnQXO+WG4E+a4r7kXeJ+Kj5+0JTGxtfpRshT6oVIBrlVi5audxOb1?= =?us-ascii?Q?+/sTX8uhIKAXv9xowZbTnTt4l2Jk0yCvoyIlfLqrnVhMXNe2BI7nHmcAYMB2?= =?us-ascii?Q?WoKWvGep7u6OXQhZjFCrx7DNmJxHKYluvbXaM22+lWlH1gjLPJhiWIALyLdJ?= =?us-ascii?Q?OldqLdHjz9FgKUCEAGJEuDc3suiKuy/zfbwVBGHJHzZLC7P+xh2qv0739eqO?= =?us-ascii?Q?ju97UAri//H2hx2fGCSP3BvQ+tOFZkM9rgAoRxzs4hrFK3XW6Bjz2CwnwkuA?= =?us-ascii?Q?ds7M4AfHTYtCVm5VlmrHrr5pFgT4jLkyG5KTKQlhMN6RigHkRw4bYSEiPrmr?= =?us-ascii?Q?yKsdlGXr7oSIBx0fMOP3Wi82hqDyC7L44ADBHKDd21M7AwpGPyVftWdDP8vE?= =?us-ascii?Q?dYNBNCmp09cjVzszMLToaaUYAfKB43R2Eb6JB81K/5X/eB7JjPovMN3Breal?= =?us-ascii?Q?xRb/iK3BZvQgJFky70gyELY1CCklzWrpx5aBrkWHXnOpKZPYsrYAJjs/dbfz?= =?us-ascii?Q?T/h3ml9EmERfuhQqByM+0w2ruUHCoDhZ+1Mg9elUhygQ9i3Z5c2NQe3g/fnf?= =?us-ascii?Q?flJPhdK1FA9OOB4H/bOdU2NdIQxGSBsDC+tMPkV+D9ZKctlPEueSFltX/3Hc?= =?us-ascii?Q?uFmsXgBfr/L+rS8nQIKRCj2u+h7V6mRAYm5VatDhjCKZUC+RXZl5FHBgraaq?= =?us-ascii?Q?WfXMU1bVeJK6pe6wFu03gpHbZZZIjUDdciLlsyvKs6nhJWDfapXRNP4fmy+Z?= =?us-ascii?Q?c5jzwwsaSUal44O6gvPGM1eYhi7q6qaVVQiAGchiG+EwyONgREQRGTMsweSq?= =?us-ascii?Q?+jrvrg3pBpzGcwPo91HdHx5fQIZHRk3WqHuyxf+WbvxonzOViOCSJbgf8bDD?= =?us-ascii?Q?IND1nlvfZxdVibi6hDRaar7/h30QmNihMhix2kCG8wGqyuPenDA5V8JUkRip?= =?us-ascii?Q?0nKL0Bcb+LC7q1AmOZNj7rg25egj9CyDmbLTxqbortpZQ74V9XDdJMveuKhk?= =?us-ascii?Q?6IU70SRcyqb5xGZ4K6L7btfwDzy/Cg4EAEZpo/6AYfQrCBvUjgUaHIxrk/mL?= =?us-ascii?Q?69ssXlr3kWsSJmRHXwL7LkaHVqBhxvSj3ZYFCGnrCryslcUU+10icD/DWQd4?= =?us-ascii?Q?977XBzV1wIu2mJNLpzlM9vpImuHB80EFXGEOtRpKDauU0yZ4ejIXMITTVth4?= =?us-ascii?Q?44m40m0vBSgcjCgh79ZqKrX2V4ScHh30adK9mfHiGeKkoqxlg+YPbrkOSgQu?= =?us-ascii?Q?1w=3D=3D?= X-MS-Exchange-AntiSpam-ExternalHop-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-ExternalHop-MessageData-0: uw0SXVT+eN+DTP9G96pdFIq30HzaC2m4d2Ww2e+yDhkYgont1f8NtPca3i/f4pjCowYxymYZLfaUnJNarWD/eTRlhgKOTBTVKOFX1GGAsC00eWkgy7RPH3JDiEN6U4cSzyiVTNpi9PaT6rKC7RTi5v4AduvhBC+D6VKBfLbJx/GROxDjjiuYZbYW9dE+iw7bwk5PijbI6ISMO20i4bIxtOOeEhPTqOc51kSeqWL8qOBHJtZeMCbex5Qim2apmphUJxMVq7LNBi1jwirfrozTUBuXEN7UgMlHfJEMA3KjPCJhvbGVUCooQ6hisxLg+4bhGWZRKakfpLlD0yFSBLBChIptm9EvfwZWP5EfIaNIIgafEYBvuCOPSVOeV002LNz6Y44o9xd4XmQI/dr9BGF6/Pdg7pL0aRsE3wDwEhaZfqLjUkNLMf9h0Ca4TtXjKbkMa/ii9UmiSybD6TpVaLdP5NbBxN49f8Bd4fsH5ZHW18Cu6BF+x11OSRRCyWG3VF4ap3QskuYaGavYTOw+juhfq5/DOABOmd1KmM6JIYp676iCnfr+8RufdLtPMaFjK0cHCf97pIxXt+WzmwQS4XmS/3PHMl93qyCu5LxGgErYUFU= X-OriginatorOrg: oracle.com X-MS-Exchange-CrossTenant-Network-Message-Id: 49880c19-6fb8-4b1d-8372-08dd71e27fec X-MS-Exchange-CrossTenant-AuthSource: DM4PR10MB8218.namprd10.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 02 Apr 2025 12:32:58.0769 (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: AnSVV+NRnNkaD9V29xVFeZTTRvMo4jGFOBJLddFBAWpIHRb8HksFUiJbo2E9AnF/ONl8V1NNDfp11pAvMv6koi78yXkyP8IYMXmnN6APQbs= X-MS-Exchange-Transport-CrossTenantHeadersStamped: CH0PR10MB4875 X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1095,Hydra:6.0.680,FMLib:17.12.68.34 definitions=2025-04-02_05,2025-04-01_01,2024-11-22_01 X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 mlxscore=0 adultscore=0 malwarescore=0 suspectscore=0 phishscore=0 bulkscore=0 spamscore=0 mlxlogscore=999 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2502280000 definitions=main-2504020079 X-Proofpoint-GUID: laNhX96UHCFDyM0Sidd4-IMhxoa2Rd-- X-Proofpoint-ORIG-GUID: laNhX96UHCFDyM0Sidd4-IMhxoa2Rd-- X-Rspam-User: X-Rspamd-Server: rspam09 X-Rspamd-Queue-Id: 681011C0010 X-Stat-Signature: noeztx3rodgyyzakkfgsm38fgkgjf98r X-HE-Tag: 1743597196-829220 X-HE-Meta: U2FsdGVkX18UU+fh6+AByTsoZogOOP+rtUTE8uRn2k/T7j1QlE/Q4Ct4yN+1FLcmOuyjFITyozEwuKpCPEwWRquK6SwlmcCnB/arvMYrvU9OQft5kD4IIabmxnLb3VGTr7Isietuk0C1WJFxQWVlKEWzTfUAmhVtsAwvfiSGtaqvQjATB21xL1clbJOebfmgAj6FvJngcTy6RX74VdKrdK4w9NMs7iyBdXEN9zDeTpIMYUQYbz4nhwuNXvHLL1Rnw3I30d1E002p+gaM6A1TZ6Re4veQOMh+kQ7SQwstVpdcronVpM6DicnZ5M3tK/qgskveLI/TzArkRQZWtcpVaAzzTqifxK9Py5PwV+aGAylT5V9HP28vgOry3Q+57HYNJFpRUSjHWAyG3Ku6a2fmXjXk6sR+dBU5iw/yVEqR/S1VtUgEuvuUfJ99lgXoVwZFvxosEXGFl00RvEdu46CNmJaGcPqS0mqTPtPs4OQpgUKDH3g43mh5USkGC8rTE46N8dYUfrU08AfF62L1ag5C+Px8wXtn4Od+jglUMvZEQLl5uxxie+5/qiJz+QAQcbYYoaCgJYBkaEX44PeT/wlHxusGzaK2uW0b/ezcIv01ktqKPWvzrM6XRxL0BQsJDwF3rH1RPnQvv2ftP/HM6zqk0WCpqfk9KEF9O/A4sLKufmjpTzL00qfcPt7IKCWuYaU2Uci+yZVUSwa6WditjcEDkSqj/TS0o24X2WviG5Apvbb78vSQQCHeBX21tLGVcNHi6/xNckRhbyE+xDSWMZ3YpokFIKFWBnIaLRCHda7aacTQzF21bwMYjEYj052MNal47b+TppH3bZgXfYbNheWvyYVwg60RsPnK9oC4bLyBYUZ+/CgyiV4PBwbM5IIAkEO8mKvwAsp0w1kU+Phkh94G17q6LdzMO+l9OY5tO/BrhX0T8l1VXklvkXQn9AazI1hGxjdBvDhfAYQN594tISz zIQ4Uf5/ MeG18UvZp1/rerrRVOfFdKKLWEca5iYxx025vLoyg9wMKbUuzViS4wQ43qq4nFCyU/MAZ9mtqnYWuNolYSM2GCewmfpuwNa2hzC2cTUFDmTDEtm363+2xl+tITYi5lQilw3h/QbYseHUEj8GLvI3F3u9JHEH6fpx5TEzezmU10Ez/UYpZ5volHAv4yoYGldzcSJOahSiOMQ1WOn6dPzSK8Gl+U0/kJZrCuYI7b+TM0+sFzvWPo4yVxoGcFKcgrwMLMmREOCgcBvHL2XSujlE1cxCzZUA8E+iJWl4Ho68uiQKAR2WMf95T+z4alIl1msMX1JRvRvFhwxdPWV6pHQ05ChKDtaxq7IGxgrL8SiD9tTI+M2UNqvZT1NLfaLzmwvHgF+ae4eXk/rFvmm1VEjQYSeWN6iMzFqFyDmmgtrBpNZ5G9p93HIT9/8RZ/KoBT5tqsQTsJaUd1w4/49e/8+xyIYA6XdH9qiWXHk4rEs629Ti0JfiWMBE1d1IiTgvjZOZvMse3OpclXPLxySR6+KnW86vyj1N6nN951t5rXhCUtXe6Qu9TBm/uvW3ljVx+jUxS1FR/zYJwHY/l+gnl+aVjoH75si6EbPXs5yEUdRrcZBrwsR4AXNyakLSKkezl2aWt8SGbUfuT8UomWlEO36ZLwx9RN9bEuHBgLMOygFetlgwjz/CGhOfxEQGBNnQgs9m3anrWdU7zNELJdWg7DBWkavsxdPW27eRszryqGQ2s1m0REKKjFJwR0ClRx1VyDFd8ljLgv8ny8shFMt9R3+L5xzXWNTVoTv+EjalQIZ53RDXPpjTzbRR8N9TUNy1Zf4itAWVK2Ej8Mlkh4za5ELB3x7L+mN9cYi8YVGbtOoQQ+3wYhcfSXKXadbyq7MdLKvy1HEs9MLNUpqDtERzqlEGA1kShmcEqq+g8m5DC3NvMFPfrPTSfL/kO2VDM1qEeJZSKdjJ95F7GL1iqfNN8LdwIaS1xrQ0p zSbi3lxy SibvuehrFbz6RncZFkrxFcrmzYczWwxzudjdUZE4xXIUjEGP9odiltnUR3CalvCjKsHXBMcLYdJ5veN34urTAr6CTy5N5ZnglapedKd0xb6rrfmOYrCQpw== 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: For the whole thing with this fix-patch: Reviewed-by: Lorenzo Stoakes On Wed, Apr 02, 2025 at 01:36:32PM +0200, David Hildenbrand wrote: > On 25.03.25 20:19, David Hildenbrand wrote: > > If track_pfn_copy() fails, we already added the dst VMA to the maple > > tree. As fork() fails, we'll cleanup the maple tree, and stumble over > > the dst VMA for which we neither performed any reservation nor copied > > any page tables. > > > > Consequently untrack_pfn() will see VM_PAT and try obtaining the > > PAT information from the page table -- which fails because the page > > table was not copied. > > > > The easiest fix would be to simply clear the VM_PAT flag of the dst VMA > > if track_pfn_copy() fails. However, the whole thing is about "simply" > > clearing the VM_PAT flag is shaky as well: if we passed track_pfn_copy() > > and performed a reservation, but copying the page tables fails, we'll > > simply clear the VM_PAT flag, not properly undoing the reservation ... > > which is also wrong. > > > > So let's fix it properly: set the VM_PAT flag only if the reservation > > succeeded (leaving it clear initially), and undo the reservation if > > anything goes wrong while copying the page tables: clearing the VM_PAT > > flag after undoing the reservation. > > > > Note that any copied page table entries will get zapped when the VMA will > > get removed later, after copy_page_range() succeeded; as VM_PAT is not set > > then, we won't try cleaning VM_PAT up once more and untrack_pfn() will be > > happy. Note that leaving these page tables in place without a reservation > > is not a problem, as we are aborting fork(); this process will never run. > > > > A reproducer can trigger this usually at the first try: > > > > https://gitlab.com/davidhildenbrand/scratchspace/-/raw/main/reproducers/pat_fork.c > > > > [ 45.239440] WARNING: CPU: 26 PID: 11650 at arch/x86/mm/pat/memtype.c:983 get_pat_info+0xf6/0x110 > > [ 45.241082] Modules linked in: ... > > [ 45.249119] CPU: 26 UID: 0 PID: 11650 Comm: repro3 Not tainted 6.12.0-rc5+ #92 > > [ 45.250598] Hardware name: QEMU Standard PC (Q35 + ICH9, 2009), BIOS 1.16.3-2.fc40 04/01/2014 > > [ 45.252181] RIP: 0010:get_pat_info+0xf6/0x110 > > ... > > [ 45.268513] Call Trace: > > [ 45.269003] > > [ 45.269425] ? __warn.cold+0xb7/0x14d > > [ 45.270131] ? get_pat_info+0xf6/0x110 > > [ 45.270846] ? report_bug+0xff/0x140 > > [ 45.271519] ? handle_bug+0x58/0x90 > > [ 45.272192] ? exc_invalid_op+0x17/0x70 > > [ 45.272935] ? asm_exc_invalid_op+0x1a/0x20 > > [ 45.273717] ? get_pat_info+0xf6/0x110 > > [ 45.274438] ? get_pat_info+0x71/0x110 > > [ 45.275165] untrack_pfn+0x52/0x110 > > [ 45.275835] unmap_single_vma+0xa6/0xe0 > > [ 45.276549] unmap_vmas+0x105/0x1f0 > > [ 45.277256] exit_mmap+0xf6/0x460 > > [ 45.277913] __mmput+0x4b/0x120 > > [ 45.278512] copy_process+0x1bf6/0x2aa0 > > [ 45.279264] kernel_clone+0xab/0x440 > > [ 45.279959] __do_sys_clone+0x66/0x90 > > [ 45.280650] do_syscall_64+0x95/0x180 > > > > Likely this case was missed in commit d155df53f310 ("x86/mm/pat: clear > > VM_PAT if copy_p4d_range failed") > > > > ... and instead of undoing the reservation we simply cleared the VM_PAT flag. > > > > Keep the documentation of these functions in include/linux/pgtable.h, > > one place is more than sufficient -- we should clean that up for the other > > functions like track_pfn_remap/untrack_pfn separately. > > > > Reported-by: xingwei lee > > Reported-by: yuxin wang > > Closes: https://lore.kernel.org/lkml/CABOYnLx_dnqzpCW99G81DmOr+2UzdmZMk=T3uxwNxwz+R1RAwg@mail.gmail.com/ > > Reported-by: Marius Fleischer > > Closes: https://lore.kernel.org/lkml/CAJg=8jwijTP5fre8woS4JVJQ8iUA6v+iNcsOgtj9Zfpc3obDOQ@mail.gmail.com/ > > Fixes: d155df53f310 ("x86/mm/pat: clear VM_PAT if copy_p4d_range failed") > > Fixes: 2ab640379a0a ("x86: PAT: hooks in generic vm code to help archs to track pfnmap regions - v3") > > Cc: Ingo Molnar > > Cc: Borislav Petkov > > Cc: Dan Carpenter > > Cc: Andrew Morton > > Cc: Linus Torvalds > > Cc: Dave Hansen > > Cc: Andy Lutomirski > > Cc: Peter Zijlstra > > Cc: Rik van Riel > > Cc: "H. Peter Anvin" > > Cc: Peter Xu > > Signed-off-by: David Hildenbrand > > --- > > Apparently smatch is not happy about some scenarios. The following might > make it happy, and make track_pfn_copy() obey the documentation "pfn set if > rc == 0". > > diff --git a/arch/x86/mm/pat/memtype.c b/arch/x86/mm/pat/memtype.c > index d721cc19addbd..a51d21d2e5198 100644 > --- a/arch/x86/mm/pat/memtype.c > +++ b/arch/x86/mm/pat/memtype.c > @@ -992,8 +992,10 @@ int track_pfn_copy(struct vm_area_struct *dst_vma, > pgprot_t pgprot; > int rc; > > - if (!(src_vma->vm_flags & VM_PAT)) > + if (!(src_vma->vm_flags & VM_PAT)) { > + *pfn = 0; > return 0; > + } > > /* > * Duplicate the PAT information for the dst VMA based on the src > diff --git a/include/linux/pgtable.h b/include/linux/pgtable.h > index 4c107e17c547e..d4b564aacab8f 100644 > --- a/include/linux/pgtable.h > +++ b/include/linux/pgtable.h > @@ -1515,6 +1515,7 @@ static inline void track_pfn_insert(struct > vm_area_struct *vma, pgprot_t *prot, > static inline int track_pfn_copy(struct vm_area_struct *dst_vma, > struct vm_area_struct *src_vma, unsigned long *pfn) > { > + *pfn = 0; > return 0; > } OK interesting, I would have thought it'd be setting the pfn in the local var, but this is probably actually better + clearer so we consistently set the value in track_pfn_copy() (in non-error case). > > > > -- > Cheers, > > David / dhildenb >