From nobody Thu Oct 2 22:55:28 2025 Received: from mx0b-00069f02.pphosted.com (mx0b-00069f02.pphosted.com [205.220.177.32]) (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 B091E1DFE12 for ; Tue, 9 Sep 2025 19:10:33 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=205.220.177.32 ARC-Seal: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1757445035; cv=fail; b=ibHwmCKWdc7u8R+gC/xoLwTw+apEYm7UJPYWuHTeyA6ovBfUgCVcvMkMtZpXIo0XwdHNO7KXdb/4RNs9CtqKxG+GikNWaTVPnlJ01C6Sq3QntZdYRSBO9q/mAqKtAhUdMfpZpPd2VAa4y/5urfKRBXbUUYXwm9JNKEtXKNLD32c= ARC-Message-Signature: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1757445035; c=relaxed/simple; bh=VXr0zwWnlslFSz4I1tmH+5J8w0yiBx3onN3zmH/oXlw=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: Content-Type:MIME-Version; b=PQb4pCU9NBnxrfPSKmToJ/N2+caKgMbrJiHhH1tSOmC0oCHbdRpz7mPYA2rxbOxWqQte/AEDwhvcPWNTGFZiFJP0k+TEJxFa+ZwpSeWZCdjXvxzi2sfiE3AUhKuRtGEhvtUM+RK8ag+FKhx6jsTqGfct9JleejHf54+rcJ+jEmw= ARC-Authentication-Results: i=2; smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=oracle.com; spf=pass smtp.mailfrom=oracle.com; dkim=pass (2048-bit key) header.d=oracle.com header.i=@oracle.com header.b=JUQtA/sN; dkim=pass (1024-bit key) header.d=oracle.onmicrosoft.com header.i=@oracle.onmicrosoft.com header.b=VKoqu772; arc=fail smtp.client-ip=205.220.177.32 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=oracle.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=oracle.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=oracle.com header.i=@oracle.com header.b="JUQtA/sN"; dkim=pass (1024-bit key) header.d=oracle.onmicrosoft.com header.i=@oracle.onmicrosoft.com header.b="VKoqu772" Received: from pps.filterd (m0246632.ppops.net [127.0.0.1]) by mx0b-00069f02.pphosted.com (8.18.1.2/8.18.1.2) with ESMTP id 589FtgWo020291; Tue, 9 Sep 2025 19:09:55 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oracle.com; h=cc :content-transfer-encoding:content-type:date:from:in-reply-to :message-id:mime-version:references:subject:to; s= corp-2025-04-25; bh=mEEePusihNpX7da3SzTojd1qJc9pT0Qu9LVSHOZ2qSo=; b= JUQtA/sNvI2WozhnK2LYC2tdBRicuLLjn3dmXbmj6oES5SxAduBx/jvMlB5DjsLH JkM0EirAHiLSRYQ02GFnCmxHFYIbaHgC+17KXilFA0538WoVkjyo1bGoq9vi+2LZ GisTZJWIcUjLywXlpjk2cilVinO6FHevI/pRcoLFdwzCPhk/yoivIF/RTGVV/kHv WW3p7/4peGwA0hM4qglKddcRc0VY5SP3pvtN9i6n7yj0xd/LFBgoWshSHYL7XrLj XSu8q0nik9JZZrSNzZbO7Ir6DGy/l3PgWyiAtbmbnKT43UO4iIixBv+Szvt7eU2C AwXynVBHMoryS+qJcsNyzQ== Received: from phxpaimrmta03.imrmtpd1.prodappphxaev1.oraclevcn.com (phxpaimrmta03.appoci.oracle.com [138.1.37.129]) by mx0b-00069f02.pphosted.com (PPS) with ESMTPS id 4922shtjd3-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Tue, 09 Sep 2025 19:09:55 +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 589HFIqr012871; Tue, 9 Sep 2025 19:09:54 GMT Received: from nam04-dm6-obe.outbound.protection.outlook.com (mail-dm6nam04on2084.outbound.protection.outlook.com [40.107.102.84]) by phxpaimrmta03.imrmtpd1.prodappphxaev1.oraclevcn.com (PPS) with ESMTPS id 490bda8ett-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Tue, 09 Sep 2025 19:09:54 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=O//kPNLdBtcn1jHxWLrnlA0f9+/95seNopFsrR+gscI9X0Fj133TJtvsHqY3dcpGdJyavGk1CYPFyRQt/sC+f8FlpIvJtnp/LY0m44Q7oYuKA/s2IWuU1g7z6uqnKgYVLO8cL2rH+2lS1zi4zmWnt8K3pnnvqRBa+8Y8ZKghPQQeGN3nm2uYPx2cHHSXUb/W7eJceYWQMPmg5tYkmAgZUkUb10veZLsjjIefVrsrtwPMY256/VnzO6y9D83FSo/HsJoRcqOJh8HQOjzTIBRuBqiSThqZesTXl3MjHQd7rOkF6y7wGstl1bVExMnZoEeM10h1C8a1dwPBkoQDyHXpoQ== 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=mEEePusihNpX7da3SzTojd1qJc9pT0Qu9LVSHOZ2qSo=; b=o3KzAv6VTg1EZW7OQ2aQk3DFF2RaQ2ZH3Y6YWu1wKOp1tgZB4tz7VMzp3JGVAltfZSJ4DLcBv8ds2sSaff9kDBfpFr5+bjKC4fuFvKqdU67+ffxQmYvrW7zYNsYjjnoAlFBje6aUdXuaz5U5qSFsyaL0FNAjjP6YhVL9/GwswhhciNEGE2zIvGwOM4S8mONDdbgBolurxoFayl9Vqi7HZBAkZ90kfFmicUY2b/OPdMTBOuYQuPWzbQArQOlSSfhh1rlVOA33yWArDp64Xv4cpKMDoZYGwtvGY+3P4GAVBWT6f5zpJQpLlVAwm2r4yRSNMX9Y4z8+wbnNrSRbV6lW0w== 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=mEEePusihNpX7da3SzTojd1qJc9pT0Qu9LVSHOZ2qSo=; b=VKoqu772YXNGGMfZP39syUznHfm3GWqRexVOk8fmwKB2J8NLN7nXB1tt8bBBL9HyNZKzrro8XC8rBLME0EPwz7Sx1Ik+CTXuu1FsllowpOIE2Z9VLfYr4JhaczXnLr64H+Dy6/Dh5xZIYsK9UQ9e4vlrZuT6bVMmLPrYHjQaz+g= Received: from PH0PR10MB5777.namprd10.prod.outlook.com (2603:10b6:510:128::16) by DS0PR10MB7052.namprd10.prod.outlook.com (2603:10b6:8:14c::9) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9094.22; Tue, 9 Sep 2025 19:09:51 +0000 Received: from PH0PR10MB5777.namprd10.prod.outlook.com ([fe80::75a8:21cc:f343:f68c]) by PH0PR10MB5777.namprd10.prod.outlook.com ([fe80::75a8:21cc:f343:f68c%5]) with mapi id 15.20.9094.021; Tue, 9 Sep 2025 19:09:51 +0000 From: "Liam R. Howlett" To: Andrew Morton Cc: maple-tree@lists.infradead.org, linux-mm@kvack.org, linux-kernel@vger.kernel.org, David Hildenbrand , Lorenzo Stoakes , Vlastimil Babka , Suren Baghdasaryan , Michal Hocko , Jann Horn , Pedro Falcato , Charan Teja Kalla , shikemeng@huaweicloud.com, kasong@tencent.com, nphamcs@gmail.com, bhe@redhat.com, baohua@kernel.org, chrisl@kernel.org, Matthew Wilcox , "Liam R. Howlett" Subject: [PATCH v1 1/9] mm/mmap: Move exit_mmap() trace point Date: Tue, 9 Sep 2025 15:09:37 -0400 Message-ID: <20250909190945.1030905-2-Liam.Howlett@oracle.com> X-Mailer: git-send-email 2.47.2 In-Reply-To: <20250909190945.1030905-1-Liam.Howlett@oracle.com> References: <20250909190945.1030905-1-Liam.Howlett@oracle.com> Content-Transfer-Encoding: quoted-printable X-ClientProxiedBy: YT1PR01CA0056.CANPRD01.PROD.OUTLOOK.COM (2603:10b6:b01:2e::25) To PH0PR10MB5777.namprd10.prod.outlook.com (2603:10b6:510:128::16) 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: PH0PR10MB5777:EE_|DS0PR10MB7052:EE_ X-MS-Office365-Filtering-Correlation-Id: 0468cccc-efa6-411b-937f-08ddefd473de X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|366016|376014|7416014|1800799024; X-Microsoft-Antispam-Message-Info: =?us-ascii?Q?AUvlZRkqrHPa9FsBX4NjqBiqbQmsXvhzBtxFYQoxxhOCOHlJxXTbhxccMPMc?= =?us-ascii?Q?IiMiN04NhWrS+8C4Ldp1/Y+jV6+feZ4fpophy+1iGibRnmy1LukHmHwLF3OJ?= =?us-ascii?Q?jmSTLqhhAE5jOmOdQ6zO2NKEQenPlxUJQ8wRnrvTJMZZXKZAxIlwHtgWWydl?= =?us-ascii?Q?cMfAOebkurOnQnAj8l8Mcys6VecGuL4iLv+l9v0ckMxn6aiintg7ujlYSjDw?= =?us-ascii?Q?cbGr7dFgQd1cbXA5n869jkJbDjfWHpUmcHg82qWavSEUS7Q9zMMZiAeiW8Mo?= =?us-ascii?Q?TIKpSbxUiX+7XfRKExSUN5DdS5sGHHYAQH7f7zvmNBKa/ndqQXqeqT4SKzFl?= =?us-ascii?Q?UiPKg4Ti5lrS2f+NL+dIe6QeedRtamJwpNERNiQJTmhoDokDnn6JxG0cnsVU?= =?us-ascii?Q?Ozd5a+MKklWKa7ssi5KgsRvvKJyr3DHSMZDsZuD961SZ/QCxOGFAFpuYUVEd?= =?us-ascii?Q?mT5LlT859/+vy7L6ssomNOcVTRS16JJiobOAdRLPjV/nSjXZj2YKUkZR3F/N?= =?us-ascii?Q?ARyRNoZqmhX74m4KnhBgkgv1aVOKpESASiwsBJY0UYKk9PhtoRJd+RIxQO/z?= =?us-ascii?Q?rOwtQQietqK3N3vyH/TtDw+VgiWj3myRv00eTKo2xnkZCm/YVga/CgM3TYIN?= =?us-ascii?Q?4aq26720EPXyeHTV9jL/as0jRBEnWZ4pWzptdD66wo2vcg/X8KmVre5oWuuq?= =?us-ascii?Q?S9A1o76BYTlAQx3wjXmEhOJFUY4wnjL7FVppgFGDRGUzSBEhG2uPIYgbDmEi?= =?us-ascii?Q?hT1NJTPR0UQWo+a25/J2rS4hLbGcAKeNBaFZuPx8qSj5K8ZxYGuAMasUFFIL?= =?us-ascii?Q?k2dPwxVxuuGf2w6KJEY008gUUBG9dHWSV+Yp9v0xnfguYoLkzU6t4PlT+DWL?= =?us-ascii?Q?dktQoKHpjh3JSBupFu2b6rT5dOtRq7zGz0xQfdmHIhft70zdriiZuy9Zr1zt?= =?us-ascii?Q?mAqEPl79fVy+AXhr6EVdR/SgRTlmf0P9xWKCbJz7nA+48Ho9ySv4bAcC9rCQ?= =?us-ascii?Q?62xZp4dSCM9WM1fS+mnlOMyNBzN6d3JRoZhdLe9O0y/wNwWDWn/gtqPGe7Zt?= =?us-ascii?Q?CF82UQJjmAtcxYnZlGQOqFkUWUGx+9D2hBuW6i8HYXCoV568NYvDyoC9UUq7?= =?us-ascii?Q?hahg/VSOwRHJ+77gG9rIQP2SAC+opOJ3kh0S83BGWdSJhsETRVMBbiQvuTWd?= =?us-ascii?Q?qgXXAzbSxRdOl/9LOG7H+/fPHyvAHqzkP+t5cIKv0Dv3yBHOXjf3pLltpsOo?= =?us-ascii?Q?Nk0h3y7IKXjTNDHsGdD+ODChbfTVywN9s1+uG1Ler8d3g6iyzoOr9oomkvwQ?= =?us-ascii?Q?YwAQdCCGLD4LR+a3GJLmgHnxBQmM0puaT3l4UkokGyyduprEZmfV20nJVNGW?= =?us-ascii?Q?9JE6TXQPB8qjUIZeWVZ0F+OcLWths9n9929c5ozaOffKdYZSmDC+gk2HGL+A?= =?us-ascii?Q?HKgz9qMRjVk=3D?= X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:PH0PR10MB5777.namprd10.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(366016)(376014)(7416014)(1800799024);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?R1ZzvYAoEHU7FgFix6jKNbpjWRdt6/cjSP8swLfHx3CnhFDalq2WS9B271Fc?= =?us-ascii?Q?kvIhs4l/eKYkPp/hhKbu+Z02YjZVZ0PWGKx3LJZpqrcDNmlOFJj94d7oSXnh?= =?us-ascii?Q?DsQSB+Ky6XvZE7+nX/XpryoSl4G3mvc7N9+Y/bHp8AI9UOxKRKv2Ifjw8inz?= =?us-ascii?Q?4HoG3FfL+9ldeyPdFKF5zcNUg+tGCRCUIP+dpSvgW7USyWlSsYbOMPZHtxCH?= =?us-ascii?Q?6kl845cda1eyNTgC5RrIFVwMm5udYko+QuVts5fgnqbCowAqGEH1x5maShAR?= =?us-ascii?Q?hVO/L0JNLJ9GuM7GGQ/Hq3b2HDY4pgKmRouqntJ7SjzQYT3s62VC3nkK5JNt?= =?us-ascii?Q?JardH/i0jNwUqfVpjmPgLR5BF2BmGEQMvcTz/fBHk5NIMhhJo/XJ9Ai3AgjK?= =?us-ascii?Q?dxZdnjnMSrodXiVNhLeW4osSoMrA5BSiLzMMATe/3fd5VGnKauqkWxaU8w28?= =?us-ascii?Q?VKF+Z6ru3Txrgy+jpKF5wlHu/vkJB+hwTASkEySO+y9DSlKHJiPYp/JWE6rA?= =?us-ascii?Q?+qHsUt04SlkUzzPqW82Jzwa1+0V7PREgNGIH8h5xdgqyJD7vGcqXtmD8GXUN?= =?us-ascii?Q?6AxBtWwFZ9OEjYmynMAgD8CLZyeoFP+7YXd/86wqizZq+AaxM+9SfrxXD2V9?= =?us-ascii?Q?OY+7mT15cmCZF6zLGC4VAZClwVdD9ZnpAboW1g7E9BDAiCYt163/ROWeIkkx?= =?us-ascii?Q?lkTwd1WJK3YkQZJ3LGocK/U7CjgpbsdBwMuankdwio3WdxkXEk8abv9ZLJOR?= =?us-ascii?Q?NxihCrSY9r2lke4GSNDhCocSN61rgto5gN11fj3CgZ9XlF194NuCyKUXb4R+?= =?us-ascii?Q?YiZ6J8p9oZuB/qy/lQYxHJMbmA+0+an6Av+sXpFL/k5bw72jCkHUFRycYnkH?= =?us-ascii?Q?QxT+0Ve0iSoPxE5EVIydJFAH0UFiv26O9T2sCNyVLyiYk3tbyUI7fQZ7fN5L?= =?us-ascii?Q?pXB8XFFTO5LR6c5j3Ms8jH6JqwSCOVjnTriwpidliPKUY3Fk1mgLIODWMOWV?= =?us-ascii?Q?EbcgyfcfVmSvD5I6c0jFEvP5QiOe+24RSLCHLi7+YQibhJ+obtiumAXufnAO?= =?us-ascii?Q?dNpGMQVRVooylBf6LMbnw38ye32x4CyYiApTw3dFb5HPmtwR4Q7zo/WxnAqx?= =?us-ascii?Q?6dtnDadif2pBtABtKOQA0PVvUsO1X4+PtsWQWeXFCHJ+bzHTJL/pMCpmhVRs?= =?us-ascii?Q?E5uRyGcbR6o/6lJk3k2N3ylCMWWIMtft3pvyvHcsS9Jx+zmux4kn5oHmHzf5?= =?us-ascii?Q?nNVLRdbIZpB2hC0hfUsgs3v0NH6QY82FijvdBG2t7CwpHfyz2g2SAQvB1nU9?= =?us-ascii?Q?mvhn2Q9nxtZUZjVwDsMnO1mt2dPHVeCXNPvOZINM0Gl177Uf/yVxS/qylnlr?= =?us-ascii?Q?eEe+saBQhBbgnhkUg5EPHChls8g1APKfb4IcHjl2da8Uml4CiY4GZgh2HwqZ?= =?us-ascii?Q?TaPOZ98q6ALXJLwWw03NfScyXPyzCqi3DDrOqUPjkgpGSkb75K+MtUhsv+BV?= =?us-ascii?Q?ZqfDFsi3QBhOrt91Loz7xMAZiyZsjkH2UBiBm99tPRKx0QLy+0U9zbB9Qk+h?= =?us-ascii?Q?pM8iKVb+fX2FaR74LRkVOBFOv+HTZx10sgzw0+s8/uDqEouMJb2hVNLTbXhW?= =?us-ascii?Q?SQ=3D=3D?= X-MS-Exchange-AntiSpam-ExternalHop-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-ExternalHop-MessageData-0: EsIPF6utmNfPylShyM0haqBGs82bmJdWJRf0VfCxnEhH7E1pUcbwdbhiHBw7/YVAaPNjeEhBzSaNBeo1M2OBdyzxGtoaVKsqJvPullB412uJ44NnHwvRVrBZgOlckUoBcTsQ48QMasf5p7+HM/bo2sI7DD9OVp1g8LlJVWJ29sEmXIR/4vEEJ65LIaVQllcbNX5M3b8ip1rkw5Cv1lyawsinA3M6RZ7Mo8NjMPqCyrsoP7IwueuC7/RAmQJq9WAUg2gMtarB45NlAnJtIphVCP+yd/yK0fCAILFbz2OZXefxBHeQeqXVoIHdlV0UgPWuDiLIrO54sVkzjn2ZaIrICjf8Fv0/yyl0S5vIkqMmxXtztmDwBj94geiNgqW+BfpmWMtn8SFhv66Ww5V1/kjtkeJMJEUPmQFWbRy23tXxgG4o94V+yHuo8LyzJjItYkBmU31+ssiGHIl5VsTf6ZHxmFoG1ZrfEjGiJdVitkH6VJq9AVqOaUZru8DEfaWXl1Vh902RbLPb3DsU02EUkJ1SrkW9+5DVxl4/6fwv+2hsA41tr33IJIj6DFWrn8WvLP1Aos43FLeohmxik5gbWphNC31J/CF9fMxKna+sTq9Bvmo= X-OriginatorOrg: oracle.com X-MS-Exchange-CrossTenant-Network-Message-Id: 0468cccc-efa6-411b-937f-08ddefd473de X-MS-Exchange-CrossTenant-AuthSource: PH0PR10MB5777.namprd10.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 09 Sep 2025 19:09:51.3936 (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: +3XvejdM2FEVdKLRKkO+3DVB5dNq3uzOHgZ6Sm44dXeP9+2tbBaBJqudoTueMVeBP7jhGl6H6T0MTxO2T4yNMg== X-MS-Exchange-Transport-CrossTenantHeadersStamped: DS0PR10MB7052 X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1117,Hydra:6.1.9,FMLib:17.12.80.40 definitions=2025-09-09_03,2025-09-08_02,2025-03-28_01 X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 malwarescore=0 spamscore=0 mlxscore=0 mlxlogscore=999 adultscore=0 phishscore=0 bulkscore=0 suspectscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2508110000 definitions=main-2509090188 X-Authority-Analysis: v=2.4 cv=esTfzppX c=1 sm=1 tr=0 ts=68c07b83 b=1 cx=c_pps a=WeWmnZmh0fydH62SvGsd2A==:117 a=WeWmnZmh0fydH62SvGsd2A==: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=yJojWOMRYYMA:10 a=GoEa3M9JfhUA:10 a=VwQbUJbxAAAA:8 a=yPCof4ZbAAAA:8 a=tpUyc1irQyRqAcisbJgA:9 X-Proofpoint-Spam-Details-Enc: AW1haW4tMjUwOTA4MDE2NSBTYWx0ZWRfX89f3TY74iyTg b27CS57I+Vf0suwzzYZQ84T+haA9HzLw4X26+3weyCNIpye57tFsYovpbygfPBHshi3ZD9etFTy vB6iYzl2hHyZmw8P2SVAFekb6UT9ytuAktgBL4XskMaJ9jnvhPVE2SSPaEWDIj1Ed4BYfvCYE5x r1LLk5nEqlvsUOxuK6AY3D3uzfEyGom1sGFUvJAoBgdiS78pUjIiC5IS/rVX5sp0TZ26IdDtHpa o4NxFXAdHSE4bsgomy78XWJDOkP6MtDz4hvUI//g0yHU/tjJ0r43Y3W66E08zo1a4yOm2ClHyeP vSCpdpaonn/mlWzOcm+MgbMeCn9tQxN2AWe5RFX5hxH9q2I4qYfVt2fDUEeYyX/4+CFEpfNhaS7 QgOv8a+2 X-Proofpoint-GUID: Ojz2gcOysINMSGUMXzdtOImjABRLib_i X-Proofpoint-ORIG-GUID: Ojz2gcOysINMSGUMXzdtOImjABRLib_i Content-Type: text/plain; charset="utf-8" Move the trace point later in the function so that it is not skipped in the event of a failed fork. Acked-by: Chris Li Reviewed-by: Lorenzo Stoakes Signed-off-by: Liam R. Howlett Reviewed-by: David Hildenbrand Reviewed-by: Pedro Falcato Reviewed-by: Suren Baghdasaryan --- mm/mmap.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/mm/mmap.c b/mm/mmap.c index 5fd3b80fda1d5..b07b3ec5e28f5 100644 --- a/mm/mmap.c +++ b/mm/mmap.c @@ -1310,9 +1310,9 @@ void exit_mmap(struct mm_struct *mm) =20 BUG_ON(count !=3D mm->map_count); =20 - trace_exit_mmap(mm); destroy: __mt_destroy(&mm->mm_mt); + trace_exit_mmap(mm); mmap_write_unlock(mm); vm_unacct_memory(nr_accounted); } --=20 2.47.2 From nobody Thu Oct 2 22:55:28 2025 Received: from mx0b-00069f02.pphosted.com (mx0b-00069f02.pphosted.com [205.220.177.32]) (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 2555E303A09 for ; Tue, 9 Sep 2025 19:10:35 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=205.220.177.32 ARC-Seal: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1757445037; cv=fail; b=eqvDhO2dFhQE89XxGKbljsKbgulkUDMgXY59MuMdWphfs/ISkCx9e5bRgYTx6UtLc0bpfXN9nHVVsTD7Xz/FTaapRixwMDMlBJCuI1Wr7bYShYWMWFNRcsUsOGMaK0mZYWsdPrtxNJwD1DB1ZTjGAUzlNc2qKusIQQDFLnZH/mc= ARC-Message-Signature: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1757445037; c=relaxed/simple; bh=IkxOHndmxcko6JDBoOSrNfK0Fst5gE/Xn46t2a7a5J0=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: Content-Type:MIME-Version; b=KOYAvWAjuG17lrtEqSKGwdRx+0D9YjQkIDwXur4pGhDoo843MrjXykBxeskYAOApZg+Z1pApaZPmcrWmAJjC3IC1Y4X9exTrxJkUbR8B4iqhQSknwuntgPvrRuPCOvZaV8K892l9Z6ejenx1fd6OXrVEP651zKFPqHRZpGhbLqg= ARC-Authentication-Results: i=2; smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=oracle.com; spf=pass smtp.mailfrom=oracle.com; dkim=pass (2048-bit key) header.d=oracle.com header.i=@oracle.com header.b=HkcBk0Mr; dkim=pass (1024-bit key) header.d=oracle.onmicrosoft.com header.i=@oracle.onmicrosoft.com header.b=DBDHhwqa; arc=fail smtp.client-ip=205.220.177.32 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=oracle.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=oracle.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=oracle.com header.i=@oracle.com header.b="HkcBk0Mr"; dkim=pass (1024-bit key) header.d=oracle.onmicrosoft.com header.i=@oracle.onmicrosoft.com header.b="DBDHhwqa" 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 589Fthhl014132; Tue, 9 Sep 2025 19:09:57 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oracle.com; h=cc :content-transfer-encoding:content-type:date:from:in-reply-to :message-id:mime-version:references:subject:to; s= corp-2025-04-25; bh=g2U72sBQQi9zEVl48APizX2RYuBGje3WZfM8HgBfvUY=; b= HkcBk0MrzB762AobRdsL0CyNn4UVOQWF03sW1Bgd+Hodce8uvEin0Y5T9NW4FKxS Kdfh8ALsE4Bz07HAFJCLCxfduZizNVJ7RjiQI8ETWgw8iAk3WgBQ3coHd7HGbmsJ aVUS72n0SjJYuHfgnOh+iTluCrqYXRq0YhetgdC3KOiu3o/hjvq3kBrgl8UAaiBI zY1jot1U+LXK0JuFP3C/WwbVMBSC9gvtdzeNxqFo8Ww3dB0PJAVWDJ1yUXFhKAUx DyolYJoCf3cDwMoY90SQZ/wtYNydNNB77rRG6U2Nh5KM3IXKEsNXTs6HwCRfLPh/ k7RPGYbp8kiHWzobJRzmPA== Received: from iadpaimrmta02.imrmtpd1.prodappiadaev1.oraclevcn.com (iadpaimrmta02.appoci.oracle.com [147.154.18.20]) by mx0b-00069f02.pphosted.com (PPS) with ESMTPS id 49226stnx6-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Tue, 09 Sep 2025 19:09:57 +0000 (GMT) Received: from pps.filterd (iadpaimrmta02.imrmtpd1.prodappiadaev1.oraclevcn.com [127.0.0.1]) by iadpaimrmta02.imrmtpd1.prodappiadaev1.oraclevcn.com (8.18.1.2/8.18.1.2) with ESMTP id 589I545U026089; Tue, 9 Sep 2025 19:09:56 GMT Received: from nam04-dm6-obe.outbound.protection.outlook.com (mail-dm6nam04on2079.outbound.protection.outlook.com [40.107.102.79]) by iadpaimrmta02.imrmtpd1.prodappiadaev1.oraclevcn.com (PPS) with ESMTPS id 490bda226m-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Tue, 09 Sep 2025 19:09:56 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=KBeUwuptKW9gHzb/sYxGo6u/ghr78/za4aRQ3AY6DOHpgoA4FBTZSspHYeNBjuraTZohRlm5LoDhk996hZfsgRizWV6NiQjxDT6wd9qNn5dCdcVsBfsibnq0DiPZA78pzrZYil963Tr/K4pjS1LhuSKb7PLga9dXwocJ/4vTgmuX+LoKQUfZPW6qjn1pgKn5GE5V5LroFdUwdcUaKrDLDUyF+J1lwrsfyWe/47ElMTuZGfNxzzXwa8dturENkEwQWnWgqkTTtJzcyVu4KLErHfcqhuQlbob8abvijhRNcQ0JPWPQ6tgveJZO7JomxM8pEGN3ZXKdQ0gdzuMy+PPqsA== 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=g2U72sBQQi9zEVl48APizX2RYuBGje3WZfM8HgBfvUY=; b=sB9vpTFpsuMnTCw4jxk74MDHHUkjCkcmHs0dCm/IG2PNcnvNq+wE7Atl7x7AUDQOc9ClgkVOBtjBYYm3god0gB4b8OaftrErim4hlWX8M+PaFELOb8YmINJ7Dn8ZkBrfA7OABkAHqM3K9yBjgAnyJu5il1znrBdkJv0e+K6HnOfFCMltpG/V8AeLUb+VycCMfjE9d02CKnhRuyEggBnGl87HXLlZEQT1ibp1sLZdhu2+2GsvhMIobZuMx4Dgq/MevBgaOiXBQTEbgcHo4VhhnHisCBAakNC6lm5rOyKC3eB3DU0ZBLBPmda3/U3WL9Dj9txlw0FBMDo/AFc2MeOj0w== 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=g2U72sBQQi9zEVl48APizX2RYuBGje3WZfM8HgBfvUY=; b=DBDHhwqa1S9xAQ2oVMgzXoJJUiElumkyQ6yKPklfh0DvgvhINP5LlOvNkjaSvKAuqL/5Ct2BGNPCJB4SSAPDR2pAcv/rllR4TK0TDOeyYVNopO8dFbQ2UEPjtBAVkzabpPZb81EeG1MBUR6U9hDr5fF5Cqzu8WoZbyaoIu36/uI= Received: from PH0PR10MB5777.namprd10.prod.outlook.com (2603:10b6:510:128::16) by DS0PR10MB7052.namprd10.prod.outlook.com (2603:10b6:8:14c::9) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9094.22; Tue, 9 Sep 2025 19:09:53 +0000 Received: from PH0PR10MB5777.namprd10.prod.outlook.com ([fe80::75a8:21cc:f343:f68c]) by PH0PR10MB5777.namprd10.prod.outlook.com ([fe80::75a8:21cc:f343:f68c%5]) with mapi id 15.20.9094.021; Tue, 9 Sep 2025 19:09:53 +0000 From: "Liam R. Howlett" To: Andrew Morton Cc: maple-tree@lists.infradead.org, linux-mm@kvack.org, linux-kernel@vger.kernel.org, David Hildenbrand , Lorenzo Stoakes , Vlastimil Babka , Suren Baghdasaryan , Michal Hocko , Jann Horn , Pedro Falcato , Charan Teja Kalla , shikemeng@huaweicloud.com, kasong@tencent.com, nphamcs@gmail.com, bhe@redhat.com, baohua@kernel.org, chrisl@kernel.org, Matthew Wilcox , "Liam R. Howlett" Subject: [PATCH v1 2/9] mm/mmap: Abstract vma clean up from exit_mmap() Date: Tue, 9 Sep 2025 15:09:38 -0400 Message-ID: <20250909190945.1030905-3-Liam.Howlett@oracle.com> X-Mailer: git-send-email 2.47.2 In-Reply-To: <20250909190945.1030905-1-Liam.Howlett@oracle.com> References: <20250909190945.1030905-1-Liam.Howlett@oracle.com> Content-Transfer-Encoding: quoted-printable X-ClientProxiedBy: YT4PR01CA0020.CANPRD01.PROD.OUTLOOK.COM (2603:10b6:b01:d1::23) To PH0PR10MB5777.namprd10.prod.outlook.com (2603:10b6:510:128::16) 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: PH0PR10MB5777:EE_|DS0PR10MB7052:EE_ X-MS-Office365-Filtering-Correlation-Id: e4c9394f-67fc-4d96-5a7e-08ddefd47536 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|366016|376014|7416014|1800799024; X-Microsoft-Antispam-Message-Info: =?us-ascii?Q?xUHJUN7S90tFh41F07UvK5AGp0T2k6Icxzgh2nkQwa2XWoZxJJhCteQNKmg4?= =?us-ascii?Q?N8WSYXgxVVRep7JgUWzllIVdRMNhujQt39xpBeHKCzYJUNLIitFCOy1Hd0p9?= =?us-ascii?Q?AzyJrLObK+hBT2Wi+xseM7LZtOOp33SAse+syX8482NDJm6APLfxqROgxk4D?= =?us-ascii?Q?kC5+MCF5ubNGQmEc+lpuF3w8J+cSfWXPAu5L/nWwY8/EfKubavd3D7YFAL1D?= =?us-ascii?Q?QR31ACfGqO9rXVgCncrLmFeqjex7UIAhIJAxwiAtKuRMV2PtkZLniOCmWrBD?= =?us-ascii?Q?ckOCv5hMsbpBieTYfF7z8xGDL5LJKjI9pgo4tlxg53FhXwI7ZIk3CI8/anrs?= =?us-ascii?Q?t0HpVLjfSbrao4hiNBVdtMWyaxc4hxtk2cwdxb27mtJcRIWTlBXia0+/Qv7h?= =?us-ascii?Q?Qo8Zgp+0Fld+DCpoDfbIRCYfQYdziNkRPKsKEqzAt70K4yt2MiajGdmRJxSH?= =?us-ascii?Q?4fsFTvaYVkQV1GMjn1yT0MN7vXnXYtcNoG/RoC5n5vuke2YLyjBYrIhMO6EW?= =?us-ascii?Q?4tNf4x8ZyJCWtauz/u50CsG1bOX2xI+9MpJHx/ACqEdYRBjOwgRxHr3EDYyg?= =?us-ascii?Q?w0CdAOYrC47cLP/05l7QQE15RDj4aWBLkveRznLlQ0FRfFsKewjkUyj00ATY?= =?us-ascii?Q?FFdBCwMKt9V9EYVb+V2DxKelU5iMZI3ju1KZuctBcoOM8bPb7AqnATokHTKs?= =?us-ascii?Q?fm8Lyex+PvsEsu6D/C7j265aDfRKwYe4tztidbHAL55rr11PoLIrhK/+ZuT+?= =?us-ascii?Q?C6/rb2fpulwAuppH5225fDxHgf1gOn4qsjyPaPV6jYaSnHdCGV3ziga4EmBh?= =?us-ascii?Q?BV4LjHqRxAFVPdyaHOaJXbRLZqDOp1YzQ2QEhYH3rn28mGZvxAvlNiGYfi3t?= =?us-ascii?Q?eiy9jzILCKi1ijUygBgrmya3S2GDR3eEHS9qUteyVYoiQbryHcehfLXTyLhZ?= =?us-ascii?Q?92W6G/x7yYl1phHVt9ZiBnZEj5HTe1uqkui//vLfnfQmYYv7vIY7v1Crf/Xh?= =?us-ascii?Q?znWAjAb5fvC0XSu1aJ6L3D3Zx+2sU6DWHSKCy1lIaxCUhKrB0P1yIYEi4nDd?= =?us-ascii?Q?8Y1aKCyVImMBDMw99P2so7TjAcU5dpH6weVR9eO9Mi9RDV17wZuIfkOxzRKm?= =?us-ascii?Q?N2uDmvdDGPaU6LYAr+G50pAU5na+mKSANLJJzZG8whDK4xrE1H4NlzKtg9az?= =?us-ascii?Q?/C1Kfzwg/hoIfgYXlkjTVwuE9o4DgjLhr3MPMY+KvEKJYZToJI4gBcOEf/l/?= =?us-ascii?Q?9jE1O2zjEcwP3uiGvZZIlBMW9e9Jioxf+2D5StOhx0RLE8LHq0cVZoBfAl5i?= =?us-ascii?Q?ghWYY+InUgNQz/llYUFJx/RsLfVSkiR6D++hJSap9vMcNI5z2nQAMS78R/b5?= =?us-ascii?Q?RgqJyfIZZALfuWzDpqN/Vk8vYEbU31iuocg5vMRQMc0EZhLjeAsJ8U8kVq4Z?= =?us-ascii?Q?Nk38xBXvWdE=3D?= X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:PH0PR10MB5777.namprd10.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(366016)(376014)(7416014)(1800799024);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?G4W8ca10Wkjuovm1inUy51CVZuohYjosvaJE0cctyg8qA8qD2Fy5GLV5ToWe?= =?us-ascii?Q?28lfmx6e18jVnhAtXX6buEgI3MjphWXnw6vjZmwGEfYSpJXqpuQc+SPp8tUx?= =?us-ascii?Q?s21oG9izbp4dBELpS2BLqeLLvkZvESP7xsDcujjOmDZRfzZaHb13WrC8IBt/?= =?us-ascii?Q?eHjeGPw4poKCgrhtN5TnpeChukFopyQ/XBdiZbx9u+iKqzAwmMCqccAAMdqm?= =?us-ascii?Q?mVBdRal/cX7n/bOtjCOJqq3QiJncFbdOxIUjPVXl3Ocfx9d/w+US7+lbv+zc?= =?us-ascii?Q?X9/J4iAMPf+4zXLojdgYFtu175poSDurpLXl4oBclHQQ04XUo8ZNyHXs2hbp?= =?us-ascii?Q?MMdUXa/VWssg32BwUXhgWuOBGooszmRSs2y/Sg7eqI4vr80l3lVQbe7xLwGw?= =?us-ascii?Q?Hy/wjXQi/3bdUrrKUKEpY1ylg6LZjxOKHOQpSICWGM6LP+ulEO8eDWPHpSLX?= =?us-ascii?Q?LQcWPFd2xHEkYfFQoGIj+4BW1jSc5cHqtwYzmgpLV5ayW9P4ToMAk3i5rvM2?= =?us-ascii?Q?UfKJiSlniJPI5K2Sf7v20uLMZ+j3J/DJl1fE8+zZ0IH00ZWmYlunxqmkGv/F?= =?us-ascii?Q?Dww2kfMZOH8DX+ONT8BlAEV04n6EGjFRR3+2WTZCm6Fj0MbpGcVP5nvxRHDb?= =?us-ascii?Q?w7b+aZbJqf3h5JkrPQSi1XbApYH8aLhM5Mm4HKNElzli2T1xpDqzXY6sIbEu?= =?us-ascii?Q?ZsCJcUUZ2dULF/S4Tk4xPmgHqc7G0nftZI7KPesxJ/s8cRx/8kvK15vzvTnM?= =?us-ascii?Q?NahaSdd1Wv6jzM6abLWPnGJAvNJcFSjrXiEZuklnsr1XkSTN/D4NzCShae8l?= =?us-ascii?Q?P6sR769l3EqDuCauMRbQVpF6pqjRRS2UTbCq/bLXON9GJfrQHdlPKdZUG1cB?= =?us-ascii?Q?Kr+MO0S7Qgr2GbZPty8+M1Du8Nh8hVwpb9DhbJosqOZInvknDBg5p7A7oVnn?= =?us-ascii?Q?CwldG5d9oLaVBRXzjQOn8bXJImJnGHDIHPjVZs06uaDIbYf7Lx6CoypbPG4H?= =?us-ascii?Q?aS/36x8tlzC74q6xX8e0ySspgI5th48YBETZl54rjU7eIoneHUp/9K5+WhvW?= =?us-ascii?Q?NlMsARXm+j9dNq9N2zSAMrqBd94vsQTdZ0nWnSVQEkvUMD7B8ZQphHfXlNKP?= =?us-ascii?Q?2I0mgHAe4pGRzEpo8Nz9gYLfRdjigEtdZGVSo7cCoQHWllT6u2rR8TE5I+98?= =?us-ascii?Q?1y9c0WUhsZcYKDKpgyjOrFEK/mMJr/wuqQ7HD5Xx/NSQacxdeilfu1QVBpZT?= =?us-ascii?Q?adGN73ugAhmTc5sZ05Tr48Nr+z+mV5zt/T+mU3Y/IDoEleXAKLkXleQ57Q2E?= =?us-ascii?Q?Q7rgYNyDmZUBAaPLHKicMKgi8Aa20sBe56/OjMNkwHa3GcUnQg71xcJxdCD2?= =?us-ascii?Q?rzZnskB5CuQwWP/5Tdi0+FylJzafz88Z/AuLieJwCQr33SRxLgWmw87zVCF6?= =?us-ascii?Q?xu6q+/6mORzmII6ebEpMYJBMx/5A1hnrGxPY++fwzY8OuEZPJFOEHee9scfs?= =?us-ascii?Q?4gdk9FBtdBodUIDB1a4hiqGHhKHWb7ShgqvwFkuNTs8ybBZO2ApJ8LS89yZw?= =?us-ascii?Q?4RrlkVecJECWy+OaiaJUrKpfeu9exdI3qVkRm16Ag9IMHqayc/YD9q+9k5N5?= =?us-ascii?Q?Lg=3D=3D?= X-MS-Exchange-AntiSpam-ExternalHop-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-ExternalHop-MessageData-0: Bmgjc944qmFajARY+2FJONoi3z04DxmbQRleJur8ePsuOYiberJAcSQ2CqrgL+u1bIGuuCEEY0gqPLf6NaToYzQ9JzGwrNqheDnpcV7MexARg+zf13+C5DD6S1NZ7LqJpVjcHicakLK8Xr724KTL/+X9UDc0LY7pvzl3KTMeu0GdMpvNz1DZwlvOjske5m6DYpaJo9THxlmpJQBm6dwhc3pl1EW4bbIDYeBATBvjP+vH6CBe2GcpTl8qRVo061C4JCV6487FZPiac42ozd7p+wGdXjCLRGJ0KNcdjXpyKoP0nte6UrU3+YDUzfPq5ZSwPRZz+kARKNHFXVH0Jc1FswsepHXm49OFlaVpNoZBFQMltzGFCu2cJ4K977qNgp8JwZ1bDJtNPK04+zlcwdNcVaO/HZA4pcPaG9dqH9pA/RVn5ggWgwFPUtymIBmEbXqiy9J6jgXNus5t5oD681UStd0W/Yu0knBi3MCXcJHzNUwDBbYDfVr1rrMr+9wDTlO3wv5/YFVVhT86oPipyXRaN8pYmFeyGn2sQfnEIm8COIS5+B68H1ceuEo3vnAYd4e5v8nfQo3RpvkhqiuqfmC8viqQRlatWG95Zxh7ogAQk8o= X-OriginatorOrg: oracle.com X-MS-Exchange-CrossTenant-Network-Message-Id: e4c9394f-67fc-4d96-5a7e-08ddefd47536 X-MS-Exchange-CrossTenant-AuthSource: PH0PR10MB5777.namprd10.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 09 Sep 2025 19:09:53.6427 (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: bCD++dcUV2rBLiggt4tHmR2AZHoi31aVbSkYF++xVr8EM8Nq6ljuskHWdB3J4S1N2VNagvfk7uDk961BQs9Ptg== X-MS-Exchange-Transport-CrossTenantHeadersStamped: DS0PR10MB7052 X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1117,Hydra:6.1.9,FMLib:17.12.80.40 definitions=2025-09-09_03,2025-09-08_02,2025-03-28_01 X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 spamscore=0 phishscore=0 suspectscore=0 mlxscore=0 adultscore=0 bulkscore=0 malwarescore=0 mlxlogscore=999 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2508110000 definitions=main-2509090188 X-Authority-Analysis: v=2.4 cv=QeRmvtbv c=1 sm=1 tr=0 ts=68c07b85 b=1 cx=c_pps a=e1sVV491RgrpLwSTMOnk8w==:117 a=e1sVV491RgrpLwSTMOnk8w==: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=yJojWOMRYYMA:10 a=GoEa3M9JfhUA:10 a=yPCof4ZbAAAA:8 a=DO5yfXpT9pfNaLUI-vsA:9 cc=ntf awl=host:13614 X-Proofpoint-ORIG-GUID: 1Caq8_O6o30lXwB7hllqj2tpSQamxn_l X-Proofpoint-GUID: 1Caq8_O6o30lXwB7hllqj2tpSQamxn_l X-Proofpoint-Spam-Details-Enc: AW1haW4tMjUwOTA4MDE1OCBTYWx0ZWRfX5ET57jqTGlED 2zSLyeABJpWIOxczf814YQ5yFLv9f2A4S52OmPlsJEvxMfesW1k1O3Fot02Va1cpcKUEMKo48JB RwhwZFmUDbEsn91VBAI8va4VhDocbHiM2cG8Muc3f9gpz7CZqY2/2a9ImYnG6UnWmwBjbP3+XIZ EmL97kZ5csmxVvt5KhAmIKxGNfc22BD1j5BJBdd/DFO/c4eEg0vaQGGq7c/zp9tQqqHRnfpZeQS 6iwVKcDA13USe+QR3rPnPMREGzL+xJg3+QvyAnCbjTf1f5vwQm7nPqSGM8PbM3IPylwwcYqMmE4 N/5rEKN7RjjrNaF10P76IqBpxFo8jegpk+XvYg65n1RzdOe9+n6nN+q+OIuqqdfN+/+d72uyzk0 6TDkX0/bCT3SpCgHE5F2pdLRP7PT9A== Content-Type: text/plain; charset="utf-8" Create the new function tear_down_vmas() to remove a range of vmas. exit_mmap() will be removing all the vmas. This is necessary for future patches. No functional changes intended. Reviewed-by: Lorenzo Stoakes Signed-off-by: Liam R. Howlett Reviewed-by: David Hildenbrand Reviewed-by: Pedro Falcato Reviewed-by: Suren Baghdasaryan --- mm/mmap.c | 37 ++++++++++++++++++++++++------------- 1 file changed, 24 insertions(+), 13 deletions(-) diff --git a/mm/mmap.c b/mm/mmap.c index b07b3ec5e28f5..a290448a53bb2 100644 --- a/mm/mmap.c +++ b/mm/mmap.c @@ -1250,6 +1250,29 @@ int vm_brk_flags(unsigned long addr, unsigned long r= equest, vm_flags_t vm_flags) } EXPORT_SYMBOL(vm_brk_flags); =20 +static inline +unsigned long tear_down_vmas(struct mm_struct *mm, struct vma_iterator *vm= i, + struct vm_area_struct *vma, unsigned long max) +{ + unsigned long nr_accounted =3D 0; + int count =3D 0; + + mmap_assert_write_locked(mm); + vma_iter_set(vmi, vma->vm_end); + do { + if (vma->vm_flags & VM_ACCOUNT) + nr_accounted +=3D vma_pages(vma); + vma_mark_detached(vma); + remove_vma(vma); + count++; + cond_resched(); + vma =3D vma_next(vmi); + } while (vma && vma->vm_end <=3D max); + + WARN_ON_ONCE(count !=3D mm->map_count); + return nr_accounted; +} + /* Release all mmaps. */ void exit_mmap(struct mm_struct *mm) { @@ -1257,7 +1280,6 @@ void exit_mmap(struct mm_struct *mm) struct vm_area_struct *vma; unsigned long nr_accounted =3D 0; VMA_ITERATOR(vmi, mm, 0); - int count =3D 0; =20 /* mm's last user has gone, and its about to be pulled down */ mmu_notifier_release(mm); @@ -1297,18 +1319,7 @@ void exit_mmap(struct mm_struct *mm) * enabled, without holding any MM locks besides the unreachable * mmap_write_lock. */ - vma_iter_set(&vmi, vma->vm_end); - do { - if (vma->vm_flags & VM_ACCOUNT) - nr_accounted +=3D vma_pages(vma); - vma_mark_detached(vma); - remove_vma(vma); - count++; - cond_resched(); - vma =3D vma_next(&vmi); - } while (vma && likely(!xa_is_zero(vma))); - - BUG_ON(count !=3D mm->map_count); + nr_accounted =3D tear_down_vmas(mm, &vmi, vma, ULONG_MAX); =20 destroy: __mt_destroy(&mm->mm_mt); --=20 2.47.2 From nobody Thu Oct 2 22:55:28 2025 Received: from mx0b-00069f02.pphosted.com (mx0b-00069f02.pphosted.com [205.220.177.32]) (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 9ED7831CA7D for ; Tue, 9 Sep 2025 19:10:37 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=205.220.177.32 ARC-Seal: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1757445039; cv=fail; b=skdK+xMSohIrEiOlHWjMc43DNYXNaa/EKC6eNTQ3wlK6doiHzTVMAeWC1Snj7HZW+ODd9EyjJc2ukKZyCnLRpRMnts8+a9yrObmpl4KYq8SIdGjWm9xegPdxJlxVfCGDnnnm81S9lbXnDCSheqpVp7wSR55oNr3GldowhOfbBl0= ARC-Message-Signature: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1757445039; c=relaxed/simple; bh=jHF3NhOjkrgDlFUCxmb8LLBJGHXkZ5cs6hLClZ6q3lc=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: Content-Type:MIME-Version; b=mww4lMfcSy+8xfnBmXqIs4y8++jFVb/iSzw7btRYuz6chvFPqk16iPhVYJzsGSoRquC2yfHcymgLXVNViaW9aigBBhzdogbNwxMDfAjiIoF5S06Obxx3Q4XrH/P6YF5C8NHyEDESg9nN1beU7yoabKvwZZhIy++5YnxsTaorsUc= ARC-Authentication-Results: i=2; smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=oracle.com; spf=pass smtp.mailfrom=oracle.com; dkim=pass (2048-bit key) header.d=oracle.com header.i=@oracle.com header.b=aDAu6MFt; dkim=pass (1024-bit key) header.d=oracle.onmicrosoft.com header.i=@oracle.onmicrosoft.com header.b=lJBWdho4; arc=fail smtp.client-ip=205.220.177.32 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=oracle.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=oracle.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=oracle.com header.i=@oracle.com header.b="aDAu6MFt"; dkim=pass (1024-bit key) header.d=oracle.onmicrosoft.com header.i=@oracle.onmicrosoft.com header.b="lJBWdho4" Received: from pps.filterd (m0246630.ppops.net [127.0.0.1]) by mx0b-00069f02.pphosted.com (8.18.1.2/8.18.1.2) with ESMTP id 589FtfFZ017646; Tue, 9 Sep 2025 19:10:03 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oracle.com; h=cc :content-transfer-encoding:content-type:date:from:in-reply-to :message-id:mime-version:references:subject:to; s= corp-2025-04-25; bh=/E2/LAEFPySGG0MqUvDz22sPq3nPf8RspI/RhBVnStM=; b= aDAu6MFtjQTBs2wApElikHTxBO4f9/+ncY8owQGC1f6Ep8HpZ2ZxQ9xfOR4JuJ0o TXh28RVQrDYuTgn7kxYceKuQTZ2L4Kr/fGwSbmw4vQ8GJceTix7RA95bdGyf1l8g HtWgu/3nRW4bhsea1fSI+HKxCL2z2inRvlC4lHhXLH7Cm+ennhKv50lj9S//L8cW gi1BoimnqkuWfrNXrDlxs6zQ0GdDlgyFiTlg+gg5Nxlh5AxiaJ6SEqrZVDqKaEA3 c/8eI/SfgWDt6EtpmaP+1Fqp+WEGx4+jezv7dh1lhvUDJQrhya+Lz93g6jx7/Wg8 iONQoBji/Oad6bhWB4ekZg== Received: from phxpaimrmta02.imrmtpd1.prodappphxaev1.oraclevcn.com (phxpaimrmta02.appoci.oracle.com [147.154.114.232]) by mx0b-00069f02.pphosted.com (PPS) with ESMTPS id 4921m2tr2e-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Tue, 09 Sep 2025 19:10:03 +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 589Iw12f030651; Tue, 9 Sep 2025 19:10:02 GMT Received: from nam04-bn8-obe.outbound.protection.outlook.com (mail-bn8nam04on2042.outbound.protection.outlook.com [40.107.100.42]) by phxpaimrmta02.imrmtpd1.prodappphxaev1.oraclevcn.com (PPS) with ESMTPS id 490bda0pxr-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Tue, 09 Sep 2025 19:10:02 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=ePPN8wNb1i0gWbnKPFS2uTwiYPfsULZVmxVWZC5KB1R7iFFXVW0T2SsNw2KotlSxep4FSvCch/ul9VUdlDrvxZgT8TwmOOgbKrFu6/OqGqWqg1/oatD9ErCR2lmAWDV+MtUMJ4IwyhHtbruqWtR54FhUiStAhAIy8Iatr0Wpkse36zNkACi+KyVhTrzhI9ZeI0OIm+gYFeCKSiwN2+c07jrSscGnxl0NnIZDkc6N9+E30VjFVJiWoF6TYflxdK++hjgbZmXSIbs4QUDgFOg8DOCN1mmoKt1RwBjfd0oIrrvo3NNS5k8BpkIDq783fTXotOALFzzK/ZeqJ5T4GOraxA== 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=/E2/LAEFPySGG0MqUvDz22sPq3nPf8RspI/RhBVnStM=; b=ED0RLSxSgt8jhEHcvn+IYFYDNrq7KM22PHuMz6TdtLsPAaSvJ+Jxyj6Bw2WwUoTqylLbH/eMpBT5+iUDhYCoTOyXB0ICRwWG0pB5UdOTLNNStVASxFsBngJ97qT7nPqizeF10EUSRl7FuxT9piP+9HZ8F3KiF+1+roDIL2UqsMByFvKhK2Er3NRf6t336PokoCy9ClPvsIr547jcva+Bl7GgsiGPxzImrR5UY1RF3RHSGDRTMe4i3MuRm08N2Uxyd075D8+2EBoyvjTtaodU3c2f4lOCF6V1IUqJkqNROu1BngOHoakgZnC4+xTyEDwobMoh2l35uNmqrMERnRiMfQ== 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=/E2/LAEFPySGG0MqUvDz22sPq3nPf8RspI/RhBVnStM=; b=lJBWdho4HXTh5wHn4IrkXJjgNgRiJc1mi2kkcuGMYLgCwz0qRnOZijC94UjXRhm5TmbfcNUQp4fC09Hr8If1PjAGnR7irfd/kQumZC+T7u1zD+WvOYwjLV5Uneo4bVsiDb9qMczi+BQ0h64NNychsDvPFKHTBjd0xLbeFK/aclc= Received: from PH0PR10MB5777.namprd10.prod.outlook.com (2603:10b6:510:128::16) by DS0PR10MB7052.namprd10.prod.outlook.com (2603:10b6:8:14c::9) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9094.22; Tue, 9 Sep 2025 19:09:56 +0000 Received: from PH0PR10MB5777.namprd10.prod.outlook.com ([fe80::75a8:21cc:f343:f68c]) by PH0PR10MB5777.namprd10.prod.outlook.com ([fe80::75a8:21cc:f343:f68c%5]) with mapi id 15.20.9094.021; Tue, 9 Sep 2025 19:09:56 +0000 From: "Liam R. Howlett" To: Andrew Morton Cc: maple-tree@lists.infradead.org, linux-mm@kvack.org, linux-kernel@vger.kernel.org, David Hildenbrand , Lorenzo Stoakes , Vlastimil Babka , Suren Baghdasaryan , Michal Hocko , Jann Horn , Pedro Falcato , Charan Teja Kalla , shikemeng@huaweicloud.com, kasong@tencent.com, nphamcs@gmail.com, bhe@redhat.com, baohua@kernel.org, chrisl@kernel.org, Matthew Wilcox , "Liam R. Howlett" Subject: [PATCH v1 3/9] mm/vma: Add limits to unmap_region() for vmas Date: Tue, 9 Sep 2025 15:09:39 -0400 Message-ID: <20250909190945.1030905-4-Liam.Howlett@oracle.com> X-Mailer: git-send-email 2.47.2 In-Reply-To: <20250909190945.1030905-1-Liam.Howlett@oracle.com> References: <20250909190945.1030905-1-Liam.Howlett@oracle.com> Content-Transfer-Encoding: quoted-printable X-ClientProxiedBy: YT4PR01CA0376.CANPRD01.PROD.OUTLOOK.COM (2603:10b6:b01:fd::7) To PH0PR10MB5777.namprd10.prod.outlook.com (2603:10b6:510:128::16) 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: PH0PR10MB5777:EE_|DS0PR10MB7052:EE_ X-MS-Office365-Filtering-Correlation-Id: deab7179-8770-4870-2d1a-08ddefd476a2 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|366016|376014|7416014|1800799024; X-Microsoft-Antispam-Message-Info: =?us-ascii?Q?Dlv0Ik4kkloYkHlhqS5j4bt54DPV2Wv+rB4L3glebWU6Gr+KbZPshhi0I+qR?= =?us-ascii?Q?1Z+W5pkAzjaAcEDYuxXxTxfcDsDdNeN7Rxtk2kdtgsC+/tTAWHrmyxYG9Nu9?= =?us-ascii?Q?vyRu/Rf22LLnYQOKew33A7fyJlpzQ0Sc/egQ8DMXoXwd0fqU7a+6swYp1kwS?= =?us-ascii?Q?MFRtVtjCBvbZqW0WJPJIe1z36iEX597ouL6dnqwueBo8dacahEtk1OpIBf2c?= =?us-ascii?Q?+/ITVSWJ1dm3zPLLQFKGQLzBJOKFqPw/G66WIyaHf7MLD+wixYOskbogYTTa?= =?us-ascii?Q?dtS8kEJl8eGg7Aq1f0hwOkN0LK2pCTg4STAKkRJxeN0j8qIKgbqMIA+m/Yhf?= =?us-ascii?Q?yvN3dSWF62VlltPOQ9SrXWwKSEFGxlIMlJW31qioy96BRZksd4XCUfdt97nI?= =?us-ascii?Q?i7lYncu++QEB/tryAapS9EsF1VIPR+mevWWNKbobR7ts+BueiXM336dYdcYq?= =?us-ascii?Q?nr9PfapMIqL0204206EBS8WJEWAtXRIOctRHfEL/LMwzPkDgPG85x4FvfVkK?= =?us-ascii?Q?ueY+2pW5VTDyTE4V4+Af6o+cGGSPR+Eg02MeqROgyxV50MMDJ1vlH4azOFPD?= =?us-ascii?Q?zzfxzAv/WnDJJ6THQC89s92WQ1cwA9tirVkyxcYidF11K09JB8/YQGxGEkVt?= =?us-ascii?Q?l0ye+GemFow5L+FaDzStKkcTWji/79RLJDNA6XKwnldvNKtBQ3OwcS1xFe9F?= =?us-ascii?Q?/WBBxi/QTKsBvgoqrSQF5C9AFELEvw0dMP+7Bk51k5khZx6Mq00QVD1BbvXW?= =?us-ascii?Q?9g5YdrZCjU7QCRC449QaYNl3S5f4hitIOcIetSiQIfaMv8FE/QMwaiQq1b17?= =?us-ascii?Q?XS4oHEAdwiQLF4h20gDVSaL7lgvxgreCOqh/bc6X7uAjyO3/07SrMW0er+rx?= =?us-ascii?Q?umGoFNA5QoVz5QP2BlFmb7ttJ2JQg/+hFCpz8YIX4nghLDD3yWLryFBjgvlk?= =?us-ascii?Q?04Q74I4l8CGatyrgEH35mgn0KNkBXoo2xg3ABkKAEfGIZPi97CGJR8ULqXH/?= =?us-ascii?Q?nN3nsGTmkMx9hNY5VT0qTYHb319a/ZQP1nwM91VkDEGVezPXnpLxs6nvDTaa?= =?us-ascii?Q?6/6y3hNhrR4xDnzLC3t76jtze2JtN3Xe0zP0PFvOZT6qFeBQfRUwdLJgP0YC?= =?us-ascii?Q?nz+jBn66qLshMQeGCOFH+MFCEh3dJE+ZhnoDTcwmlW+YGj8+NS0f54axSO/z?= =?us-ascii?Q?hC3H9psww+tMTtV7Dh9Rad4vRO15vKTU/wxgLnHJowRS2JV7p4X7QJBf0YP4?= =?us-ascii?Q?zPqJpYdzEyC4KQ1UOoGjYp9gEkRf4CNT9h5Aewt9u5EULWXR6BrbPKHYFhtn?= =?us-ascii?Q?uLUhXPGdUcz8FMi+O5Yl3e2/q4pGg09HkNf/v9IMwJeEAvu766p9PaSaHuSl?= =?us-ascii?Q?7dFPsU46lk9Z56Id8kqRiwxOioERhrQ4mhPDkfw+F8iEvvVE97XnYgy6llTz?= =?us-ascii?Q?0rd7pDW2QPk=3D?= X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:PH0PR10MB5777.namprd10.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(366016)(376014)(7416014)(1800799024);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?qQQeNjw/EgXlziAXn6njEvAO41S9xSFYedMRXr0309IoZ5kYpL7KCsmW7Doj?= =?us-ascii?Q?JXoJPVxafsh5ov4U1o77qVTFphSJjF0uy2EAD9fAzfATK2TbmL9ItPEU9ZGx?= =?us-ascii?Q?wbPILKd5fG9PkPSanyr8LOxtvEMoo64kIzinlevlEy98a7YEHpmhC2D3fRMO?= =?us-ascii?Q?O91mHX9YDFi2O5PiNqJuiYSLwg1q3U+d9Lm4qvpucCGxZb0OCRTp1wbKrg7q?= =?us-ascii?Q?zz+hbGRbkliGlsbHguGi16SIuBpMwlGwlkrgOdZOcd5iQVe+i2VXYbQsdhcw?= =?us-ascii?Q?qYYpTtYUPq/V4SwIdo9DR8t3WHcQmso1vfAgH8YGWSp+QMpKpZN7e1NJklkv?= =?us-ascii?Q?9Sjr3aYDyCyJqypVqtKoeq8e/DRTA/gzm3TAqeZxWoxOB0LN4JIsMtByMj+X?= =?us-ascii?Q?ltA8Wal59FAcxBSNBfyGIajMvrA5bLAxzvbFBYeYxqNHLeTDgbQ5101psqSZ?= =?us-ascii?Q?sSaokk3Vjyf2FHDoTuiJni8R9CAfa4xK6eLH2WG6V5q2fLXVQHCBPNLY5EYG?= =?us-ascii?Q?ukt8r8yQlC0UyyTd5eMVncb8i9L6rgRp7OUZD1QnMeS8IR3b2a5GfRsfIUEM?= =?us-ascii?Q?flF9q9rF1RhljHiM+cJpQVqxfY7/KeROkFH6NAK0i1S8gtRe2wSJ7uPx1UZc?= =?us-ascii?Q?I1tVXMKkWoW6KLXZx59E4rJnlqogBvme5yqdZfbZsa0BiyRKQmEVwcPzKWpf?= =?us-ascii?Q?AdEostY/OAg1T7yCGJV3eePcpGTjEwKBWZyhxu2ODWHXurX2rz3W/hnpEwak?= =?us-ascii?Q?7hon9JQN+fbP4dqRdCMgRxtautHW7vgM5CBsFgD7puDlb0xHPea6NL1KMCnB?= =?us-ascii?Q?8QQ4aZBJtSfEOagdq/hzVzuiQS7QrW9zw9c8vhzWUNhCznBvRRJUJGiG/Dk5?= =?us-ascii?Q?5Kp7sPhudYldScRecdwV8CtApQuYTQVkZKtQGx73AOWa8kCYJJnpXV5ULS+y?= =?us-ascii?Q?s8GNj3XGxSAISAOwnT9UmYbd11in27VlEX5cxw85HeAlBK6z6bJXypcFeJfD?= =?us-ascii?Q?23VueOK9PoOg5oHnGX/EVyNUMST2ASLZC6vTfKntdFEfoi7zpItRlYJKrGSm?= =?us-ascii?Q?zXcHP6J+p81OPPhtD3dyJdQydsS9zAB2q0OL8vGqK+++VUIrMdbjjDtIjmmc?= =?us-ascii?Q?/N8lPbOEiZwio4s9XWUuOasMLUfZKFA8YIKQybiKgUgeKVDKbPCZuS9qILCf?= =?us-ascii?Q?53+IY/3mYgJY1oEuPvX370gyvcT9n8fhxhgAQd8aKSzwxJnrOhpid4PKZ9vn?= =?us-ascii?Q?UymID259sIHg9lec61cGLhCLGN6fKSZoL/M93oYfdB3JrrPGhExkpG3BXrAU?= =?us-ascii?Q?YqKDIWV65rUvhhqZis1HPLkeWdN3sF276gaNwqTp/Y8rDoMFSq42TH202e8r?= =?us-ascii?Q?ndvP1o7DHx9uHTTKNGfb7kKnc9+R+SGjk/DMmWcfPFKBLLMOA+MwP9iLvuta?= =?us-ascii?Q?djnqZS2YvCx5vt87N3YGY8Knb9nbgwkYBN8dZKqlijvibkeVs+EBDBvtQMj8?= =?us-ascii?Q?D9je31uFZ9BA5uxTG+hOqK19zr0k/lL+OMXkS5uAIlUHpwHQr4lA/JKTtUsf?= =?us-ascii?Q?Rp2Om8xMeErCmR5b73vYS07JgAv/MJnojt1KELQ/?= X-MS-Exchange-AntiSpam-ExternalHop-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-ExternalHop-MessageData-0: FOMg67UFbuh7YEmHhy9DhtNLLBg4fU3UX67iRcPFPmcebPjEs2/PHHNRVDBo2uv0OqnZHre5QgSTuLq38Hg3DdAwlcFIYwrP4vbnFpKxqtq8UbhcQpzjCQ3RQWRhuwpi5sRLGEsxE0AOfKzEnpZpmWPczWjVB8cno3SSx4w25Y6ELSbSSxFZjvvShFsfoXK9iMIz5J0mI49gVNJy8/+Mi7GsXpmefHO+A/A6oHxEj0WFEVcRY/IjC02t5NwlLBIS4fcgkFReqf3Ft1Inma2mDh/1UO/gn5e5TyYZOGtby3Bj5lGcvvGLHusRtcsGSnCVCAHxV3s2IiqUviteUhq5oF0aOh/KZxn+46mU8/NjmGuQ3xr8pu5d5Tb6EERIZ87YjXzysTMB5H4bCh1ILt1gLBqs5NIJpYgtszzdWXe9q1byNIZXNsz5i7wfUwi3kIXZlzjuJa5XvQktZXrHgJYiqAFzeiwsmRNAPBgsm3xBOmHXJ+4GIMqxHycU2kI6bTJkl9wp6gDPQ3EPK5Z4u3Mmj1gbYtrlbi5jkxqOYp3G3F0I3wX/6absouFbcjZDpaYAC8+GX7y9btCXnFQ2ZpN7gh5UGw+jCVTLbNmGKw+7UDI= X-OriginatorOrg: oracle.com X-MS-Exchange-CrossTenant-Network-Message-Id: deab7179-8770-4870-2d1a-08ddefd476a2 X-MS-Exchange-CrossTenant-AuthSource: PH0PR10MB5777.namprd10.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 09 Sep 2025 19:09:56.0417 (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: 1GEz7GtCGC9+gPGpRGf/LHxAKHmNKQvyZ4lL45ClV36+DacQpTL6/wBKWuh1N4f+mtl3TphimYg/bKr/3uo+Dw== X-MS-Exchange-Transport-CrossTenantHeadersStamped: DS0PR10MB7052 X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1117,Hydra:6.1.9,FMLib:17.12.80.40 definitions=2025-09-09_03,2025-09-08_02,2025-03-28_01 X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 mlxlogscore=839 adultscore=0 suspectscore=0 spamscore=0 phishscore=0 bulkscore=0 mlxscore=0 malwarescore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2508110000 definitions=main-2509090188 X-Proofpoint-GUID: Cz-7P2lEUtPYMgIvVM6RfaDZVImQXN3P X-Proofpoint-Spam-Details-Enc: AW1haW4tMjUwOTA4MDE1MSBTYWx0ZWRfXyzItNkvyOzuk gO4dyRI9yY4j/meD9qEgh46fW12i3d7SuN4ZRUrz2oBYCKVDgrgWW33LZQYInChLCu2tUWr18af +PTGf9HaUl1De4HimDpvpYgy7hAFIkUTaeI3C9WB8ulGm7D462HzD7TfVWhZmp7K9aO4mrBPLeD gpOwED90EcqyXfgCgP7zanQOJ/LeH4ZnxnP1QumgehJszEnZxVhCkdBtP/IeC1p3ew5V/FwDhcL yFnFOsW2xZGpWOva7i2u5psHWr+Zn0vSrNOhNlnRmJCk11dEOrQPJXK7M31IlJ9teBOWk3/ETpt rjFXJgLd1WbOzQCfn8cBhblE17sa7HcExoLGucPiwqJrqG/jR4gqui0eTm6hSgZVzzV0x8/TsO5 y1JEDEAo X-Authority-Analysis: v=2.4 cv=Dp5W+H/+ c=1 sm=1 tr=0 ts=68c07b8b cx=c_pps a=OOZaFjgC48PWsiFpTAqLcw==:117 a=OOZaFjgC48PWsiFpTAqLcw==: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=yJojWOMRYYMA:10 a=GoEa3M9JfhUA:10 a=yPCof4ZbAAAA:8 a=vRAc46Nucz-5yIst6M8A:9 X-Proofpoint-ORIG-GUID: Cz-7P2lEUtPYMgIvVM6RfaDZVImQXN3P Content-Type: text/plain; charset="utf-8" Add a limit to the vma search instead of using the start and end of the one passed in. No functional changes intended. Signed-off-by: Liam R. Howlett Reviewed-by: David Hildenbrand Reviewed-by: Lorenzo Stoakes Reviewed-by: Pedro Falcato Reviewed-by: Suren Baghdasaryan --- mm/vma.c | 6 ++++-- mm/vma.h | 1 + 2 files changed, 5 insertions(+), 2 deletions(-) diff --git a/mm/vma.c b/mm/vma.c index abe0da33c8446..a648e0555c873 100644 --- a/mm/vma.c +++ b/mm/vma.c @@ -474,6 +474,7 @@ void remove_vma(struct vm_area_struct *vma) * Called with the mm semaphore held. */ void unmap_region(struct ma_state *mas, struct vm_area_struct *vma, + unsigned long vma_min, unsigned long vma_max, struct vm_area_struct *prev, struct vm_area_struct *next) { struct mm_struct *mm =3D vma->vm_mm; @@ -481,7 +482,7 @@ void unmap_region(struct ma_state *mas, struct vm_area_= struct *vma, =20 tlb_gather_mmu(&tlb, mm); update_hiwater_rss(mm); - unmap_vmas(&tlb, mas, vma, vma->vm_start, vma->vm_end, vma->vm_end, + unmap_vmas(&tlb, mas, vma, vma_min, vma_max, vma_max, /* mm_wr_locked =3D */ true); mas_set(mas, vma->vm_end); free_pgtables(&tlb, mas, vma, prev ? prev->vm_end : FIRST_USER_ADDRESS, @@ -2417,7 +2418,8 @@ static int __mmap_new_file_vma(struct mmap_state *map, =20 vma_iter_set(vmi, vma->vm_end); /* Undo any partial mapping done by a device driver. */ - unmap_region(&vmi->mas, vma, map->prev, map->next); + unmap_region(&vmi->mas, vma, vma->vm_start, vma->vm_end, + map->prev, map->next); =20 return error; } diff --git a/mm/vma.h b/mm/vma.h index 9183fe5490090..a9d0cef684ddb 100644 --- a/mm/vma.h +++ b/mm/vma.h @@ -261,6 +261,7 @@ int do_vmi_munmap(struct vma_iterator *vmi, struct mm_s= truct *mm, void remove_vma(struct vm_area_struct *vma); =20 void unmap_region(struct ma_state *mas, struct vm_area_struct *vma, + unsigned long min, unsigned long max, struct vm_area_struct *prev, struct vm_area_struct *next); =20 /* We are about to modify the VMA's flags. */ --=20 2.47.2 From nobody Thu Oct 2 22:55:28 2025 Received: from mx0b-00069f02.pphosted.com (mx0b-00069f02.pphosted.com [205.220.177.32]) (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 511DF340D9D for ; Tue, 9 Sep 2025 19:10:38 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=205.220.177.32 ARC-Seal: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1757445040; cv=fail; b=ku2OmRyu7+eqsxvoDQ9XmanUoyvMMoqVCjKUmwG5ORsrFSsVJlqhTfP+XaYzmpw1ldOtHJHkEYRqp3NYtmjtEOKi0MAmghJ+iJJfLx+ssMeVSo4QUtHiC36AiEncNEjRv8HRlzepMUubeZDehtg9KU2cBQAct95RYrKV8ju9p/A= ARC-Message-Signature: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1757445040; c=relaxed/simple; bh=bIRaFws0/sN4qneqVJ49kvn0bTmuL/vq6S5mxJqrvlA=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: Content-Type:MIME-Version; b=QizQQprU0nwkGuKDnfcKMoIwDbh6SKuHWa8yCrQdhdkWquJj2/SXSl/hcMUga+WbAmH2M8kTMM3DLfUjPw8MuuKKMZT+rC34uOKLXbAOUBQOYg+L6uAAHC4GVMljwFd6ZmUKwGYe3HjTaNRf8IQK7FSo8EFvUgJrNIfNuWQzMlE= ARC-Authentication-Results: i=2; smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=oracle.com; spf=pass smtp.mailfrom=oracle.com; dkim=pass (2048-bit key) header.d=oracle.com header.i=@oracle.com header.b=VhydMWvi; dkim=pass (1024-bit key) header.d=oracle.onmicrosoft.com header.i=@oracle.onmicrosoft.com header.b=0EMo2xuw; arc=fail smtp.client-ip=205.220.177.32 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=oracle.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=oracle.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=oracle.com header.i=@oracle.com header.b="VhydMWvi"; dkim=pass (1024-bit key) header.d=oracle.onmicrosoft.com header.i=@oracle.onmicrosoft.com header.b="0EMo2xuw" 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 589Ftfn9014118; Tue, 9 Sep 2025 19:10:06 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oracle.com; h=cc :content-transfer-encoding:content-type:date:from:in-reply-to :message-id:mime-version:references:subject:to; s= corp-2025-04-25; bh=gamh3OdT7vRc2ZCrijDSxydsSx7xWa9HjplByP0cSMo=; b= VhydMWviR/Vw7/jnguiyGsjgNOH1hqG9AIHmzfC0btX9Xj+KZxWeTkYYNpLpu7xe RXHtAizaBjCWwZp8XEjwu32wAxmK6ELeqbY+C5CbUGSg/9mjFF1bGJL7dEVLXX17 LI6PGXYJmSm/5DYU/kiudsyCwHvg/mts8ocbzKXOl+mmFIKqEYul5ayWQ5VkJBy1 EFGCIsm4dDdf3fr4m8VNAwQnsJqv9ow/SPJ7t9id1wqy/qFEnLnZiK74jfccdwC8 vqcF1zhrjheZYg8d4nzavcwmmOYLXY60URKnMcS5TLYLbyY5nKgSBNQNh+U4jipp X9fCTldwAXYb40QX0GmNWw== Received: from phxpaimrmta01.imrmtpd1.prodappphxaev1.oraclevcn.com (phxpaimrmta01.appoci.oracle.com [138.1.114.2]) by mx0b-00069f02.pphosted.com (PPS) with ESMTPS id 49226stnxr-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Tue, 09 Sep 2025 19:10:05 +0000 (GMT) Received: from pps.filterd (phxpaimrmta01.imrmtpd1.prodappphxaev1.oraclevcn.com [127.0.0.1]) by phxpaimrmta01.imrmtpd1.prodappphxaev1.oraclevcn.com (8.18.1.2/8.18.1.2) with ESMTP id 589IpkQd030247; Tue, 9 Sep 2025 19:10:04 GMT Received: from nam04-mw2-obe.outbound.protection.outlook.com (mail-mw2nam04on2046.outbound.protection.outlook.com [40.107.101.46]) by phxpaimrmta01.imrmtpd1.prodappphxaev1.oraclevcn.com (PPS) with ESMTPS id 490bdb18q1-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Tue, 09 Sep 2025 19:10:04 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=ZOCv9cEkVFJKKZiwCQf3JbYQCn7NnnTj+rT6+4rskMZF38YJeOB2LQx3XovDuR2PdtdfK2mFEl1dHKIRNFO8jjo/CEssKkLYiSLw6lOn1IfOwEtS7RhhievlG3hxVJWmIYe3SVSHFlO2XZUoE7YPUzUg7XGncDjloR97BNSMzRLYYO3G9mcaJEAKt8FL473rYbK4BJLltG5My8l0+irQECkK/6liUDxyxhbOAH27d7cZEh7SCAq1tkoy5RyC9fbDbaHhEKTmzuYIi1YHNiPelgsoywndhkhH5JVNVEXAHJ0udeyQNYQ3Jfd+EnWDiHfQx3xxhHijoRvCHXIDf98ufg== 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=gamh3OdT7vRc2ZCrijDSxydsSx7xWa9HjplByP0cSMo=; b=bI9ScbJ672IlJb+iW4xa4cqyc0sz5qbWS2M0G6mpVuyMnXDhlc5c7qEC8dl1q4wgtzGArDjSa73yGGytvmyMfJyh5MW9Wb14LyQ347UZp7HDHKlJpQaY4fmEUCkmqQ/sfJ7/LkoPKFrNfCcwHZ3Wmk25xE23jKqP7C3KsYNkNq6/AqEc7XDrwIrn9m9OvFxLZF9D0Q9+NSE2P9AxaEPOkuaLpW/rEegVByWUQcz1V5DaL3QXID/7/nVRviEdJ19xt2SXr0nN8TTwqipIXvHJUsG/dM8F828aLoxmhP1FSnP+7t7lPbF5Gp5OtwwwaXy2UtXNvOMaJ+4gl96bn5P1Fw== 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=gamh3OdT7vRc2ZCrijDSxydsSx7xWa9HjplByP0cSMo=; b=0EMo2xuw7DUBtjOrMuHvwPXEHiGJtRwG1UTmm6RWIVEf3kBbSGLf2W/bPl7bF7rFaaEqljvay3jISq/FoWzGFhZbsEmgV4jXL8UN26MmHnwBu8SS6hYcxHjDJN+GR3ulweeu7qbyjcaCkPX/Jgvv9IcGV6srDLoEg8Cjg9gRdyM= Received: from PH0PR10MB5777.namprd10.prod.outlook.com (2603:10b6:510:128::16) by DS0PR10MB7052.namprd10.prod.outlook.com (2603:10b6:8:14c::9) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9094.22; Tue, 9 Sep 2025 19:10:01 +0000 Received: from PH0PR10MB5777.namprd10.prod.outlook.com ([fe80::75a8:21cc:f343:f68c]) by PH0PR10MB5777.namprd10.prod.outlook.com ([fe80::75a8:21cc:f343:f68c%5]) with mapi id 15.20.9094.021; Tue, 9 Sep 2025 19:09:58 +0000 From: "Liam R. Howlett" To: Andrew Morton Cc: maple-tree@lists.infradead.org, linux-mm@kvack.org, linux-kernel@vger.kernel.org, David Hildenbrand , Lorenzo Stoakes , Vlastimil Babka , Suren Baghdasaryan , Michal Hocko , Jann Horn , Pedro Falcato , Charan Teja Kalla , shikemeng@huaweicloud.com, kasong@tencent.com, nphamcs@gmail.com, bhe@redhat.com, baohua@kernel.org, chrisl@kernel.org, Matthew Wilcox , "Liam R. Howlett" Subject: [PATCH v1 4/9] mm/memory: Add tree limit to free_pgtables() Date: Tue, 9 Sep 2025 15:09:40 -0400 Message-ID: <20250909190945.1030905-5-Liam.Howlett@oracle.com> X-Mailer: git-send-email 2.47.2 In-Reply-To: <20250909190945.1030905-1-Liam.Howlett@oracle.com> References: <20250909190945.1030905-1-Liam.Howlett@oracle.com> Content-Transfer-Encoding: quoted-printable X-ClientProxiedBy: YT4PR01CA0035.CANPRD01.PROD.OUTLOOK.COM (2603:10b6:b01:fe::21) To PH0PR10MB5777.namprd10.prod.outlook.com (2603:10b6:510:128::16) 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: PH0PR10MB5777:EE_|DS0PR10MB7052:EE_ X-MS-Office365-Filtering-Correlation-Id: 7dd01aae-ddea-4ec4-312c-08ddefd47819 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|366016|376014|7416014|1800799024; X-Microsoft-Antispam-Message-Info: =?us-ascii?Q?Tnn4x79w7tFro8RyZ8ilvqPVdEkXEoILrXjL7YuxDlIEIeA3ZyqJc904HqhE?= =?us-ascii?Q?vPU7DznDRUHjBCzZx2367bvxgeA0PzEhCw6uZ4dxDTfzwmG4PfveZhdCKWS5?= =?us-ascii?Q?anQq4RUW+B7ceszd2QHBv01tOtTEGuBuoDhJQ1DELZHUQ/93GW+H6yPYImMz?= =?us-ascii?Q?/iXRvq5KZSkr8yInt1eT74STbh/lcB7z5RdqAhQ5vtthegO6eRROpc6U1Ilj?= =?us-ascii?Q?Qjzcx3oG8g9mDLEWBPskzb4i+SuaUI65hkOALKX/ry3Q4+Q6N8GB/kZV5slj?= =?us-ascii?Q?yM8CDzVwi6TjDicKsrhPLDM3qBc6x7gGf93mkga5TQq0C/j8x91Ou/63v0TA?= =?us-ascii?Q?SvoXFdISixCU4vgEOyHqs52CKpBJeR1zUCAiWQq9lrbTwLRoYX+31QKnX+CJ?= =?us-ascii?Q?4kulevGboaFC2OWXdY4714+ZsHnJYXXYIoBixEaPCNLXnxm1We8kd7QdV/zN?= =?us-ascii?Q?asL+D5EG221A7W7Tk5wwiZv9gqJgPObX98Zh2F8XzkDVycSQh+pVDxtyK7Ec?= =?us-ascii?Q?EXGyE/O4+bhUb4zgKrI5fS9AwDkuNNYS6Ic1mrLz9JbOViXpYEOGPXwIWDij?= =?us-ascii?Q?D1HEsKzns3ZK01tnwVoHkYI9PU0dxMrkMbV8OzJ9RIW+jofKGF3cBiSOvpuS?= =?us-ascii?Q?X0SwgFD4QlRRpmCPEEw7e25aB7wXhQEVXiEhUb5JAauXr9NxjOE4LksnPipi?= =?us-ascii?Q?7jwhyNWU4gYAaLKmoAn5Pu6fW7BUbTMjkSPlyb0jWwhra7ZGU+RjtGhpRA2H?= =?us-ascii?Q?rVNnXUd5XOZNLuz8HsayWbis8e8733Sgt10CjiTwSMCDcyGg9ByNBUhq6Y+0?= =?us-ascii?Q?FxwA0+G57nHQTnTYZ7lhWkdB4XjLuXTrGaOGrKAk8QSdmYSp2lQWAVWudFQ/?= =?us-ascii?Q?JyUwBgktWOwyaRziUSNiylus1SX3Ou/jlcI8vQ6pmucO/sZcScBlsM8vTNXQ?= =?us-ascii?Q?uYclbsualQNqapUX0kUSEBJ0dLusrZ4WfHimV1bROAb1gkE6fTfk+ZszH3HB?= =?us-ascii?Q?Buj5apMxpQzilI1o/8iBigp8kNDfrE4WFE4ZxGhKTsmJziRbflCB+IDkwpOR?= =?us-ascii?Q?OAp8O6BIXzBq4973Piua3FYZPvDZuM2edq9vR8xgh49ONPdxd9O7b00Dr9Hj?= =?us-ascii?Q?zvyQPVvWyy6btutYozidqYEQlUQuadTdsBV+Cmty8oM/pHfSQMCk67TBAaLc?= =?us-ascii?Q?lRQgZl8ksmMSj+oDxBwt646ROwRunaP8d6jk24jXAgntlcyLAEEmhxLsAvFU?= =?us-ascii?Q?l2pZChwRnpYG/b4aSRlCnlKNOcXb3MPDb0k0bQq5erFoEEdyuBaoJx5dt1Za?= =?us-ascii?Q?d4BV3XP2ItcYKC3+/pvLZegauJphHvYRcb7sI+OoGr1yQjee4nvsZVzMD8+U?= =?us-ascii?Q?BM0y6U8k1ZM5REsUa7wTP10DELAVVZqhXWadCdSTSmcKiZHWgF9H04P3pl1t?= =?us-ascii?Q?bPzpNMg3x3E=3D?= X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:PH0PR10MB5777.namprd10.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(366016)(376014)(7416014)(1800799024);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?WoqK8+X0JXPm8EnyWfmO4hvpUDDyMZYiNaUXnpxXFisfsLwEhU98XIvzjDss?= =?us-ascii?Q?D8Uc/AzCtDCa4xL9f7rI9c5qktFBNTT0oFoa81uhBNb9ISQ3VKj2W4Y+XpEL?= =?us-ascii?Q?PxzVUWm5qlFE0WQ/1pAK5sFLpC3YtkzgHDf+5tF9Fd/ehUrsmTMeQKpAeaJ6?= =?us-ascii?Q?jViC/6+XtYXlbkIJOyNiKrRl0dz4nh2D7qr37HEOrJ3puZHlGh5Sx9CBp4pE?= =?us-ascii?Q?1Br0bzBJjY75cfcoZLlQIJJ0VM6Wa71rzKYevnIjaO9Ur+N9kkZqWSf/cKuG?= =?us-ascii?Q?wQiW2pdvFSQVvwfL15PivT8Hq/GdianRK7xjg76W2GE9lGetxfO7rLb7WHYN?= =?us-ascii?Q?SBsE0aGXGnHp42tXKdzn8/cGJnuFI+PBdSOL4UWtVXpRByIIWadVYQqi/mS7?= =?us-ascii?Q?8CtW4LyLWwQ9oYoCLuUu2MnBvWWaJq7fgL0+IlJpaFHvfIaMgpHMVI4iA+Uw?= =?us-ascii?Q?anVUqLirSz93aJLgvZ0fg67AAJoUb7lqgw6AlGKMaySofsOpL7VVC6BpbDu+?= =?us-ascii?Q?RZxMshyuWMD9obn8COL2vKNsSGbrPK+RMfyHWsZuQ7vVGhkR5p/yTW6Ku5Eh?= =?us-ascii?Q?NBZ1qpOjs8s9QfbWuxSlJ6kil3g2I0SIJ1MvXSyvhBbCxUjbCAg3Tu+NbQn6?= =?us-ascii?Q?8+klQuVQ3OYPnsx2iGQiSMZt7k259k7na+ibstx2D0v4R8rMuWzzq1llzYKx?= =?us-ascii?Q?4Om3lCENSkbYnlJLJwjSo+SOjxdDgYwjfqfxbdNGM3YSV3mRLQkzSkaKvNe0?= =?us-ascii?Q?MYhX+iuGB0odeeYWbe0CSjnhHyD31kvNc+FjBvv8TBrRqojzx2IY3rbxmnpv?= =?us-ascii?Q?vrH4ERmaFfovOoNs5Txn9i+7aKLphry9W/6+72rSD5GsFEtjtqovZhnujxIs?= =?us-ascii?Q?EYeVvqmOsahSQ7qcXqtuXgSSo9mCAAVtCTsH8R68spOLCWjgMbx7dhFa4uuP?= =?us-ascii?Q?cRVj3+yDWt5Kj2YrTEDPCL8toMQBsIQkC97dOA0M/8id2r6Xam/boHCkBVQV?= =?us-ascii?Q?FlxAoUOa1eC5y1n003xsut6+GVqgq6KNdHpG9Tr3g0cg3IooxUWe7Dbv/5nP?= =?us-ascii?Q?daHHVAGD4ZVts4HBAYYRLM4P73z38+xkZczAZizckJYl/b5EUdtdJnLylf+y?= =?us-ascii?Q?XNerq4XUCirJM9wvycPG2FXR48e0rWqic9wb/PHqJR1jX8GLipZQ0W6aY3U4?= =?us-ascii?Q?PzhFql9knZVMfK+VrIICxswoLupv8/bTmih6pmJjv05da6K3bjoOy31BGIJ5?= =?us-ascii?Q?G6RV1SAnzEap9EDRcgJI6nBGoEE1lwdvGUrWDZt7UN2MAuaOIZGxrDfVqI4X?= =?us-ascii?Q?Bqh/FtrR7VOScwhUA0OvTDa/OiP2khcO15Rtr/vhy67wEODuBUHf5zSwNtl5?= =?us-ascii?Q?94JPmnJXb2gyh9+eCdfXWVUu4Y7mfSV9M6d/5DLhKPQolEspPDjeL5FTi0Zj?= =?us-ascii?Q?Axyoj52R/A5/4l+z81tcA0JR6S5YFeWwHNIGBfW8h5OCOAZ8RZH3+G9PEdFm?= =?us-ascii?Q?6olAodk8nN3tvkYyA54c5UESN5LHd8e/gVqgaftc1SwoGxJvl96rOk62oJUZ?= =?us-ascii?Q?rpQdZb8YoVKu/uO6MSM7lRWCu8A8ifeodMXU+aQJ?= X-MS-Exchange-AntiSpam-ExternalHop-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-ExternalHop-MessageData-0: 6kwVuH5NWruhuJ8WbEjJUlL5EZGijv6C5mvRb2X1lVfR+jp5cN3Lau0apwZhOITxAiMcgo+CH8mN94ZjDeXBq5N37qnnZHYOuTRff5bfVmHjUhI7GoFt87wKXEVGygt7z4uhHacMWYoRPwT7fNQ7VR1vorvnoA1dBXXjkcr4Gr/qo9RU24dEiWxMUQrBOYBYQ+rTk2EHwhtbiIh6IO5zq2LYJitHpEiGzcdASRKUt7xlCbnEycBAVOB/2Kw3TZSkJdul/bABXAryPXYZH6MMCx4BrXfbUt8dMnt5WC9i3+fombmhVIHYxPcXz5d1kaGb1DhTLkcn565HtGueXKebE/zbtxcAoxebWjELGNhqkPnrkVr3DdBaLTRXXyGQgtsw/TLknkNq7ugfLnTJtCTI1cIhxSRshhrbNJkDrDnPi4nutRCc+dXbpIkis+23aUCvadEke2zckxyvMQwxyH1ecFUswBS18q6Ms6R7LfOVsNU0nAUPa3Ldr6WNSm4HvpHam8mnvTasP1acg1PvbEAW7wppkXXCv7GxrHokDXAZ5WKcCkFXccNID2TrKrCi/+fyCkzZrz8xYmgl+u/sVGzzj5+AHLK7LTTmO1t98h3EMvE= X-OriginatorOrg: oracle.com X-MS-Exchange-CrossTenant-Network-Message-Id: 7dd01aae-ddea-4ec4-312c-08ddefd47819 X-MS-Exchange-CrossTenant-AuthSource: PH0PR10MB5777.namprd10.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 09 Sep 2025 19:09:58.5915 (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: jafm+i4Xp6kdEY013kybKVb6nNPbKi1lv/tc1guPOkF1sV44/8usNTDPuaeM5bmxAYguhKkOzStTIlte/zb4Ng== X-MS-Exchange-Transport-CrossTenantHeadersStamped: DS0PR10MB7052 X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1117,Hydra:6.1.9,FMLib:17.12.80.40 definitions=2025-09-09_03,2025-09-08_02,2025-03-28_01 X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 spamscore=0 mlxscore=0 phishscore=0 bulkscore=0 mlxlogscore=999 malwarescore=0 adultscore=0 suspectscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2508110000 definitions=main-2509090188 X-Authority-Analysis: v=2.4 cv=QeRmvtbv c=1 sm=1 tr=0 ts=68c07b8d cx=c_pps a=XiAAW1AwiKB2Y8Wsi+sD2Q==:117 a=XiAAW1AwiKB2Y8Wsi+sD2Q==: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=yJojWOMRYYMA:10 a=GoEa3M9JfhUA:10 a=yPCof4ZbAAAA:8 a=q6GSRqQfuUaAh-TH8e4A:9 X-Proofpoint-ORIG-GUID: uhnxaAZTWEBX-OZ5YB7cwa338bln3Sgu X-Proofpoint-GUID: uhnxaAZTWEBX-OZ5YB7cwa338bln3Sgu X-Proofpoint-Spam-Details-Enc: AW1haW4tMjUwOTA4MDE1OCBTYWx0ZWRfX14fBThcuXWBa dFbsvbKEHxtKiZ8aIWSM7972tykOUh0j8cfP8nRz30kRSxwf4jK3iU3YJETfI6genVzR231FE3H 2EL1ibAYyIUt/zV04bo97MhZ2SauCRGyqnd/QK2pAGGVk+dCwi/yv9g2unUKoisSvG9i+Nb+q9u L4ciTRbJSn3KeIyx5Hxa1SiqGnkbdLFNCEiR9O5IqtWJ7L9DDwr00N+daw8vGp83XtPEAFny6jx cwvqvWsP0SKwEzU3VxmldxnaXPYAEhECR4JJZmtAzZJatUg1XhLoApFh+P04difblNmbxo9OyNN muWYLfZzq2FSXAtq/Pcl20PPGLcbFmsgzcgYXsR6rLMeVrf9mgTRq2iVh8vdau2bXPj0NHuYNlb ZMRmmrnf Content-Type: text/plain; charset="utf-8" The ceiling and tree search limit need to be different arguments for the future change in the failed fork attempt. Add some documentation around free_pgtables() and the limits in an attempt to clarify the floor and ceiling use as well as the new tree_max. Test code also updated. No functional changes intended. Signed-off-by: Liam R. Howlett Reviewed-by: Lorenzo Stoakes Reviewed-by: Pedro Falcato --- mm/internal.h | 4 +++- mm/memory.c | 28 +++++++++++++++++++++++++--- mm/mmap.c | 2 +- mm/vma.c | 3 ++- tools/testing/vma/vma_internal.h | 3 ++- 5 files changed, 33 insertions(+), 7 deletions(-) diff --git a/mm/internal.h b/mm/internal.h index 63e3ec8d63be7..d295252407fee 100644 --- a/mm/internal.h +++ b/mm/internal.h @@ -444,7 +444,9 @@ void folio_activate(struct folio *folio); =20 void free_pgtables(struct mmu_gather *tlb, struct ma_state *mas, struct vm_area_struct *start_vma, unsigned long floor, - unsigned long ceiling, bool mm_wr_locked); + unsigned long ceiling, unsigned long tree_max, + bool mm_wr_locked); + void pmd_install(struct mm_struct *mm, pmd_t *pmd, pgtable_t *pte); =20 struct zap_details; diff --git a/mm/memory.c b/mm/memory.c index 3e0404bd57a02..24716b3713f66 100644 --- a/mm/memory.c +++ b/mm/memory.c @@ -369,12 +369,34 @@ void free_pgd_range(struct mmu_gather *tlb, } while (pgd++, addr =3D next, addr !=3D end); } =20 +/* + * free_pgtables() - Free a range of page tables + * @tlb: The mmu gather + * @mas: The maple state + * @vma: The first vma + * @floor: The lowest page table address + * @ceiling: The highest page table address + * @tree_max: The highest tree search address + * @mm_wr_locked: boolean indicating if the mm is write locked + * + * Note: Floor and ceiling are provided to indicate the absolute range of = the + * page tables that should be removed. This can differ from the vma mappi= ngs on + * some archs that may have mappings that need to be removed outside the v= mas. + * Note that the prev->vm_end and next->vm_start are often used. + * + * The tree_max differs from the ceiling when a dup_mmap() failed and the = tree + * has unrelated data to the mm_struct being torn down. + */ void free_pgtables(struct mmu_gather *tlb, struct ma_state *mas, struct vm_area_struct *vma, unsigned long floor, - unsigned long ceiling, bool mm_wr_locked) + unsigned long ceiling, unsigned long tree_max, + bool mm_wr_locked) { struct unlink_vma_file_batch vb; =20 + /* underflow can happen and is fine */ + WARN_ON_ONCE(tree_max - 1 > ceiling - 1); + tlb_free_vmas(tlb); =20 do { @@ -385,7 +407,7 @@ void free_pgtables(struct mmu_gather *tlb, struct ma_st= ate *mas, * Note: USER_PGTABLES_CEILING may be passed as ceiling and may * be 0. This will underflow and is okay. */ - next =3D mas_find(mas, ceiling - 1); + next =3D mas_find(mas, tree_max - 1); if (unlikely(xa_is_zero(next))) next =3D NULL; =20 @@ -405,7 +427,7 @@ void free_pgtables(struct mmu_gather *tlb, struct ma_st= ate *mas, */ while (next && next->vm_start <=3D vma->vm_end + PMD_SIZE) { vma =3D next; - next =3D mas_find(mas, ceiling - 1); + next =3D mas_find(mas, tree_max - 1); if (unlikely(xa_is_zero(next))) next =3D NULL; if (mm_wr_locked) diff --git a/mm/mmap.c b/mm/mmap.c index a290448a53bb2..0f4808f135fe6 100644 --- a/mm/mmap.c +++ b/mm/mmap.c @@ -1311,7 +1311,7 @@ void exit_mmap(struct mm_struct *mm) mt_clear_in_rcu(&mm->mm_mt); vma_iter_set(&vmi, vma->vm_end); free_pgtables(&tlb, &vmi.mas, vma, FIRST_USER_ADDRESS, - USER_PGTABLES_CEILING, true); + USER_PGTABLES_CEILING, USER_PGTABLES_CEILING, true); tlb_finish_mmu(&tlb); =20 /* diff --git a/mm/vma.c b/mm/vma.c index a648e0555c873..1bae142bbc0f1 100644 --- a/mm/vma.c +++ b/mm/vma.c @@ -486,6 +486,7 @@ void unmap_region(struct ma_state *mas, struct vm_area_= struct *vma, /* mm_wr_locked =3D */ true); mas_set(mas, vma->vm_end); free_pgtables(&tlb, mas, vma, prev ? prev->vm_end : FIRST_USER_ADDRESS, + next ? next->vm_start : USER_PGTABLES_CEILING, next ? next->vm_start : USER_PGTABLES_CEILING, /* mm_wr_locked =3D */ true); tlb_finish_mmu(&tlb); @@ -1232,7 +1233,7 @@ static inline void vms_clear_ptes(struct vma_munmap_s= truct *vms, mas_set(mas_detach, 1); /* start and end may be different if there is no prev or next vma. */ free_pgtables(&tlb, mas_detach, vms->vma, vms->unmap_start, - vms->unmap_end, mm_wr_locked); + vms->unmap_end, vms->unmap_end, mm_wr_locked); tlb_finish_mmu(&tlb); vms->clear_ptes =3D false; } diff --git a/tools/testing/vma/vma_internal.h b/tools/testing/vma/vma_inter= nal.h index 07167446dcf42..823d379e1fac2 100644 --- a/tools/testing/vma/vma_internal.h +++ b/tools/testing/vma/vma_internal.h @@ -900,7 +900,8 @@ static inline void unmap_vmas(struct mmu_gather *tlb, s= truct ma_state *mas, =20 static inline void free_pgtables(struct mmu_gather *tlb, struct ma_state *= mas, struct vm_area_struct *vma, unsigned long floor, - unsigned long ceiling, bool mm_wr_locked) + unsigned long ceiling, unsigned long tree_max, + bool mm_wr_locked) { (void)tlb; (void)mas; --=20 2.47.2 From nobody Thu Oct 2 22:55:28 2025 Received: from mx0b-00069f02.pphosted.com (mx0b-00069f02.pphosted.com [205.220.177.32]) (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 A0AA83570C0 for ; Tue, 9 Sep 2025 19:10:39 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=205.220.177.32 ARC-Seal: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1757445041; cv=fail; b=TvGh69JGiOvdhlau7uDNm1xf154rnhx0ub90YDSEnmSxXlWKK7dtz7LOjfdqtMyAsG1GRobGvvZCFb1Sqq3WAAmJ4/eNM3Umam7oE1byg7E6coPyMNJ89QMZiFpwV7hrEbOLLOhJSz7p5tTpJ4qyjke9c4ndoLtAx0Ohi0sXXqA= ARC-Message-Signature: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1757445041; c=relaxed/simple; bh=zr22SG1RMZ0I4BPz+1dCncXswmlp7U0LY+NkGScNSR8=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: Content-Type:MIME-Version; b=XKsoCsxC554FO6xaOX8uAQmPa4zVFdzZL6T8gEjYg0QrodtYfqMVK7U6MPGvlpxhKIQSlCg2WXudxaxxQbDnV2WaAW0VQXiXEaiI8yBD3sCM0ItOBKkrFsJEmd4+xeINAUGnC/Rw21YJFZ4gUKuCblgOK8v2BpGvW5YRCGga8JI= ARC-Authentication-Results: i=2; smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=oracle.com; spf=pass smtp.mailfrom=oracle.com; dkim=pass (2048-bit key) header.d=oracle.com header.i=@oracle.com header.b=YzhlqrDq; dkim=pass (1024-bit key) header.d=oracle.onmicrosoft.com header.i=@oracle.onmicrosoft.com header.b=xEGKlfjG; arc=fail smtp.client-ip=205.220.177.32 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=oracle.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=oracle.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=oracle.com header.i=@oracle.com header.b="YzhlqrDq"; dkim=pass (1024-bit key) header.d=oracle.onmicrosoft.com header.i=@oracle.onmicrosoft.com header.b="xEGKlfjG" Received: from pps.filterd (m0333520.ppops.net [127.0.0.1]) by mx0b-00069f02.pphosted.com (8.18.1.2/8.18.1.2) with ESMTP id 589FtdkU003511; Tue, 9 Sep 2025 19:10:06 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oracle.com; h=cc :content-transfer-encoding:content-type:date:from:in-reply-to :message-id:mime-version:references:subject:to; s= corp-2025-04-25; bh=vYTlWkQdkZ5M4FC5dnxjKM+pzSlZUTEXO9w5j0/bnJg=; b= YzhlqrDqpzpTwLipu/jWSmXlaA/1qWphQTdBOpBgJ61DJddLeoInOaeB//9HyHij D5eaoY5EOz97gjnB4isKPfamDdRMOR23ECKIbzbEJ7p95zpd/cVR1qj+MB20YwDJ tb8eOy2+o6elvxqVdFskAx2tLJBj9OuhEwggBbM1nKht5PjhGTnkCHAgGOSUO9+2 3YHRpbTvXpPEACUijHd2ZwtYc+LgJ8ZvGkkahWrMPC55zQTcJpZgpTNo03LVch+t YBQTxi0hh3Ia3eahj/AX3iymG6l+dBu1LHUKq1jKadjwPlcsGaMYSs248Eds/5AJ avFYEQWUhgZXgbGiXYawhQ== Received: from phxpaimrmta01.imrmtpd1.prodappphxaev1.oraclevcn.com (phxpaimrmta01.appoci.oracle.com [138.1.114.2]) by mx0b-00069f02.pphosted.com (PPS) with ESMTPS id 4922jgtn0w-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Tue, 09 Sep 2025 19:10:06 +0000 (GMT) Received: from pps.filterd (phxpaimrmta01.imrmtpd1.prodappphxaev1.oraclevcn.com [127.0.0.1]) by phxpaimrmta01.imrmtpd1.prodappphxaev1.oraclevcn.com (8.18.1.2/8.18.1.2) with ESMTP id 589IpkQe030247; Tue, 9 Sep 2025 19:10:05 GMT Received: from nam04-mw2-obe.outbound.protection.outlook.com (mail-mw2nam04on2046.outbound.protection.outlook.com [40.107.101.46]) by phxpaimrmta01.imrmtpd1.prodappphxaev1.oraclevcn.com (PPS) with ESMTPS id 490bdb18q1-2 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Tue, 09 Sep 2025 19:10:05 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=f3teaGgw50ZkfqJL2FUKIvuUvSb119RMz4tRclWrCpJLGFHppIbKzr5Ygae+Ilb5zZeizY6BcIISXa7odh3wJZKIkOabHq7JIpYD+X/7tJV6trWmL45boydafV/jwnalwR3J+bUBIdj428Ku0QAzRQ7jzvAcUfAaZt7+PID5gbEgzPVfZHTiJO9BHL3okPJg6GppAN3xy9K9dlkB5FisfevWQK5JA0yAT6UlrYnEgRTjyH/z00yR2bbsWhj2deHy6FxU68DirIP9IWgbg4Q5b8snduHDhz1PaWwV2CU/jEcx0P/VaICZz2ZIO2AXmNFIprKEkJXg+IqSh+Z0VkrJQg== 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=vYTlWkQdkZ5M4FC5dnxjKM+pzSlZUTEXO9w5j0/bnJg=; b=vYTpmqSRzA1OoTEEMqdg3dXA6R03U8Yv6oOmQHy5JmpB5yEmrDJyGaD1wi10MaL49CYHVmJZawrbg9H3BFmpAQFmpEO0w95xiKBkR2ln15I/3w5fE/+mB0aYlOdAUfKlqkYxFtkD1r8Lfe2aKbas0tJoKsT7Errf+E/fYSOkHXEWo3m8jGAs6hYYOodKcE+Zlz7w5ViuxrtrX8c77x/IScJUsiFF85MqapjXrjVrLZP9hxVk24fKUUoYmtzsToI3cbij+QTLrbSK++UWke5tDP3DPYkk7gBA1rLvr8dcJz1wBulBsy+IVLBn8Yhuxiq0pI4L2GrKGw6HCLcz7VMxGA== 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=vYTlWkQdkZ5M4FC5dnxjKM+pzSlZUTEXO9w5j0/bnJg=; b=xEGKlfjGFlE1V8db1+LL+maki/m9TvHoP4OO2VgMxBeI/4dZQQ1SvptLe71hWZUjInsWLJV9TQdsEDg/Tisv5hI8OqbuGidTEIbPVcdyDc3hBmNGlKU1NnZflDkYcoQ+FiVPYpEXGILJiogfpcbc7+3FQrg3H5JTwppl7UU1fA8= Received: from PH0PR10MB5777.namprd10.prod.outlook.com (2603:10b6:510:128::16) by DS0PR10MB7052.namprd10.prod.outlook.com (2603:10b6:8:14c::9) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9094.22; Tue, 9 Sep 2025 19:10:02 +0000 Received: from PH0PR10MB5777.namprd10.prod.outlook.com ([fe80::75a8:21cc:f343:f68c]) by PH0PR10MB5777.namprd10.prod.outlook.com ([fe80::75a8:21cc:f343:f68c%5]) with mapi id 15.20.9094.021; Tue, 9 Sep 2025 19:10:01 +0000 From: "Liam R. Howlett" To: Andrew Morton Cc: maple-tree@lists.infradead.org, linux-mm@kvack.org, linux-kernel@vger.kernel.org, David Hildenbrand , Lorenzo Stoakes , Vlastimil Babka , Suren Baghdasaryan , Michal Hocko , Jann Horn , Pedro Falcato , Charan Teja Kalla , shikemeng@huaweicloud.com, kasong@tencent.com, nphamcs@gmail.com, bhe@redhat.com, baohua@kernel.org, chrisl@kernel.org, Matthew Wilcox , "Liam R. Howlett" Subject: [PATCH v1 5/9] mm/vma: Add page table limit to unmap_region() Date: Tue, 9 Sep 2025 15:09:41 -0400 Message-ID: <20250909190945.1030905-6-Liam.Howlett@oracle.com> X-Mailer: git-send-email 2.47.2 In-Reply-To: <20250909190945.1030905-1-Liam.Howlett@oracle.com> References: <20250909190945.1030905-1-Liam.Howlett@oracle.com> Content-Transfer-Encoding: quoted-printable X-ClientProxiedBy: YQBPR01CA0014.CANPRD01.PROD.OUTLOOK.COM (2603:10b6:c01::22) To PH0PR10MB5777.namprd10.prod.outlook.com (2603:10b6:510:128::16) 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: PH0PR10MB5777:EE_|DS0PR10MB7052:EE_ X-MS-Office365-Filtering-Correlation-Id: 8986633a-c48a-45d3-dda8-08ddefd479ed X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|366016|376014|7416014|1800799024; X-Microsoft-Antispam-Message-Info: =?us-ascii?Q?q1mVFOSw18rdNhTqut0SlF44YB2TxZGF8DyGnnr/1tX8ycx8LF/U1F8E6iK3?= =?us-ascii?Q?ZJt+j00gCm62Q1zIjuEYud7AvvAVmpzK/uXuG6GowN6rSF71IA89v06h4NxE?= =?us-ascii?Q?uMuSx68rvQFBJCm1CGngYUFDTCPv1tR+7+fRmRFE3n4pN7DIX+SHudvvAdvv?= =?us-ascii?Q?Afwl9jkya0A6CCay6i+V3IUGdIh4sLynSnqBRKClWZXL+NjEQ2/o2EilTKil?= =?us-ascii?Q?0kCCOHUuYeJeHHNN552/Bd6GGTv7GluZR//Jg40eFE0grtPqZwOCKEWhAFWB?= =?us-ascii?Q?tI3DuEjBpaTuikJ2tQjp+CQeSqtDVPvp0RZ6gcCwIQ9Wl8QqxN4Uq4IIgR2o?= =?us-ascii?Q?4Dr4dmLRnU80aY2C1UP0Xiiv7XkAQhT7SY9yYFGJGZhYW5F+BrNOteq5UJom?= =?us-ascii?Q?q2jeM9l6rzqXPmgA4rzTWfRpQTa7PPSMfuakv4Jl/CMhGXqVHEVxVpH0vwTk?= =?us-ascii?Q?IQUY3bXg0OI1oNpZKcvtDjIB1W4GHhFkEYzRPVrWRX7qVGDI/fpNU/dUZa3J?= =?us-ascii?Q?EPdxeqtQcpqO6rowubVqwLhjGRQIB6IC34OOIu5SaUQY7NvXG02GQmgPTlmy?= =?us-ascii?Q?3LXGTa75RnPfp3yJvS8DqMIG/M5RmfdGXtDgTjoD9x+tZLczFCD8LpD+L4TT?= =?us-ascii?Q?q924I+kl881EaXYuQM9CAABvcv9K+lI/nOIY7cfPN3LVBtmsFm9uzJaNcQ9C?= =?us-ascii?Q?j0WAVxLL/IsPvdNKBPUdj5yqtfgEhQnD+j97zdx/wxu5GSJ6BMZYDIgXqFnS?= =?us-ascii?Q?2qzuYwbNdzsbYNxqeTsPtUdl7eQTdy6mRm3dfSfAHPaw1avut7D7AwH49+8T?= =?us-ascii?Q?gcF4OumAZP4FRujHqucf4E+qNAUstCx/L4jVMskz/9WhaUfL+LQITPlYMxgt?= =?us-ascii?Q?10GFgMPl0Kq4V7rHSvvg7/Iu82Ex6QiQwQYsk5ludyYpQmKmGRK9ZKHBPKFW?= =?us-ascii?Q?Yv+zM0mXy2OrjHtOkGDRsqWZOsb2d2Q4qtl+ikhh6fqrxpnUcTHqgPTfGtfs?= =?us-ascii?Q?98/nslCx4TFgW5QGwvjmk2N4dxpRCZG/xuSdBQZD8kXBjbnpjSxEzlu7g52a?= =?us-ascii?Q?7RkciEX9Y3M2M5W4L1KzhIfMqJzqZniXIKYpP0/1SRQXbMEqSM+GwaviHmIX?= =?us-ascii?Q?gxtVWroE50FnvVT9YVltV67EyQ9SsdFpwYBsTnTv9IR9DDaRf1yTxE6uh4hr?= =?us-ascii?Q?epNbwSg5RgiyO4ygJBO/7TIX0X0YcjAym/hfwDS06yfmYKXCRPpPwTzf6lrv?= =?us-ascii?Q?HzV1XBcaD+TJvtIE/r7/1+TBJTxzO3oS4v8F77P9xhVUplCh9FxVHxYwq9C0?= =?us-ascii?Q?A8ebsFyNMaFoURzN3xKhxR9UpqYs6KYkEwyyFh4GR7XtXpkUYDbmuLxHXs5V?= =?us-ascii?Q?fbcuoyJJ+3uQcysJTjFV8Np6cPs5at2j/m6aYXEVL7fPfSH/I/l5Mm0y4FVS?= =?us-ascii?Q?Yzc/nT5gO/k=3D?= X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:PH0PR10MB5777.namprd10.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(366016)(376014)(7416014)(1800799024);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?GXYuDIpTCOAW/adh2LRbnFSK++WA6T3Il83SW3rIQgpDuBFBVXrzMvKBcN0M?= =?us-ascii?Q?gDYWvUM9uH7/3S98tkqa3RB+/G1Oy/geLOEXA8S+doGW305+6rTX4yQai1t+?= =?us-ascii?Q?UZ3CnB5n9K2rgnhSFWvQjLBt7am6BYg1hg9n6abxagVB/YlZuDTkU2Rvl/sC?= =?us-ascii?Q?V9hX1U/mPhsfcSWAEXZ+OJbY42RGBZ4aipYla4q2VrJOOWZrzwOoov3rp+7y?= =?us-ascii?Q?dz5IUNnT7fPXvVO3N5Dj9NWhQuMMaY0waGYIuAafCQ45mgmjTTRkJo7Y3WIW?= =?us-ascii?Q?4suqKjUkJEox6Lbg6xJdO1QZRGW0F3wjT/a8L+6vmIRByjso01zHtsNltGgi?= =?us-ascii?Q?M2WJGYRZ3uLin7D25n6rzpfh54+coxIMY2tyW7+qpbTJtuwz3r+Iy5lH2laF?= =?us-ascii?Q?ZywaYNbzFwfhMW2Ch3yhg9q7gvG/KR2nDoO2sVw5n0nzZAtAVPjcSxCEfoRL?= =?us-ascii?Q?CZt5YhHxvzXYJ8yMr9lFZwHHYnpqofOIUUl7QAtz05aaIoo8/84FKXwg+gNR?= =?us-ascii?Q?JAWuExcAhSYe2U9X0eUtyATavDqGDUAwvJlotQ5/L7Hy5IX7KpJuBvsaoZQk?= =?us-ascii?Q?x3pxYhC/12G9Q0vnFJpVEnVwpL5/C7xiScJ2h5Uhw1FbYTKIzhvkVV1zTthA?= =?us-ascii?Q?ucpHMZi6r3MLrfkAtvWG6oo1Df/Yq/lP943zXB5A6D+yG30itGqGu7IEmQQK?= =?us-ascii?Q?dxN4lvpnl0/2oz0RKpQyScbvvmiygbsHvaK5DwDgtlMHwcelpYz8/OYLLASw?= =?us-ascii?Q?+IpfdUHgwiJgNEMdX4bSk0LhasB4sNtlxtzI/46W3q20s9B16akxR5v23bsV?= =?us-ascii?Q?/fELLgRqnhCdoKC3ZX82pq7u5UvLwrK16KfHA22GowMVPLm7Wf6dB7B7+yRc?= =?us-ascii?Q?c4szKW7aJKJzK6yWrqZ93h1WiFjZSTpme2X1XWoRxgzCF6s8zjw1I9o4JIxM?= =?us-ascii?Q?Czqn0YM+ghd4TpOeHm3GRmbcClZ12gZOTwIReiiE9nk+fZQ7Fce1thTHgsaj?= =?us-ascii?Q?UR0EqMv7njCGsY3nR3GJu6tghKqn+rSPEeRUaBf96w5hiWLp4oX48hwG1zfw?= =?us-ascii?Q?qk4msFPuVww5l0fPM1aaNbrX9MBdonh0UBFEM4HAPJH7puCUOd9VerusRIzZ?= =?us-ascii?Q?JeuuDNL8KMUT4bjWfolZOCqZqm8IxW42wmaELGw/TY/D1Q/tXwM1VgAaFXTT?= =?us-ascii?Q?JNaZGjNNK0rytoFgW6iRr66lffS4y2Vc4zM1jIRgXNCFVMIbPbCSWEW1xTE6?= =?us-ascii?Q?bwv7don0MKimHL+TMzd+tEV35F8K/eo1F/EF/VVtHlkVE2SAp0Op/9rDXimo?= =?us-ascii?Q?aVTpgY3s7LpsQ7x3G6gffozS4arsvWiX4eKvifimCxYpWg5nZ3t2RnZUYwIc?= =?us-ascii?Q?n/h/ajkjKcS3Xg1dvMTdwRqZiC3Pz19+jPZzuoVBw7Z0Q/cmOHU7q5cPNLRV?= =?us-ascii?Q?OIdEal+JEqWBYn1qlOooenD7szEHy2NWBI6DwFZv17QTEjXAAG7AFgBx5ag4?= =?us-ascii?Q?8HXg2QSBFoVPJAG36YUbFrs+uvw2BwNz4Y9A2ouqvoDefClBFDjlZ0tnkQd4?= =?us-ascii?Q?NveTiS3f2vMtR8EA0id6s2yts5wjaVNLWvSBLhyJ?= X-MS-Exchange-AntiSpam-ExternalHop-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-ExternalHop-MessageData-0: jueOZzrT8/keN5uvyCnvcCk2Gvc6YGGcn2C0/h2mPrRhsa4Z6AUeMtI7kJv0IzoPrkG3cCC8Y8RUYVzhXJ9aqR/Zd+wdRyzRILJ3xVn9kKjhGI4PAvfuudX9KOrliZxSDNXT2RA3bILUYZsPhYxs97Bx09w2KOgR26l28Gb/ikKek/yKpudVZKAiBaz87+CF0w50eYnMVZXORetMryyFECLiYYsZop+ptst4HDeLnD4EOZth0xxtqD29w3S0iJLdlZkJRc8NwP6x0Bq+7h+EzIktu4nCFw7IbcFvasEJvmv/v676NUl4+SgPpG26wbs7duPJ5JUBHPjyCYdpRHNP2QqyANeKUjNegWS2sagbspoCcDKCN3r/Nsupj2rBeq11LJ3PYS3N1eQERad71ABRNyVeAWo3QzvWHVCTrvUTvz8Uck0JY3fr5FVv6BETzK5S+JillVMCY7D91zfVgAVqTiIz/eeVUtnHtMJeuwQ+kE0N5elck5OtdiFHALepjD6bG8bCJnnfCjgUb4iG24IouFPki0jjrt/TxDYplYpiHyOBls+cA9WK0dj46C4bpZMnaoVb4BeT8d1toQDWM+djX3FDJuqb3kXBJFeoqGkQXNc= X-OriginatorOrg: oracle.com X-MS-Exchange-CrossTenant-Network-Message-Id: 8986633a-c48a-45d3-dda8-08ddefd479ed X-MS-Exchange-CrossTenant-AuthSource: PH0PR10MB5777.namprd10.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 09 Sep 2025 19:10:01.5881 (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: M8mt/uaj1silRzPkAD+VyLuJQYWhEaAgDpOZsjIMVQ8IrCAwjhJ/HQqPSRn6RXcyTQXK+h/QT5V1/o+wkL31Tw== X-MS-Exchange-Transport-CrossTenantHeadersStamped: DS0PR10MB7052 X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1117,Hydra:6.1.9,FMLib:17.12.80.40 definitions=2025-09-09_03,2025-09-08_02,2025-03-28_01 X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 spamscore=0 mlxscore=0 phishscore=0 bulkscore=0 mlxlogscore=999 malwarescore=0 adultscore=0 suspectscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2508110000 definitions=main-2509090188 X-Proofpoint-ORIG-GUID: NhZeJ-D757Mg-l95_HawMKe1GRCwNkJ_ X-Authority-Analysis: v=2.4 cv=PLMP+eqC c=1 sm=1 tr=0 ts=68c07b8e cx=c_pps a=XiAAW1AwiKB2Y8Wsi+sD2Q==:117 a=XiAAW1AwiKB2Y8Wsi+sD2Q==: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=yJojWOMRYYMA:10 a=GoEa3M9JfhUA:10 a=yPCof4ZbAAAA:8 a=mRhb7lE__WOmgSHBrkQA:9 X-Proofpoint-GUID: NhZeJ-D757Mg-l95_HawMKe1GRCwNkJ_ X-Proofpoint-Spam-Details-Enc: AW1haW4tMjUwOTA4MDE2MiBTYWx0ZWRfX3WwHIhUtgNJ1 Uzu9hjvde+4elra+4txs46oPrgaCBNq3RmcI27M3jJTtC8dimbQyqywPj70pgXz2rhZPctVj3HX 1tLIiajzbE8hIM9zUNR84cVUTbbnFXlWPfxf5O7kifhIVSdIHVbVLY/xY9N4z4RUJPrYgXYmDsc fQD2BOX/OyCjy5GOZPqLcwRNGZFy+3xk3RXDWV+RVQB9VC0P1tlyXDVjNHOOseuFZgLXU2EtZfE X6+u7ghScX4VQbjJUdOXtrljx/zhTXsryEWriqRPcNliCJVIJ4PXs64OYCm5jbtC35G37+WuHx4 RVTPGP6mS5YSa0l1No0wmcIlhSIM6KRhW+lxp4Y/KgDgT2DqhGgAufOgefYAKfuWt3BrgRTqBOC D0Dq4jBY Content-Type: text/plain; charset="utf-8" The unmap_region() calls need to pass through the page table limit for a future patch. No functional changes intended. Reviewed-by: Lorenzo Stoakes Signed-off-by: Liam R. Howlett Reviewed-by: Pedro Falcato --- mm/vma.c | 5 +++-- mm/vma.h | 2 +- 2 files changed, 4 insertions(+), 3 deletions(-) diff --git a/mm/vma.c b/mm/vma.c index 1bae142bbc0f1..4c850ffd83a4b 100644 --- a/mm/vma.c +++ b/mm/vma.c @@ -474,7 +474,7 @@ void remove_vma(struct vm_area_struct *vma) * Called with the mm semaphore held. */ void unmap_region(struct ma_state *mas, struct vm_area_struct *vma, - unsigned long vma_min, unsigned long vma_max, + unsigned long vma_min, unsigned long vma_max, unsigned long pg_max, struct vm_area_struct *prev, struct vm_area_struct *next) { struct mm_struct *mm =3D vma->vm_mm; @@ -487,7 +487,7 @@ void unmap_region(struct ma_state *mas, struct vm_area_= struct *vma, mas_set(mas, vma->vm_end); free_pgtables(&tlb, mas, vma, prev ? prev->vm_end : FIRST_USER_ADDRESS, next ? next->vm_start : USER_PGTABLES_CEILING, - next ? next->vm_start : USER_PGTABLES_CEILING, + pg_max, /* mm_wr_locked =3D */ true); tlb_finish_mmu(&tlb); } @@ -2420,6 +2420,7 @@ static int __mmap_new_file_vma(struct mmap_state *map, vma_iter_set(vmi, vma->vm_end); /* Undo any partial mapping done by a device driver. */ unmap_region(&vmi->mas, vma, vma->vm_start, vma->vm_end, + map->next ? map->next->vm_start : USER_PGTABLES_CEILING, map->prev, map->next); =20 return error; diff --git a/mm/vma.h b/mm/vma.h index a9d0cef684ddb..b0ebc81d5862e 100644 --- a/mm/vma.h +++ b/mm/vma.h @@ -261,7 +261,7 @@ int do_vmi_munmap(struct vma_iterator *vmi, struct mm_s= truct *mm, void remove_vma(struct vm_area_struct *vma); =20 void unmap_region(struct ma_state *mas, struct vm_area_struct *vma, - unsigned long min, unsigned long max, + unsigned long min, unsigned long max, unsigned long pg_max, struct vm_area_struct *prev, struct vm_area_struct *next); =20 /* We are about to modify the VMA's flags. */ --=20 2.47.2 From nobody Thu Oct 2 22:55:28 2025 Received: from mx0b-00069f02.pphosted.com (mx0b-00069f02.pphosted.com [205.220.177.32]) (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 786D7303A09 for ; Tue, 9 Sep 2025 19:11:44 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=205.220.177.32 ARC-Seal: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1757445106; cv=fail; b=ScnRTzE86oX8B68N9n6S2/2TxqELo9F7ZeOi5bmqlLRLhnJKxIzaFTg5PccVasfqKvQmAoYkJDZMqHOxFmJ5a+YrCF4UDd3fAyOaRGfQE8Pnm6Ljcq1YV/g1i9iVDkxwC04owHjcni9CvKic4RLOcgjOo4h6YdyST7jTNjUi3WM= ARC-Message-Signature: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1757445106; c=relaxed/simple; bh=bMvz835CKSsOqA6usJf0hvPZVGQK+kFyjNBmu9PiPN8=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: Content-Type:MIME-Version; b=XHpJa+H1UdwT8pxp/l4KJ+KYl3+SH7qasP5tPktJGDK75JCqoVSJPIzN2euMhxpS1Yp5gh9KEJq+yF7Yemo/ppXAYNXbrAAuIAUjOyweWMKE29AEycj7L+YBUJtuYzqH7tUtwgqkI2P0eAco6bhqk5B1W2PLuPyngw9VEDk5tcQ= ARC-Authentication-Results: i=2; smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=oracle.com; spf=pass smtp.mailfrom=oracle.com; dkim=pass (2048-bit key) header.d=oracle.com header.i=@oracle.com header.b=gnPafKCM; dkim=pass (1024-bit key) header.d=oracle.onmicrosoft.com header.i=@oracle.onmicrosoft.com header.b=WOe1d5LB; arc=fail smtp.client-ip=205.220.177.32 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=oracle.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=oracle.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=oracle.com header.i=@oracle.com header.b="gnPafKCM"; dkim=pass (1024-bit key) header.d=oracle.onmicrosoft.com header.i=@oracle.onmicrosoft.com header.b="WOe1d5LB" Received: from pps.filterd (m0246632.ppops.net [127.0.0.1]) by mx0b-00069f02.pphosted.com (8.18.1.2/8.18.1.2) with ESMTP id 589FtfBY020235; Tue, 9 Sep 2025 19:11:10 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oracle.com; h=cc :content-transfer-encoding:content-type:date:from:in-reply-to :message-id:mime-version:references:subject:to; s= corp-2025-04-25; bh=xYMschXM4hT5QdirT9F/P5bF0eCuwcLYsf6f7qx/3nQ=; b= gnPafKCM4v0U/0lJE20D8rkP9tNEalFYl2eXv4qr9csrh5GBoYrTopjukv6gPN4V tvhaHzZLq+ZwGYiVeyHVZv5gQC8V8QhrVozyczpAIQzA6TUKW0Ah+wsW060PIA7T hGYjTdEgksvcNeodCD1HuBhgL9Q+L1ybTCfBwpL4rFbmfUEpWQSXRM2vjbpscq51 LeOWdANCXRnxyyCsE6sEhouf0lz+wVQaCEgFhtZHh9UFNkPlBWO8tH1Wz85lJxBt RFTIeHeVmZIP1JSdex+YrCHpT7JPNVyRbeFFmXy0NSWrMm655w3IqEpaHFRs/wTp 4da1HGTFalNDzDJ6FDUMLQ== Received: from iadpaimrmta03.imrmtpd1.prodappiadaev1.oraclevcn.com (iadpaimrmta03.appoci.oracle.com [130.35.103.27]) by mx0b-00069f02.pphosted.com (PPS) with ESMTPS id 4922shtjg0-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Tue, 09 Sep 2025 19:11:09 +0000 (GMT) Received: from pps.filterd (iadpaimrmta03.imrmtpd1.prodappiadaev1.oraclevcn.com [127.0.0.1]) by iadpaimrmta03.imrmtpd1.prodappiadaev1.oraclevcn.com (8.18.1.2/8.18.1.2) with ESMTP id 589I9elj002808; Tue, 9 Sep 2025 19:11:09 GMT Received: from co1pr03cu002.outbound.protection.outlook.com (mail-westus2azon11010049.outbound.protection.outlook.com [52.101.46.49]) by iadpaimrmta03.imrmtpd1.prodappiadaev1.oraclevcn.com (PPS) with ESMTPS id 490bdgj32x-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Tue, 09 Sep 2025 19:11:08 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=mnJ4StFdzugkM6ZQauOUEh1mCHKrSrdm7aM3nPZoZngb87mftQXBKEyWDrO94rSlYrqQfWCHujcCAlRry1R0bf8JRlIWZwU17S5cza7vrqD5zeTniXhAaPMuj41W4gkbwEklu6oOreqhcjosQXh4BIF42IZ7RGfIrFokEZWVb7WwTT6jDJIoCQAqqBJfl3/3GnVO69mWTCTpXk0zqf2zoZ0iE3IMXnCCdZof5GqWGRe+sYvwm+9whGM0KS8iR6RGuMgI2QBUcboRnUxQtUrzVBzgLMVKVRqPs7CPdkodIWCUiYGyv+GaCBUNA6upxCnrOD40+B620tTWvpg6CDnl3Q== 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=xYMschXM4hT5QdirT9F/P5bF0eCuwcLYsf6f7qx/3nQ=; b=YFkkelKURYL+hCVXlm+bcQ0vqf2eQRjAiorIkonI0yPcfv6TBXmuxOflaV2GG6D2ah6DfNllEdzs7U4Gf9qbf/M3WR6lvpwEiQxO+21EJAIDD5wm2azCNQG3dCVHv9C/urA4FvZM5mqxkUWEbL3guy9CTKR8NC6t0BjJgaCYWuiFS7y3zEuuo9q7z94F7tphZwJiTEhpzsVjCEvQ85e4lzNKbfawR/HSh70o3ygW/Q2THkwIuO6NRG+moRFbce3vtEzX7l6bVFj0t1kohb9b4WlCtIO4lOYFN7QsXZ7Gmu/kaRnYXWQjUy614S1YhPgKk/NnuiUobZBlxV8Erqcc6Q== 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=xYMschXM4hT5QdirT9F/P5bF0eCuwcLYsf6f7qx/3nQ=; b=WOe1d5LBbYSpyzsBqFKsI79HCnaZ7PTIGp04HoUgN16nro0qeGKYHv3NshLcEwiBBoSvVFqoK6x7k6EPCItoFhlhoov5ehXviB1d2prRdAXnjgJxT9RaEc9flK74eqciyJQuXjskILUYG/ktudWGnAQRz3UTFTOMvj3MVQkAoqs= Received: from PH0PR10MB5777.namprd10.prod.outlook.com (2603:10b6:510:128::16) by CH3PR10MB6740.namprd10.prod.outlook.com (2603:10b6:610:144::19) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9094.22; Tue, 9 Sep 2025 19:10:04 +0000 Received: from PH0PR10MB5777.namprd10.prod.outlook.com ([fe80::75a8:21cc:f343:f68c]) by PH0PR10MB5777.namprd10.prod.outlook.com ([fe80::75a8:21cc:f343:f68c%5]) with mapi id 15.20.9094.021; Tue, 9 Sep 2025 19:10:04 +0000 From: "Liam R. Howlett" To: Andrew Morton Cc: maple-tree@lists.infradead.org, linux-mm@kvack.org, linux-kernel@vger.kernel.org, David Hildenbrand , Lorenzo Stoakes , Vlastimil Babka , Suren Baghdasaryan , Michal Hocko , Jann Horn , Pedro Falcato , Charan Teja Kalla , shikemeng@huaweicloud.com, kasong@tencent.com, nphamcs@gmail.com, bhe@redhat.com, baohua@kernel.org, chrisl@kernel.org, Matthew Wilcox , "Liam R. Howlett" Subject: [PATCH v1 6/9] mm: Change dup_mmap() recovery Date: Tue, 9 Sep 2025 15:09:42 -0400 Message-ID: <20250909190945.1030905-7-Liam.Howlett@oracle.com> X-Mailer: git-send-email 2.47.2 In-Reply-To: <20250909190945.1030905-1-Liam.Howlett@oracle.com> References: <20250909190945.1030905-1-Liam.Howlett@oracle.com> Content-Transfer-Encoding: quoted-printable X-ClientProxiedBy: YT4PR01CA0480.CANPRD01.PROD.OUTLOOK.COM (2603:10b6:b01:d6::20) To PH0PR10MB5777.namprd10.prod.outlook.com (2603:10b6:510:128::16) 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: PH0PR10MB5777:EE_|CH3PR10MB6740:EE_ X-MS-Office365-Filtering-Correlation-Id: 5a3427d6-c5fb-4d15-b4ef-08ddefd47b4c X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|366016|7416014|376014|1800799024; X-Microsoft-Antispam-Message-Info: =?us-ascii?Q?WrAD13X7dykpu1NOA4ZAYiwPoFyGS+kEt2G4TSZ+s0SJnzsmoC9CR9OLI65t?= =?us-ascii?Q?3mIKq1gMOSBOfStf+XHsMwWxvYdtny8HEvWOWTbLNtqBJZ0eEW+9HU6bj5p/?= =?us-ascii?Q?kyY8H3wIlbybpg/MjH4SHr/Ov2XxcjZzCwh88yvnNjLGxKZm9eI+TEM2y4Pj?= =?us-ascii?Q?P/BovjjRajcNRjnXL0llEFOEVAmvdFmEkU0YAAuLxzcLS+XPE0fyAN2f0CQC?= =?us-ascii?Q?kY2/Osvl4HaTa4j+QEoWQPXW9mzN2Dp/rT8/dwXetaaqHMlZeEbP4O0vEf4y?= =?us-ascii?Q?V8fyAGspTjtd3a90zKZnI4Qz2qHhiA2pTbE4Cn11XKw9EpZWjXm27fC+yCKu?= =?us-ascii?Q?2QN36hL/FLdAc6KglamtJGZMM6vDO0mj8CsdMWeYUYymSJnKMekaDUzSSsNx?= =?us-ascii?Q?hV98tAlLNHHsRDPPZAGTyqVYvnoSiC+ytRTP+ohC/YE0mnJxsK877wMgfTrK?= =?us-ascii?Q?ramQuKvn1N53AabNlC1gpppWF3MULCxuHBbbqQQz3DUenbgLuQtlaeUkbGsi?= =?us-ascii?Q?8F07o0KLViUR2qdOcIAO/Sk5KT1YHa7Seu/KrnRm00tbi4r88AiJapF+L0uk?= =?us-ascii?Q?j8Lok71DfjqM/G2efmftn2/JJkReaUw6SDgOJ2hD9e/J7VWDkFjzUDhyfaY4?= =?us-ascii?Q?07JH+sleQE8dJdl6hiCn8Qaqskf5M/wri2smJd7y3TU1gBOq4sXP7FZNi7T0?= =?us-ascii?Q?m+8U6nOZW+Mmza+3fZrXk4fRZg8FlnC6bfF/g9Bn46H08iISQAckROnP9xDr?= =?us-ascii?Q?LfVZR+RErpkIQr1YbvGRX31jdGiH7W8CxV5SAKRCuYVVNN4PPYswYEQPWjco?= =?us-ascii?Q?cI4/dH8UmF0GSUdSc8Wi9WPT45U1OwTio1SDzyfvgKMok+D/6/1BSi5zft6n?= =?us-ascii?Q?p1ghSo88gRHGFF4C/S5bRlkO1q5+y5Kl1KV+hLht85OudefSiXPmUOLROpWs?= =?us-ascii?Q?jNlJb4JwiFr/Ima5jrPz7RODDX/kPfwpyxyeW8eGNrmQ6rF+sxnZlky5rP7E?= =?us-ascii?Q?0J4BI+nqBpvqze8v5VJhytOx6jhuT7+Pg/4uUR/ZaOINgQQcY+v+uINgs/BH?= =?us-ascii?Q?76rQfFzTgIVOcGj3bsJxHZeu0KbKo0vjsQkjVlnDTzDxoN83Mv6Ar/5BxTBG?= =?us-ascii?Q?Db7avSOgETeKaINYZEn7T2y6UMVqCKj6TE6hJaaHG2VZUzb8t1Sj+DTskHqw?= =?us-ascii?Q?ifdivDCSqhdnGAYJokJ1rx3MO5riFxl1jDhRW61vumJjqD+/tIR0S+MD8/ud?= =?us-ascii?Q?z00fnb57IpBWuIxxQ4H4R4qZ9/yH40qmPK8phMTe5EBiBfi0bCyHSwzQFXhW?= =?us-ascii?Q?ATRjvUDG6nh2+rEtSxe39MtucZyL9Y1SJAMtecbU1Qh3NUCDtLFNFqlZbHAd?= =?us-ascii?Q?pDWz3CoIYWBG2rUycfCh0zDEiANHnVV/UQ8J3gtwDFxXOOdrI3ladTY+q3ib?= =?us-ascii?Q?RVIRvuTLTKg=3D?= X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:PH0PR10MB5777.namprd10.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(366016)(7416014)(376014)(1800799024);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?axjcLjd+vGelJbLRPXVAl0pfzm3zWVZ4iNMHONnBO8mUdeLv6ksIMy7h+K3c?= =?us-ascii?Q?yXmfzA2tjtNUrVjc/pTu5B6b3WYJOhloP4wySTfCllv5c9NvJqAW0M0u5npb?= =?us-ascii?Q?S2eIEQSjDYnfjFUQdVBpCfjhfw24FqeLxskjEjyuXy5j47/604O8i66RuChO?= =?us-ascii?Q?bGuc/PLFSK4YD+vMTQM3a+C+fsAxP9PpXgsrFW0aZz0lmDRveTIVrpQLa8RX?= =?us-ascii?Q?7IA0gj4zq31h9HpuFTrfUcfq4A8wj+0slfqAM+MA2T6IcXNLOCPuVYLCzudI?= =?us-ascii?Q?CboQny3L12VFxEny3oTdpsrL6ylfU3Ry1S6+yK9RLcwCRYf7iWmqNxcR6j5l?= =?us-ascii?Q?yJMbwVWZDbin3FRFxwoX/hVT4X4W+O7XyC7dEZ5AL1d555EaproShSn1zILh?= =?us-ascii?Q?es5+IWJBZCUNS2BG7uV4x3+vU++FnOsHkXh5o5Byvn/7NmQ4mbh3SRafEH8b?= =?us-ascii?Q?QZR4diYmYH3VnUIdR6BruCEmLC6wTAqRR4VgSMLJnNzvYMTpYIbqQaYBeZEV?= =?us-ascii?Q?/6r+8/oxrbJxsl6vzo5FmxcsDQWiXSHOLNCvkTSdbHBMABZDomKUiQlgsQ2Z?= =?us-ascii?Q?wGcAYtK/53dvjmmdpS1TS0kg2MN+56sTlXYrp+ArGSVK0xh9r4/WRWlIBnP9?= =?us-ascii?Q?Tyz+Yext4w8ja6UXb7o3JDnnoRjUaaVBo4oIkiTxn2/DIkuLPNPOpd6vjfyT?= =?us-ascii?Q?lATf4FO0+VdTbR1khC4yHTOd3cbkJMFQXW5oe8m9H0+HPInheY/3lUqqZBtl?= =?us-ascii?Q?Zu4znab/2FCRGQLT1e3L23AoYt0+SVZCinUNeuqahlDoRRenb2Eko7e+lbvO?= =?us-ascii?Q?EjBzj4oj4Q51IVNmLuqpaQ9d6ptWFkVnZNK3pAI9lNGLswgcYsXEruMXhpOM?= =?us-ascii?Q?E0rM1PQRZoNkIGYHuL5ryjdfP3TssGAfi71wViH9Z4POzeg1pOBNR/9nQhrf?= =?us-ascii?Q?lIaOpqjG1j+pS7Di4+7DmeCwrAz0hn3eUnfzZqf1KGP55BdUoEtSfLwr9XQf?= =?us-ascii?Q?OwAYnMbVv/SlekEKRWQPins//vykQEtc174WugcAcp/3/zsBZcrHQdmD9tVz?= =?us-ascii?Q?Tzf4UCwLHadgeQcHuA00RRJSZ1GwKgCZY69X3HtuCJDkkzB3Wl4AGTY1AGas?= =?us-ascii?Q?VElTcnBUTEgdsEBR1WdecwfijgLEx9jJPTruKe3LV5gacFFcc1Qb1Ggm5WFw?= =?us-ascii?Q?71+0TfzWm3C7NXldOzOntyniTSu7AG1v2LAYEbFyZXLZeaQ9EEC1BdvCAbE9?= =?us-ascii?Q?j7KsUO8Ht7lKOwpRE4jfARgwj7t5/jVRhwg9lB6+Y7ZoSw/Ei6D9OHPIAo1F?= =?us-ascii?Q?47zNyeHWIJq4Ik1kD6Eh2GL1VALdPnoWfTQkoSpjLAto7IYHg3ngNrcwY2vl?= =?us-ascii?Q?AODmZm9Hw0dOOP/2TB/SDIEef/YJbiVq/v2I8xqQw8060ywDyiWO9WhsqYVk?= =?us-ascii?Q?hPB3dza7iwUNbipDwpbOs0dHpcHcSym5oSIRCUvSHbggQS3ugq8TDouvXg5l?= =?us-ascii?Q?QQ4I+ns71NrkSjm0TkNohrZKaYR7ErsCXw9SBcZmIUFVqeDjrXsSWf4vGtT5?= =?us-ascii?Q?/xb0hIf15s9P8y50ueOK7xbnX2G7JYI/RqlRtutPsFy9VML/vrdWcXfochHK?= =?us-ascii?Q?ng=3D=3D?= X-MS-Exchange-AntiSpam-ExternalHop-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-ExternalHop-MessageData-0: +efqXQzmacN9YxVmqtgeBJMGy2Je8WObDkdZDS8t5OOss7jo+WvC6WI1C3hK+Xu6iGF5B3VCqxpoav3a6OkSnRgEdbw3yGrR2Rx83SsVVnj4HbEo38iMI7LCY3PXULMWCYTw8xwy9jX30kE8pzhANL16Wf3sap6mSP/KYgA/LBRNO9PapIwUVoSSTOWDIzCYCjnXi3txjKuoLHh+FBEbFkwtF1y25F6iZrukYUVGqSiDnwYcqAyZGmIXWe7U4Y5/yaJe9W7HDTrwvIEjLhnNZ4opNimLsTlNguUNLGzViszOM1mSL9gA1MsY+aJXEjuWewfCxGOkzz6c3rAgKI34YrRK7OxB9aKAZd551LQx67HAIBwffARIB/S/FllMT4Nu8tuxq4+EzYEdxVJBVeln9UMwY2/fczIi23PqU3MExGi7BOKfnskrasOL75JlhMKgXwRGryJuRPyk3eo3lVHcfDWHjhyGMUkqckmRjyYai47fs1RMCJbXJExo1KcgGa8nGyDdf6WLHYdzmq6WhszXHSIlivLVwHZt/zoGmqkszq9x4gejw7GSMCYpzGJg5mZh2PqXGXj1QM/i4OMhGNHp7R7gw+H1z6lsFpU3IjI40gk= X-OriginatorOrg: oracle.com X-MS-Exchange-CrossTenant-Network-Message-Id: 5a3427d6-c5fb-4d15-b4ef-08ddefd47b4c X-MS-Exchange-CrossTenant-AuthSource: PH0PR10MB5777.namprd10.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 09 Sep 2025 19:10:03.9730 (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: sJlsfepbdA80qtNGrxgV8xhj/AMcmdy04dWV1M4vDsSgUDZB60gKhD3i1vD/LPZtZKX8fnA+l/o2rrQP8cFWIA== X-MS-Exchange-Transport-CrossTenantHeadersStamped: CH3PR10MB6740 X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1117,Hydra:6.1.9,FMLib:17.12.80.40 definitions=2025-09-09_03,2025-09-08_02,2025-03-28_01 X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 spamscore=0 adultscore=0 suspectscore=0 bulkscore=0 mlxscore=0 mlxlogscore=999 phishscore=0 malwarescore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2508110000 definitions=main-2509090188 X-Authority-Analysis: v=2.4 cv=esTfzppX c=1 sm=1 tr=0 ts=68c07bcd b=1 cx=c_pps a=qoll8+KPOyaMroiJ2sR5sw==:117 a=qoll8+KPOyaMroiJ2sR5sw==: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=yJojWOMRYYMA:10 a=GoEa3M9JfhUA:10 a=yPCof4ZbAAAA:8 a=GSebvwEjJFBsbC99ckQA:9 cc=ntf awl=host:12084 X-Proofpoint-Spam-Details-Enc: AW1haW4tMjUwOTA4MDE2NSBTYWx0ZWRfX7KPJF1wK6PFe xckOOY22Q08vQtZyNEALN7uwoeQBMWrJqcwkXLNzFDGuYcQdGPC0elJxeywfbhAknrGOKx/lSA7 5jVMTMzxm0jc7nM180+vJT7foZWjA3YwgoIO+e6/L4d5dCRPsdF1h6D/RAnPba5dk/9M0dS5Af1 BWoU7hj27UPAmvIyFI+o6bDl62JQ3haQagsRpIlWNESPVz8IAHDsFivzW/7YWFJ0r62l241JI5s yigwrX4XY1481/+9SI6rk2BcwrXKy84dlWjl1UDbn/uzq5hv4lsqVuKHTorgxOATK5Ud6JHtiNi oqvibdLAlWWUTNv9lUpX4j8kFMV7ArMaEJ8VUYHyDrYGPttOAtEDE1q9mI40q8+77jyCDK/kddU UoCKyPaN69QLs/rOerJPSS2MNF/zTw== X-Proofpoint-GUID: DeUDRDHm8OZXHwh7FAn5YkedGW9xGfQ- X-Proofpoint-ORIG-GUID: DeUDRDHm8OZXHwh7FAn5YkedGW9xGfQ- Content-Type: text/plain; charset="utf-8" When the dup_mmap() fails during the vma duplication or setup, don't write the XA_ZERO entry in the vma tree. Instead, destroy the tree and free the new resources, leaving an empty vma tree. Using XA_ZERO introduced races where the vma could be found between dup_mmap() dropping all locks and exit_mmap() taking the locks. The race can occur because the mm can be reached through the other trees via successfully copied vmas and other methods such as the swapoff code. XA_ZERO was marking the location to stop vma removal and pagetable freeing. The newly created arguments to the unmap_vmas() and free_pgtables() serve this function. Replacing the XA_ZERO entry use with the new argument list also means the checks for xa_is_zero() are no longer necessary so these are also removed. Signed-off-by: Liam R. Howlett Reviewed-by: Lorenzo Stoakes Reviewed-by: Pedro Falcato Reviewed-by: Suren Baghdasaryan --- mm/memory.c | 6 +----- mm/mmap.c | 42 +++++++++++++++++++++++++++++++----------- 2 files changed, 32 insertions(+), 16 deletions(-) diff --git a/mm/memory.c b/mm/memory.c index 24716b3713f66..829cd94950182 100644 --- a/mm/memory.c +++ b/mm/memory.c @@ -408,8 +408,6 @@ void free_pgtables(struct mmu_gather *tlb, struct ma_st= ate *mas, * be 0. This will underflow and is okay. */ next =3D mas_find(mas, tree_max - 1); - if (unlikely(xa_is_zero(next))) - next =3D NULL; =20 /* * Hide vma from rmap and truncate_pagecache before freeing @@ -428,8 +426,6 @@ void free_pgtables(struct mmu_gather *tlb, struct ma_st= ate *mas, while (next && next->vm_start <=3D vma->vm_end + PMD_SIZE) { vma =3D next; next =3D mas_find(mas, tree_max - 1); - if (unlikely(xa_is_zero(next))) - next =3D NULL; if (mm_wr_locked) vma_start_write(vma); unlink_anon_vmas(vma); @@ -2129,7 +2125,7 @@ void unmap_vmas(struct mmu_gather *tlb, struct ma_sta= te *mas, mm_wr_locked); hugetlb_zap_end(vma, &details); vma =3D mas_find(mas, tree_end - 1); - } while (vma && likely(!xa_is_zero(vma))); + } while (vma); mmu_notifier_invalidate_range_end(&range); } =20 diff --git a/mm/mmap.c b/mm/mmap.c index 0f4808f135fe6..aa4770b8d7f1e 100644 --- a/mm/mmap.c +++ b/mm/mmap.c @@ -1288,7 +1288,7 @@ void exit_mmap(struct mm_struct *mm) arch_exit_mmap(mm); =20 vma =3D vma_next(&vmi); - if (!vma || unlikely(xa_is_zero(vma))) { + if (!vma) { /* Can happen if dup_mmap() received an OOM */ mmap_read_unlock(mm); mmap_write_lock(mm); @@ -1858,20 +1858,40 @@ __latent_entropy int dup_mmap(struct mm_struct *mm,= struct mm_struct *oldmm) ksm_fork(mm, oldmm); khugepaged_fork(mm, oldmm); } else { + unsigned long max; =20 /* - * The entire maple tree has already been duplicated. If the - * mmap duplication fails, mark the failure point with - * XA_ZERO_ENTRY. In exit_mmap(), if this marker is encountered, - * stop releasing VMAs that have not been duplicated after this - * point. + * The entire maple tree has already been duplicated, but + * replacing the vmas failed at mpnt (which could be NULL if + * all were allocated but the last vma was not fully set up). + * Use the start address of the failure point to clean up the + * partially initialized tree. */ - if (mpnt) { - mas_set_range(&vmi.mas, mpnt->vm_start, mpnt->vm_end - 1); - mas_store(&vmi.mas, XA_ZERO_ENTRY); - /* Avoid OOM iterating a broken tree */ - mm_flags_set(MMF_OOM_SKIP, mm); + if (!mm->map_count) { + /* zero vmas were written to the new tree. */ + max =3D 0; + } else if (mpnt) { + /* partial tree failure */ + max =3D mpnt->vm_start; + } else { + /* All vmas were written to the new tree */ + max =3D ULONG_MAX; } + + /* Hide mm from oom killer because the memory is being freed */ + mm_flags_set(MMF_OOM_SKIP, mm); + if (max) { + vma_iter_set(&vmi, 0); + tmp =3D vma_next(&vmi); + flush_cache_mm(mm); + unmap_region(&vmi.mas, /* vma =3D */ tmp, + /*vma_min =3D */ 0, /* vma_max =3D */ max, + /* pg_max =3D */ max, /* prev =3D */ NULL, + /* next =3D */ NULL); + charge =3D tear_down_vmas(mm, &vmi, tmp, max); + vm_unacct_memory(charge); + } + __mt_destroy(&mm->mm_mt); /* * The mm_struct is going to exit, but the locks will be dropped * first. Set the mm_struct as unstable is advisable as it is --=20 2.47.2 From nobody Thu Oct 2 22:55:28 2025 Received: from mx0a-00069f02.pphosted.com (mx0a-00069f02.pphosted.com [205.220.165.32]) (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 BEDA835AABC for ; Tue, 9 Sep 2025 19:11:51 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=205.220.165.32 ARC-Seal: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1757445113; cv=fail; b=QePblcNB1e/HCE6G78Ff9YatLffidyqKRKfKV7Gg+uO/gtu+6b+kxh3Kn7sxkitMSwexB3p228uKp0YkcOzjB0IffYxFUWGR2CxBf3URDOpu0vANL2shP+B9U66ykc3hfySi7UMGS6tImV8Tm1s7K9Dxl/hVqyudoljfFtGuf4E= ARC-Message-Signature: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1757445113; c=relaxed/simple; bh=9TjlScN1BPN6yaJgJ+tqXCFMqTfS8TprDV1ZBkfeitM=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: Content-Type:MIME-Version; b=eA5NBwZ1XY+mYM6fcA9nAlJWswr2HxePL/uItkw7rEhcUAsJDONMGV/c6ZPs4jEh022FTQCaHXOyf2JPeya4CTgyge5jsGA6igSYz3GGq3MeOZLvok5HhCFbs8Su0K4Y3VYlUj0TcTocbDWBPlAf5UVnkMyTGPNUPN0KlJwbmZ4= ARC-Authentication-Results: i=2; smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=oracle.com; spf=pass smtp.mailfrom=oracle.com; dkim=pass (2048-bit key) header.d=oracle.com header.i=@oracle.com header.b=YjJ5sh50; dkim=pass (1024-bit key) header.d=oracle.onmicrosoft.com header.i=@oracle.onmicrosoft.com header.b=dPw4ocBs; arc=fail smtp.client-ip=205.220.165.32 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=oracle.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=oracle.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=oracle.com header.i=@oracle.com header.b="YjJ5sh50"; dkim=pass (1024-bit key) header.d=oracle.onmicrosoft.com header.i=@oracle.onmicrosoft.com header.b="dPw4ocBs" Received: from pps.filterd (m0246629.ppops.net [127.0.0.1]) by mx0b-00069f02.pphosted.com (8.18.1.2/8.18.1.2) with ESMTP id 589FtksV011917; Tue, 9 Sep 2025 19:11:11 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oracle.com; h=cc :content-transfer-encoding:content-type:date:from:in-reply-to :message-id:mime-version:references:subject:to; s= corp-2025-04-25; bh=AtGBVs46lMshXtmj7R0O38tuhE6HWKvTTQPsMxKSDiE=; b= YjJ5sh50z0Dl4v+64oCJ7xfB1kvdwlTtwMMgg66Eo6egG2gG3qfFPh0mS7lFMsnp MaYVdXDCzRYuN+LpawrOGuEhc1QoNDR7dAUIsMFDpvNCRhl6MFFADOgxjNlWSNS2 2AJ0Ps74mWqf/2WbyeAMalG3KzXaHVmJ9IDPBel17gG/RLzT7G9kvm+I2i3RymUK lEVWi5nWgoCi/eVDuanRlDCKCs3H7HtLoZX/e622cb1isKrfU18dE/Ge81sCv8lc AMbp74rG0TYIlRRqr5AooPmTtyPzK9m1ZhApWgwpb5PepBTSXqiJ/KXj7p9o90zi ylJqTG6J9D9a2TqHfEIXpA== Received: from iadpaimrmta03.imrmtpd1.prodappiadaev1.oraclevcn.com (iadpaimrmta03.appoci.oracle.com [130.35.103.27]) by mx0b-00069f02.pphosted.com (PPS) with ESMTPS id 4921peartt-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Tue, 09 Sep 2025 19:11:11 +0000 (GMT) Received: from pps.filterd (iadpaimrmta03.imrmtpd1.prodappiadaev1.oraclevcn.com [127.0.0.1]) by iadpaimrmta03.imrmtpd1.prodappiadaev1.oraclevcn.com (8.18.1.2/8.18.1.2) with ESMTP id 589I9ell002808; Tue, 9 Sep 2025 19:11:10 GMT Received: from co1pr03cu002.outbound.protection.outlook.com (mail-westus2azon11010049.outbound.protection.outlook.com [52.101.46.49]) by iadpaimrmta03.imrmtpd1.prodappiadaev1.oraclevcn.com (PPS) with ESMTPS id 490bdgj32x-2 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Tue, 09 Sep 2025 19:11:09 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=Zhxl02vn9n9HEMK+d6cplUOZe+fXbd5FsyPSsbkMMMBuQ99UlRlScCHzq0TIpS5HmHE776TzCWToMO7c2mer81yBaXM9P0cYp592PDVRQYwAnioT1XbCoYEA4xMbQoRIPelPlXMRTWW/8ZVZsSqSFXOwD+ynADi9ID2soQ3ILIg52GJwBrFOMsKLrtKTn216dGHsSxAVrqHW5GRZqBuWoDF9jj+cZ0cWetR6aeNw66a5S7NZ5FJzqUBAtBRnq+yE2ZtwPuLZBt5/gnwIbVkvrOeAZHPUtjSHDWRGOI4UjCu8gFyjvDPP0iWVh7nMxZKDch7BaIhSrUJRTW+/Ksm+Zg== 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=AtGBVs46lMshXtmj7R0O38tuhE6HWKvTTQPsMxKSDiE=; b=oTKQBvFS4Anio7ybHg/8LHflxqJO3nMk8ZNMEUGTDp6nDGy8pi/Way0cxD8ihmd7z+9jZLt1f2XottGO7GBLmYwW1uCadBiOn13uze9xhywsLuBUbpglCUdx46rAyV6e8Mdd02ZDaAuCi0MilwRbZBcKeqU71UkrIxn84qaUe0OXfaDwcGSu9Ky6cbLb2kyaKb8QznOwt+CM9Ly7gFgJvXeOXxeHDaeDX/sKihwhRgwmhG3vx792BUKxCybt0MOVUUZ2k2tNjHqJ81FUsEScwe9o5i1ShjYiLFIU60KKOVJYQG19S4CwULWg4UXEq0EXw5qS6QNp0+Xn+49pEDnHBw== 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=AtGBVs46lMshXtmj7R0O38tuhE6HWKvTTQPsMxKSDiE=; b=dPw4ocBsS0Zivd2T9WlbP9TDSFjzKusDhehK+jLyujDDmIMrKZb7ArYB5tGYYsdSAwCYbmcG9a1qCCqG5ax3QQ/iWwfenYKsuvNG+PJQsYRttbVBbpE0SrDSFFjTIE94H6i47DNkCHQXQUzttlj8w+ZG06m+yXHqMPHKkyoqiNM= Received: from PH0PR10MB5777.namprd10.prod.outlook.com (2603:10b6:510:128::16) by CH3PR10MB6740.namprd10.prod.outlook.com (2603:10b6:610:144::19) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9094.22; Tue, 9 Sep 2025 19:10:07 +0000 Received: from PH0PR10MB5777.namprd10.prod.outlook.com ([fe80::75a8:21cc:f343:f68c]) by PH0PR10MB5777.namprd10.prod.outlook.com ([fe80::75a8:21cc:f343:f68c%5]) with mapi id 15.20.9094.021; Tue, 9 Sep 2025 19:10:07 +0000 From: "Liam R. Howlett" To: Andrew Morton Cc: maple-tree@lists.infradead.org, linux-mm@kvack.org, linux-kernel@vger.kernel.org, David Hildenbrand , Lorenzo Stoakes , Vlastimil Babka , Suren Baghdasaryan , Michal Hocko , Jann Horn , Pedro Falcato , Charan Teja Kalla , shikemeng@huaweicloud.com, kasong@tencent.com, nphamcs@gmail.com, bhe@redhat.com, baohua@kernel.org, chrisl@kernel.org, Matthew Wilcox , "Liam R. Howlett" Subject: [PATCH v1 7/9] mm: Introduce unmap_desc struct to reduce function arguments Date: Tue, 9 Sep 2025 15:09:43 -0400 Message-ID: <20250909190945.1030905-8-Liam.Howlett@oracle.com> X-Mailer: git-send-email 2.47.2 In-Reply-To: <20250909190945.1030905-1-Liam.Howlett@oracle.com> References: <20250909190945.1030905-1-Liam.Howlett@oracle.com> Content-Transfer-Encoding: quoted-printable X-ClientProxiedBy: YQZPR01CA0156.CANPRD01.PROD.OUTLOOK.COM (2603:10b6:c01:8c::28) To PH0PR10MB5777.namprd10.prod.outlook.com (2603:10b6:510:128::16) 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: PH0PR10MB5777:EE_|CH3PR10MB6740:EE_ X-MS-Office365-Filtering-Correlation-Id: 80eb0975-5077-4e77-5bfb-08ddefd47d1c X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|366016|7416014|376014|1800799024; X-Microsoft-Antispam-Message-Info: =?us-ascii?Q?7h67FmZ4WQjXXhso0fBwOciS9KDHdYm1KZn5FC79JDtUmQapUbhvR1CUhNsM?= =?us-ascii?Q?JqPU/eYKgbi7Z5yum2fQRMezZnbL55FBM2A3k7Y60mUyqKOUlhnAs6rtOXeH?= =?us-ascii?Q?hER5dpOnDwWAEt9v5nbZ0mrYzCYa7NPcYbAaPRVqu474yvSzYdGQjWpkX/1M?= =?us-ascii?Q?rL/6Fsf+gTj3066Obwf6+lTb85WezTxFsw0T4pFZvI+ikxi6JQrx3su5xnBj?= =?us-ascii?Q?zDupZonNhICECIy3tVJpY4uARphqm6Jv3n4GIg0n0zflH8G6lt3P9ORBSFX+?= =?us-ascii?Q?AZyyhKYVsCdlb6q0ZhFINmLROgvPsS8JUSdiOCNmUUFhnpbIGmHHU+v5ZMKR?= =?us-ascii?Q?ps9rooQXsfq4eEgYCNFNh/pTvNnxC/ZdBrClb2X9Hbknbuj7dsqs5OY0eydx?= =?us-ascii?Q?pOIXbDTwN1TSD/r8AcWv1LGojybdhpRag+svXMB7tIWY1+V5syfXoJQuP8s3?= =?us-ascii?Q?v3Eont52ZeP7/ENXs7AdZiBb7gEpBDVLYKGTcTeKXyYwj5AlVNbax0Ju3xZD?= =?us-ascii?Q?b2xUpkXzP+EETlwyLtWUj120kJ5xu90tydggWJfOALWy83LSSOf2I05r2+xf?= =?us-ascii?Q?REKWgXmIh7u7ZEJY4KwGL+U6jfe7VqRqF07dTgxnrgafyoLQcPPepFVNTlJp?= =?us-ascii?Q?j9JjNFtlbl/aQ3BtDIRROOoDwOA7KnkQ8MZ+/9hqgdC1nNjrjXnAPAdavldq?= =?us-ascii?Q?ONt+jbQKipUje7WgSkGK0AQrobPzqm60AZus+Z40XwUwjRFZ2anLJfaFDx8c?= =?us-ascii?Q?nu/mdzSI/8BMeJHcu5oZYS+S8eaQVKRpVGY+ByyUgE0PRYQ/DGSwQXbRLv+h?= =?us-ascii?Q?Jwm+g5ZdAkZblamOBxlMm/rky92pYdDd5TZZup1rGiKKcqpy1ZaktXHoWQVA?= =?us-ascii?Q?bC33eNVan+s8JZd/7aFGdJP2wfSMv6t1S+68dkqNvnahm4jzuiCU33ACona/?= =?us-ascii?Q?MqOlE7cp27KpBsyZKVX40JBDgiCUljlWkqaDvUrFKQVZGVklYXB7W4PIMdEO?= =?us-ascii?Q?CZGo7QWFGF4T2EeoAmooyUykvtx4NUF7xL0KmCbPt7V9hlMWdF9ZINs64CiH?= =?us-ascii?Q?1IYrV1fjTnP59AYwBHQjqR+uUbiXPl2j5JtHpSkSP4B9/3yr9VjsF6wEq+zp?= =?us-ascii?Q?6nHm0q246OKumy3rJPjXJDAE74vTq/szsBT8PSPWyFj1R16cOvzTrzUBVN4i?= =?us-ascii?Q?q0MgCh8eIGW7uKOU1EVc/PKYojaxCb0olf3KZhFtSm7vnpxqACUvdHpaMODf?= =?us-ascii?Q?jQQbVK4zSg1II4Vk3B5eivGtkylxRORWkX2KDT/uIZOTqvczFKPsHuRjHOgp?= =?us-ascii?Q?39HwvdH1ZXLPdDqABO7YL0GzdgqpOEH82mrSR4Lw5CGRTRk6q9KT49SpVOP5?= =?us-ascii?Q?EI2Ca/drTj9frfFXCPBV8BOWUxvSwPtYlbjAhCGzJoxYZFV6Rso9Zf21sDVb?= =?us-ascii?Q?5CTzH0kVE18=3D?= X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:PH0PR10MB5777.namprd10.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(366016)(7416014)(376014)(1800799024);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?V/jj+xLAaCCfkkY5am36xQLJuWt9z/s+5bAVBHu3F6RPYVxRGWU2SkReMSWW?= =?us-ascii?Q?1T8bU7Z0iFbgvta+zl54llYsH9TOPmgJgBE7z1xTqJpp64cGx9frCWLpfa0R?= =?us-ascii?Q?LWwE/U06m+AvGVpFmKOkvo53Galfb5iKi76Bry0DJIj3A7G7Vae6kOq7VsYY?= =?us-ascii?Q?MFDSMRl5MEan4vo6AmAruB7dMfCA2INI8GIT4DrIfIeU0wBzO2kWFYZOBoTV?= =?us-ascii?Q?SlAS/c6yk7egXXMh+ACKbaekatnZ0XoG7hbRibgEgWCNVYYQKY7CzwuUorAT?= =?us-ascii?Q?6Cr6OqKWNYT3+e388azWk2c7M1yVMLtEcxoiRyDfzADoz+39PmgzD8HbUatq?= =?us-ascii?Q?N7KTtjRmq8oU8Mi189pObeX6RBy4LY0W6EYyhVW0ZGTiQXLlkJ0VYJCx1tFK?= =?us-ascii?Q?Ihm+oJUcvDew6fpZMGE+P2Imwi/HdnamBM5Lw7iptyi/SrG116L/ukc5X0QX?= =?us-ascii?Q?gZ5d7eDRoXNPnaVYxz4fyXCcdDlDeMVN6I5T/pJjsCHQw2lAghLRFCZ44lbu?= =?us-ascii?Q?VmKVsmpOs2qr8Za5aHD5oiUtxBuk16sjlnPYqh1BUCdRSHxQW6Z0rmuRjpNC?= =?us-ascii?Q?PJ1CfKBFDcbe9l/cFv4KTvLMZh39E4DqKcl8NzYjRn3FGxUhqV3xFFf+O4el?= =?us-ascii?Q?o9wQ/LDSiOvcAuz5F05Gwj6YT5fmp74Ogh3oUkUCivqvMLRt5hZNtwzXoPNO?= =?us-ascii?Q?kmawwcvtZ0NKdLZsLvzOWINUgPNecrF/zhnKaJiQrpWkH9FN/govnNc3YwTd?= =?us-ascii?Q?t2VwY5Yys7bJGiHa6kLriHcIcRz2t3FLAYHfTVUVSclOZVcJQgPir3JiMWQp?= =?us-ascii?Q?ftcsjIJmWzCoHifcVIIB1Hj+2y46r571FCrRSjAZ3AkOiDOlmxnlhsFzBNAj?= =?us-ascii?Q?F//ywcDI1vUCNZDjKSBXyhJtNhNtNwmuLZ7hYjQj7P4gAw5tBxZrjsqLMwWI?= =?us-ascii?Q?gJ3DPHdFKqwhB53HmLxuH067SqV9bpCsONF/2wLs4XNTxA9jyfyA8A2B7Lcp?= =?us-ascii?Q?YiM0chC2es+ZnoYSin8iBZs9jqN3Ggag/fLeV8aYlvcILh+qSOLocZYigVzN?= =?us-ascii?Q?C4ms/P+Ugh87DNQNHjCsWe/cgAPDRw0VD7kwKUSi+X8woWBVmFn0cY4OR5DX?= =?us-ascii?Q?qIPXfJFgDDJISaG7M+Z+S/m3UkfW+pYRV6FkPvpvY4Vt//Lux5FeNe9IuDOz?= =?us-ascii?Q?Imgs9e+Ic47fiU6wHcF2WiVDRJTm1X4uWYpJwJfMkLQdTMhfG+N8nMOPhU2n?= =?us-ascii?Q?tu/aVo11/gDWgfQ5S3iMthNqPqvWZnCRkvKBuCz6Cn8yQwtewYjo0xfLpKEz?= =?us-ascii?Q?waB2+qUQA3MkhAxTBUQ3uRWjQ/8BteJ4xqbMhuYrTDEdvnEQXOyCcRf2PY+s?= =?us-ascii?Q?GnKHl8P9PQnSymZN/QbUwowVEqlClAh4XonVn0I5Uta58D9JOT/8MRoZMU+D?= =?us-ascii?Q?zIHgr6sZt7lfl6ldhZ8NQ8pNnZb0wqk5sxePRLZ68cIufKTCkCGG9drbHYwL?= =?us-ascii?Q?DC0iyXE2/QrojT+uWbx4FK58JnTXwtw/99qCCYfEC1Eo5Qw/Heip9VttKw1n?= =?us-ascii?Q?NegOEvRplb5/rdPUqMKHuQON9i/udlzp+iPDinQWpriEx3JdPr2KB6H8gIQ4?= =?us-ascii?Q?qw=3D=3D?= X-MS-Exchange-AntiSpam-ExternalHop-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-ExternalHop-MessageData-0: RseqJjoZQcx2D6UBJsBg73Txi0xtp0odobLLW9Yc/WjR5CM/tbhB1n6iZVPvr/MxYiCE03oC84wE6hzCLfelPhvhquGW4k2Wyd+Ewry0kuCv4vChthIBTYnlY456lw5Dd7SAJ48+gJFPd/FHt6orHY/pTVkhVNmBD3MAOre9yWU+/ONGxQ6ijkTNhOFpafLf6JhSu1AqTnGx5T1kjUe55vvQV3U4r5is5yNOVkhjKsfvR4nd687o720PrgCzrcaw/hODpR3r5KSjF1yUivYyhcOdTUh3r+udYwtXV1jeGUU9O730H9WZxIl74JQW8OZTsRyV5YyKH3pwbK+j3mQLXL43fAz3hmtJa34FNa6qXNGZUoT2aEK+E2ro7LGnnIszHOqyREhb7C+RiPt7aXHQFcIWI+8DVUuQhDYSelRvJXWWdz/AYGmbHGvDEY/CBghApDe5L3iFqbExThh0BjoDVRKdoziEk47Gu/mtOzhTNpB3CHHTQmQKgiCTI6HGz2tzDzUgzIJtvhNk7YHWo7fzFfZ9OoLgVi/fKJPH5qZ7K5V9286mSv4QUrBN6IV466kkVqpDZ2XRP7f+iTG97uNd4P0AtJMlNDW5fIB/yWmezcw= X-OriginatorOrg: oracle.com X-MS-Exchange-CrossTenant-Network-Message-Id: 80eb0975-5077-4e77-5bfb-08ddefd47d1c X-MS-Exchange-CrossTenant-AuthSource: PH0PR10MB5777.namprd10.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 09 Sep 2025 19:10:06.9038 (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: iPV5nRz1WNBC7XQa0JU+FsamVjwa2U79WAfC4NDA5B3Qqi4aFv5YpSys8ecjJal82XGYlHxyWt2XGtWpsLKeLQ== X-MS-Exchange-Transport-CrossTenantHeadersStamped: CH3PR10MB6740 X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1117,Hydra:6.1.9,FMLib:17.12.80.40 definitions=2025-09-09_03,2025-09-08_02,2025-03-28_01 X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 spamscore=0 adultscore=0 suspectscore=0 bulkscore=0 mlxscore=0 mlxlogscore=999 phishscore=0 malwarescore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2508110000 definitions=main-2509090188 X-Proofpoint-GUID: 7Kza1zoXkRn-n7QMiZuE4YJxoyto7ipX X-Proofpoint-ORIG-GUID: 7Kza1zoXkRn-n7QMiZuE4YJxoyto7ipX X-Proofpoint-Spam-Details-Enc: AW1haW4tMjUwOTA4MDE1MiBTYWx0ZWRfX0Q/aOLL0pjXJ Stfjb3/umFHBKDuQ7bLLSW5gKIwEYCFanzcvegQ08HKxr66ZF6EUFE97p82RdM9tZk1MgzH4R6z 39sW2ZeGUp04Y0+0KvLgqpsk3UBMSZNcQm2qbXKKCbLPtKXJq8dmfKfgIp70ubTkM8fZfXguoN7 4uxbG96brjdtId5HoqkBIXk5oZMasidQBCyNak6xtLsIgyfnP8sru3RtZsF4wHfNGYR0SPLU/nO /I6WiLPmm+aUXO5fg1VROlVs0b6GLJuGae/NEOl/ZTuKcXY2lAL5WhmhEm7dDXZtH2u7lISrqXX qEbgQmardaNaCALeoMvS8HR0mJRqOlukGg7tvxx9JWhpLXdzQ4+PiRxbbFYkdCQIMZoKK56ozPL Z5+wWgAFRZ7HGGa1oFKQ7EsjL9XyyA== X-Authority-Analysis: v=2.4 cv=b9Oy4sGx c=1 sm=1 tr=0 ts=68c07bcf b=1 cx=c_pps a=qoll8+KPOyaMroiJ2sR5sw==:117 a=qoll8+KPOyaMroiJ2sR5sw==: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=yJojWOMRYYMA:10 a=GoEa3M9JfhUA:10 a=yPCof4ZbAAAA:8 a=Aa1wpkB7co8p-06An_UA:9 cc=ntf awl=host:12084 Content-Type: text/plain; charset="utf-8" The unmap_region code uses a number of arguments that could use better documentation. With the addition of a descriptor for unmap (called unmap_desc), the arguments can be more self-documenting and increase the descriptions within the declaration. No functional change intended Signed-off-by: Liam R. Howlett Reviewed-by: Lorenzo Stoakes Reviewed-by: Pedro Falcato --- mm/mmap.c | 12 ++++++++---- mm/vma.c | 27 ++++++++++++--------------- mm/vma.h | 35 ++++++++++++++++++++++++++++++++--- 3 files changed, 52 insertions(+), 22 deletions(-) diff --git a/mm/mmap.c b/mm/mmap.c index aa4770b8d7f1e..5c9bd3f20e53f 100644 --- a/mm/mmap.c +++ b/mm/mmap.c @@ -1883,11 +1883,15 @@ __latent_entropy int dup_mmap(struct mm_struct *mm,= struct mm_struct *oldmm) if (max) { vma_iter_set(&vmi, 0); tmp =3D vma_next(&vmi); + UNMAP_REGION(unmap, &vmi, /* first vma =3D */ tmp, + /* min vma addr =3D */ 0, + /* max vma addr =3D */ max, + /* prev =3D */ NULL, /* next =3D */ NULL); + + /* Don't free the pgtables higher than the failure */ + unmap.tree_max =3D max; flush_cache_mm(mm); - unmap_region(&vmi.mas, /* vma =3D */ tmp, - /*vma_min =3D */ 0, /* vma_max =3D */ max, - /* pg_max =3D */ max, /* prev =3D */ NULL, - /* next =3D */ NULL); + unmap_region(&unmap); charge =3D tear_down_vmas(mm, &vmi, tmp, max); vm_unacct_memory(charge); } diff --git a/mm/vma.c b/mm/vma.c index 4c850ffd83a4b..c92384975cbb2 100644 --- a/mm/vma.c +++ b/mm/vma.c @@ -473,22 +473,20 @@ void remove_vma(struct vm_area_struct *vma) * * Called with the mm semaphore held. */ -void unmap_region(struct ma_state *mas, struct vm_area_struct *vma, - unsigned long vma_min, unsigned long vma_max, unsigned long pg_max, - struct vm_area_struct *prev, struct vm_area_struct *next) +void unmap_region(struct unmap_desc *desc) { - struct mm_struct *mm =3D vma->vm_mm; + struct mm_struct *mm =3D desc->first->vm_mm; + struct ma_state *mas =3D desc->mas; struct mmu_gather tlb; =20 tlb_gather_mmu(&tlb, mm); update_hiwater_rss(mm); - unmap_vmas(&tlb, mas, vma, vma_min, vma_max, vma_max, - /* mm_wr_locked =3D */ true); - mas_set(mas, vma->vm_end); - free_pgtables(&tlb, mas, vma, prev ? prev->vm_end : FIRST_USER_ADDRESS, - next ? next->vm_start : USER_PGTABLES_CEILING, - pg_max, - /* mm_wr_locked =3D */ true); + unmap_vmas(&tlb, mas, desc->first, desc->vma_min, desc->vma_max, + desc->vma_max, desc->mm_wr_locked); + mas_set(mas, desc->tree_reset); + free_pgtables(&tlb, mas, desc->first, desc->first_pgaddr, + desc->last_pgaddr, desc->tree_max, + desc->mm_wr_locked); tlb_finish_mmu(&tlb); } =20 @@ -2414,15 +2412,14 @@ static int __mmap_new_file_vma(struct mmap_state *m= ap, =20 error =3D mmap_file(vma->vm_file, vma); if (error) { + UNMAP_REGION(unmap, vmi, vma, vma->vm_start, vma->vm_end, + map->prev, map->next); fput(vma->vm_file); vma->vm_file =3D NULL; =20 vma_iter_set(vmi, vma->vm_end); /* Undo any partial mapping done by a device driver. */ - unmap_region(&vmi->mas, vma, vma->vm_start, vma->vm_end, - map->next ? map->next->vm_start : USER_PGTABLES_CEILING, - map->prev, map->next); - + unmap_region(&unmap); return error; } =20 diff --git a/mm/vma.h b/mm/vma.h index b0ebc81d5862e..4edd5d26ffcfc 100644 --- a/mm/vma.h +++ b/mm/vma.h @@ -152,6 +152,37 @@ struct vma_merge_struct { =20 }; =20 +struct unmap_desc { + struct ma_state *mas; /* the maple state point to the first vma */ + struct vm_area_struct *first; /* The first vma */ + unsigned long first_pgaddr; /* The first pagetable address to free */ + unsigned long last_pgaddr; /* The last pagetable address to free */ + unsigned long vma_min; /* The min vma address */ + unsigned long vma_max; /* The max vma address */ + unsigned long tree_max; /* Maximum for the vma tree search */ + unsigned long tree_reset; /* Where to reset the vma tree walk */ + bool mm_wr_locked; /* If the mmap write lock is held */ +}; + +#define UNMAP_REGION(name, _vmi, _vma, _vma_min, _vma_max, _prev, _next) = \ + struct unmap_desc name =3D { \ + .mas =3D &(_vmi)->mas, \ + .first =3D _vma, \ + .first_pgaddr =3D _prev ? \ + ((struct vm_area_struct *)_prev)->vm_end : \ + FIRST_USER_ADDRESS, \ + .last_pgaddr =3D _next ? \ + ((struct vm_area_struct *)_next)->vm_start : \ + USER_PGTABLES_CEILING, \ + .vma_min =3D _vma_min, \ + .vma_max =3D _vma_max, \ + .tree_max =3D _next ? \ + ((struct vm_area_struct *)_next)->vm_start : \ + USER_PGTABLES_CEILING, \ + .tree_reset =3D _vma->vm_end, \ + .mm_wr_locked =3D true, \ + } + static inline bool vmg_nomem(struct vma_merge_struct *vmg) { return vmg->state =3D=3D VMA_MERGE_ERROR_NOMEM; @@ -260,9 +291,7 @@ int do_vmi_munmap(struct vma_iterator *vmi, struct mm_s= truct *mm, =20 void remove_vma(struct vm_area_struct *vma); =20 -void unmap_region(struct ma_state *mas, struct vm_area_struct *vma, - unsigned long min, unsigned long max, unsigned long pg_max, - struct vm_area_struct *prev, struct vm_area_struct *next); +void unmap_region(struct unmap_desc *desc); =20 /* We are about to modify the VMA's flags. */ __must_check struct vm_area_struct --=20 2.47.2 From nobody Thu Oct 2 22:55:28 2025 Received: from mx0b-00069f02.pphosted.com (mx0b-00069f02.pphosted.com [205.220.177.32]) (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 2768635E4EF for ; Tue, 9 Sep 2025 19:10:42 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=205.220.177.32 ARC-Seal: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1757445045; cv=fail; b=qEHLgqA4OVHD80BZVFoK06ftebyKlV9Unsy4f3Q9FLbIzAuzAWxz34ftNGIVZ8J0d+ML4t8/TdY4gKuZrIFHzA5aKzNsL24urwwNkI6OboaBwUF8JZqQsulaYlU0AvHBmORCy66WjguX7MAfRWTpFoa9ld27ZyGxsq+qRDl2Cmc= ARC-Message-Signature: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1757445045; c=relaxed/simple; bh=CXgGqL9tca9YYxQj5HqrkGFZgx8rOQQ7/RhacY9z+ZA=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: Content-Type:MIME-Version; b=QTi86bpylCfEQo5JxD9iZByOInx56xDmxy9QFlfriqE6zFYXq0K1MkWgBm/jnYcYboAjjKRTQUYe8EkeOHVrjRRjU+hjICJortwD9yQw7VErWBWjoMjp5Mt0tHo3G9X9FQM5zb40yTCOVUD+cfEeOyCcnPg5Nhvfd0/UWf4P45U= ARC-Authentication-Results: i=2; smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=oracle.com; spf=pass smtp.mailfrom=oracle.com; dkim=pass (2048-bit key) header.d=oracle.com header.i=@oracle.com header.b=cdcrg+SE; dkim=pass (1024-bit key) header.d=oracle.onmicrosoft.com header.i=@oracle.onmicrosoft.com header.b=d2nLGvRt; arc=fail smtp.client-ip=205.220.177.32 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=oracle.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=oracle.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=oracle.com header.i=@oracle.com header.b="cdcrg+SE"; dkim=pass (1024-bit key) header.d=oracle.onmicrosoft.com header.i=@oracle.onmicrosoft.com header.b="d2nLGvRt" Received: from pps.filterd (m0246632.ppops.net [127.0.0.1]) by mx0b-00069f02.pphosted.com (8.18.1.2/8.18.1.2) with ESMTP id 589FtrpZ020462; Tue, 9 Sep 2025 19:10:14 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oracle.com; h=cc :content-transfer-encoding:content-type:date:from:in-reply-to :message-id:mime-version:references:subject:to; s= corp-2025-04-25; bh=VKYUD4l1VbM8mPcxVhB9K5YyDN3txKtcWh5BgKxh3zQ=; b= cdcrg+SEeb4f02Y8Y6xmMOA6lcTtxLC11AJ6v8HecuUiJb1SOMg3MDlPZTz6iVfd W6+ezK4Q3gqMfjoueHCbFSyAGXIwRKhjxFrQH9WbiXiezmSfvPn2WBxzSF0suThp 0pvHSxjFVfBDnr7zJFRPuyKWPzpHFFZA/qi3hMbfATgIr82n6uTikdh0raMgHBFX rCsz3FW/uJphpFw4JPHUXptVtY6rajS10PBoMXW21/bf6oSTmbfQ+quk+/9zaaXT +cjHwFXJV8GxDhMEBLHKf31JqJ0df0O809zfmYE9T/NTSzHANd/jeosM2ICAjJAg zpiUfOPFZ5abjRRdaI8+NQ== Received: from iadpaimrmta01.imrmtpd1.prodappiadaev1.oraclevcn.com (iadpaimrmta01.appoci.oracle.com [130.35.100.223]) by mx0b-00069f02.pphosted.com (PPS) with ESMTPS id 4922shtje8-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Tue, 09 Sep 2025 19:10:13 +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 589Hd3wc038942; Tue, 9 Sep 2025 19:10:13 GMT Received: from nam12-dm6-obe.outbound.protection.outlook.com (mail-dm6nam12on2070.outbound.protection.outlook.com [40.107.243.70]) by iadpaimrmta01.imrmtpd1.prodappiadaev1.oraclevcn.com (PPS) with ESMTPS id 490bda1tft-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Tue, 09 Sep 2025 19:10:13 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=HTvhxToXo9D2+h+2FGWA4qbp7D/+GTpwFsf6D8Pnd17rzIeJvJGBngC2uBfnV0+LcIGqVU4++Bh8Vts6qaHPQxWRWWp4THo2HhMP41a40iX6ksA25O/tdkGih/mTVj+uwdAaw+gjQHCHw6bbQ8oGjMy06z9WsbzicXrPgR0CdvrYUuO9b2Ng6dGPcM2XmpDSs192rslS2E7bXNqypdjI07WLHixZ1/6kxC04w8oVm0v7/5vLdN3stRWm+h88/lG1jYXjwyPLFzi2ze4FcgOKyj7zWgBze6mVsQ7VSbR35ZgmndLBEIx56VDW+A5TrY+TJ2jiDlL2Z3WXxCYndT98kg== 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=VKYUD4l1VbM8mPcxVhB9K5YyDN3txKtcWh5BgKxh3zQ=; b=ENbYloyM+CO46L4tYuGz//U3A4Um2tqJLhNvmWNi/O6f8lBmMNN08UeJRMBNubcccUIVvSKnmVDPMSTqu5ifY2lKBCBLXb3cX490ALrmCFZIleI82PfvLfCuyKQq0IJE84I853Lt1ENgVWXX3gdQ7Pt0hSm1ZwxZVp0bK1hkHUQG555hEoymM4sasi8YmCiglYo5kvgDD2hdzf04saBi+wlMOzxP9G/THyG1cSe9ek9hsK3a8AO5CS62hzCr7kWeLgp74BYDMEg9Zmz7JJlcXxkAovXy7ao3ny8ySCdDX2W87oAAcJupFohfoqStbZ6tALHHrFGJ4SFGAffbk4GKyA== 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=VKYUD4l1VbM8mPcxVhB9K5YyDN3txKtcWh5BgKxh3zQ=; b=d2nLGvRt98W/ylTccD8WU0DcOEeGo8oVRpqo6Ng74MV8pvhv9y7fjFBsj9BboM3onuosDZfx62u+isvyEbuHEO5HtHhd+KcytIY2/gbj9csMDsqC8V71/XAqLVqJFOqmkSouE3yu72vpxZ+mXw4pHowvP7TT10DP0Vv9kqPEN78= Received: from PH0PR10MB5777.namprd10.prod.outlook.com (2603:10b6:510:128::16) by SN4PR10MB5558.namprd10.prod.outlook.com (2603:10b6:806:201::15) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9094.22; Tue, 9 Sep 2025 19:10:10 +0000 Received: from PH0PR10MB5777.namprd10.prod.outlook.com ([fe80::75a8:21cc:f343:f68c]) by PH0PR10MB5777.namprd10.prod.outlook.com ([fe80::75a8:21cc:f343:f68c%5]) with mapi id 15.20.9094.021; Tue, 9 Sep 2025 19:10:09 +0000 From: "Liam R. Howlett" To: Andrew Morton Cc: maple-tree@lists.infradead.org, linux-mm@kvack.org, linux-kernel@vger.kernel.org, David Hildenbrand , Lorenzo Stoakes , Vlastimil Babka , Suren Baghdasaryan , Michal Hocko , Jann Horn , Pedro Falcato , Charan Teja Kalla , shikemeng@huaweicloud.com, kasong@tencent.com, nphamcs@gmail.com, bhe@redhat.com, baohua@kernel.org, chrisl@kernel.org, Matthew Wilcox , "Liam R. Howlett" Subject: [PATCH v1 8/9] mm/vma: Use unmap_desc in vms_clear_ptes() and exit_mmap() Date: Tue, 9 Sep 2025 15:09:44 -0400 Message-ID: <20250909190945.1030905-9-Liam.Howlett@oracle.com> X-Mailer: git-send-email 2.47.2 In-Reply-To: <20250909190945.1030905-1-Liam.Howlett@oracle.com> References: <20250909190945.1030905-1-Liam.Howlett@oracle.com> Content-Transfer-Encoding: quoted-printable X-ClientProxiedBy: YQZPR01CA0158.CANPRD01.PROD.OUTLOOK.COM (2603:10b6:c01:8c::21) To PH0PR10MB5777.namprd10.prod.outlook.com (2603:10b6:510:128::16) 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: PH0PR10MB5777:EE_|SN4PR10MB5558:EE_ X-MS-Office365-Filtering-Correlation-Id: 83a4953f-49ac-4f86-ce42-08ddefd47ec6 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|1800799024|366016|7416014|376014; X-Microsoft-Antispam-Message-Info: =?us-ascii?Q?h6EiXcVdEYtm7ZSvd+FHL8IbeXOrnGuYdi5UEv+GExhhDZ8pPH215vIYrkbU?= =?us-ascii?Q?hXZIMrJmxRhIO4Qm/y3NzaF1rdb4QmYxEzbUrCKR5e0wXUl3ELymx/hGjkM/?= =?us-ascii?Q?3ertY8KWR28sktoe4sXTLBWk38V77/HtYD5DsblL7mA69wXimwtB9zmjrhCq?= =?us-ascii?Q?r8Vy+TOTZerpT1m6XtBFqgy0/Nq+gS//DANCJH765V/HYMamho8ArPNC8+hz?= =?us-ascii?Q?kxTUtvf/nkefk4hxlayLth7YBRtjMhjB2QOmYxFh9IzX54zx+9XGnMcIgZDa?= =?us-ascii?Q?d/BLSz0zMQoKea76ITGNQW7fBtNRcbOsWQ3ENCbSXtUpCOs1Saj9Kbi3aFGf?= =?us-ascii?Q?Kc2hH238nPhiU2b+kbOfIW2ph5R7qfSS/sOJI5mNP/e4i5CA7jv5cNCiCV3B?= =?us-ascii?Q?FkdqhMWw+I+ku6sME4+JQn7Ptr2CWL0C9zETZtMxoLBoA6mv5qmwiR3E7tw6?= =?us-ascii?Q?rvg1+nXpjG63wnQKDmgbvSwgwDV7F48QjDAExYwH9nkPucZqMMZLzcQpUu1g?= =?us-ascii?Q?eX/XTmG+EB+hgNdZE4ZZ7Vk6ZpfRM3k7We5mKjc/4qbs0PZ6hZjL0rpGoAlk?= =?us-ascii?Q?hUAIBInyyqoIbMh62Ozfke+0C8lt3Jpdrwtl3pYJUmpubKV1e567THhzc0e3?= =?us-ascii?Q?GsHMbiqTAhm2XbBwoEzZsgPC2Smln5nNVLLKgycJNvLeahD77UdkVMVXo62x?= =?us-ascii?Q?/Tz9qIl7uVptTEvEEGtHFSzmdZFs6bJoHkdQlYCcCPLljlrNQXg01qh2OgrH?= =?us-ascii?Q?RFYQ5ZiAQjIeJvTmQFL9ZImcnYeaDr7Kge2Cs7UDhlvCNalEXthBRyLFoew/?= =?us-ascii?Q?InHW0mJRmQU5/gK4eXEe0hQJbjFkeg8hRjLqDC2kgTggVhJVBZc4YNlHnYyc?= =?us-ascii?Q?rEvVDvaS0mflCGNtD0kWKU/PrSeKxKh4F/i55URmj39KmD/INgB54nVVOlsr?= =?us-ascii?Q?OLawlJP29qehvS0Q78sDe5PDfkT9WYCMllRmBSmh2Y8dN4OTOR3BiA6R7dlr?= =?us-ascii?Q?REp5uX0RbMx94sU59HI7Y94H4/4Y382ynI7e/5nlqTJfEGY4uGbMM9RETEBB?= =?us-ascii?Q?A8ejQSmyduzPArrBnnbiTHouqvm7spxSe/L3HGofYOdyfVaCEIqCyJRYyoTC?= =?us-ascii?Q?CFvsmS8v5QRLxv64mmC3BbvuihQr57RBUO1yCUuK1JUhvWcIPsNjzb0Qwq7j?= =?us-ascii?Q?tAevnfoX6FOMehjI5AWIANKjswJRJyW8yyXl4eWpk3ZiNo/iMoSj8N6I9aBq?= =?us-ascii?Q?4CFwqXbpemlEmAtRHJ8g6TxY/umMZZGIQuDFnAujWHyX81vT87neIgLMjpWV?= =?us-ascii?Q?Aq5z7pBAJSwLIyiRQiKpGmaWlwQM5yADbXdgOODRdg3i1QAMMY4R4OhkT3jp?= =?us-ascii?Q?isp2Y5aSr56sdPuvgElSMddOtfbv2nAxiclREPwlWvvdy+K0WbbVqeV4njM5?= =?us-ascii?Q?wMGVsVSfA98=3D?= X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:PH0PR10MB5777.namprd10.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(1800799024)(366016)(7416014)(376014);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?gowi4Iekk9mpm07/mey577rynRcIsa3+uMh7/aKU6FI+JYed2Xbzy/RCBzcc?= =?us-ascii?Q?+TzM8v7ZOYP26OmMy94BcT23KM/rR0vD6XY//UuZbrSGQFygypZglhR8GNOZ?= =?us-ascii?Q?2DMfBIf08IoiYNYasDoIuTg/zB0hqzL02G3OiE9YXokxvcNwFKxrAvD6CPMS?= =?us-ascii?Q?7S5NO/QnK/eaPETCOQOHUEgEmYErQICpeuDqDhaDDIyiEh/mN/FBXvS1sVU2?= =?us-ascii?Q?aAUvgQNZltWqTA5Kv2GTeAOklE8mSEzKZO5txcQa7RB9gr19G+WLjVh1XFwV?= =?us-ascii?Q?DxkMMXWIqlOwQ7C1sjE0QSYeGooISuOoxPkx7A/HBVVcohYdf/ICh1D8zjZ3?= =?us-ascii?Q?K1JQCY9h9iyxPYzhlKxo40kxB5mNutIeEPcffTcMedkdpyV2oHchSTxIb/4F?= =?us-ascii?Q?mijJKJRpZo2OitbFvqrZLDQ0N1qLwYg7FsVIzmz+UPvWmButta9flll4D+ia?= =?us-ascii?Q?p5EzvkSRSSUfrOGrcqfsSdX9oDsz/4c+sbSlZUQS1QhFcnPYe/s8A0xUb6Sm?= =?us-ascii?Q?BVAU+OWEiHtLR0Jt+VOCYa0smn24ZucwKSS0FlI4dFIbfC5PZ9h0aLauZBas?= =?us-ascii?Q?bKzgghuqdt1NtvHhTcnym/9xpD99MpvBlbIA+Fi/WPC7N7G0U2PzNHftmGdx?= =?us-ascii?Q?Z9DV4O5HtWFSFcE2KRQDB30ib+Pp7mZG5wqkjiiFsOyPy8ncklwHHXocA8k+?= =?us-ascii?Q?gLpdeofebK/6EP+ajIX2AvQ5r9kiu0L+yATLJSEBkmC4tE/0pyYus+31m601?= =?us-ascii?Q?xzSEZUuTdsHUk23wxXlmrvhprJerIwg8UMH49bRZjgDyI2TX8aKtldUEUKTX?= =?us-ascii?Q?6/sJBs0XAYH0dyH8sbI0HcvpTb8mxh4d6NR86FJzfBUxMk7TUHSTjV3U5yhZ?= =?us-ascii?Q?unJuq1nYZNlgwei+UqahbjfwU9TqL4dQMDRE4iUHdceH5CRWJlJQX7Q9D/2X?= =?us-ascii?Q?/+IzZRuVkl8Se9fFQZyXMxBD7bsnXy5fS7UAJk+V7cN02nvqkG83W+auQhhp?= =?us-ascii?Q?3Z+xhUnKlj6DRzempP1yFCc4JMFB+tx27ECAv+5FKLNAR1Haw+AxfnU19W1c?= =?us-ascii?Q?gkI0ylOiARUoGOj8ibjFqwN5U1e0cDG2ArdASd9NcJ6ejOYE/F9z0pUdP30O?= =?us-ascii?Q?TIfbBlEFXp1y9UpkNZ8E+S7mrQttX+Moa7TIeHVaxtblNVV3nfhytrkQND8N?= =?us-ascii?Q?sNWaoVst+gujKOal0aYoMgZMiubUsUMdJxNe458XBOOH6Vs7jZrOxwNkdnqb?= =?us-ascii?Q?scUqzLWzz0kbnYUp74PtsZ+1lB/XT/yGEFyP6Op9COP8SSuXGiivEzJrrQaH?= =?us-ascii?Q?Xsge1SrLpsR2e2NDI2EdFE+oKhmCi5a0B1zt6eO9ajhMPr2Dysw+szFQLIn8?= =?us-ascii?Q?Cst7wJ1lkUPYykIxoDOpddUGIridA4cvJGIO0+u4T6GWIRatJYTM5kcCRgCQ?= =?us-ascii?Q?XSNGYM8PJiO/hhbAKAtHJN3bFeUfDADMFhK2Pvgonc3C8sIgkQvdEeGjMuyo?= =?us-ascii?Q?drkcsOKBbeyHDpY1GVg8QwgkDbvkxenqB9HBsUiqZxNeiu6CEf94l3v0kERT?= =?us-ascii?Q?qlLTJCfIzrzioSisJFpuroZG/ppUgDtQCMXLiUyLo5BRxhPnxxZrd6fWC4Lr?= =?us-ascii?Q?8Q=3D=3D?= X-MS-Exchange-AntiSpam-ExternalHop-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-ExternalHop-MessageData-0: 38JPLr0z1nP6wJC6eT+ggzIzBFF0nhAyUqI0HmhmJ6ODQndbH0Bex3TTC5Uu0/ytQau0cmlKepz7VfiAenaHa337788SwDhxKUOs1xTHnqOQi+7VLJDWDWcQ7+m3AzwKIAUbnqS79hs0Ef5XrFM7Nvop+9Zn2zUcuMz9qjv8AFXuZowSw5kjyHB1syaOgUD/IF0LHaBgXOYYEpOoN/rkrs1DrfqtvAFXz02OvEGIPvUNeKOJKtj6cJktIxLzOTvgc7EL054pObj3oLqsPH6zvpejOqK3oF9XYiTLaSRvrbiHLTKBG1MoCvb+YOvcSmQ9wiaE7XwJVjZhJK2IDBbZmPnNLhuOLlS/1yCz+DgzlJzRfW0qpOwihc+6lS4CvEO9djbwcCxTw0pcxo/VIVv9ueIiOTrc5C7zIrvffdJOKTzsvF1RhEJvLc300nJTwhlPj68HezSZtZPU4jlt3ntW6aoaTbYnjxWRUNGkCifkO5hYbare2Bnx3Gcw/cZz1eWqU/c80RCp6ALm0uRQeuZNkZDovT3k9xRbjszkG2lo8QCfSN7fXiFgFirdaCgTVnYAd5WAWJGljk0q/55kK+Dk14Xr72G0PUBibRBgLecPQtw= X-OriginatorOrg: oracle.com X-MS-Exchange-CrossTenant-Network-Message-Id: 83a4953f-49ac-4f86-ce42-08ddefd47ec6 X-MS-Exchange-CrossTenant-AuthSource: PH0PR10MB5777.namprd10.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 09 Sep 2025 19:10:09.7634 (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: fGugqojad+P29F9mgvrYwnOTT1MjO4TA98fODWvyWC13QORVOn3bx7hcrYVrGHuDasHHDGMPToTx/nfhj15brA== X-MS-Exchange-Transport-CrossTenantHeadersStamped: SN4PR10MB5558 X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1117,Hydra:6.1.9,FMLib:17.12.80.40 definitions=2025-09-09_03,2025-09-08_02,2025-03-28_01 X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 mlxscore=0 bulkscore=0 suspectscore=0 mlxlogscore=999 adultscore=0 spamscore=0 phishscore=0 malwarescore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2508110000 definitions=main-2509090188 X-Authority-Analysis: v=2.4 cv=esTfzppX c=1 sm=1 tr=0 ts=68c07b96 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=yJojWOMRYYMA:10 a=GoEa3M9JfhUA:10 a=yPCof4ZbAAAA:8 a=Ve4DxTUvmLAGs18brJkA:9 cc=ntf awl=host:12083 X-Proofpoint-Spam-Details-Enc: AW1haW4tMjUwOTA4MDE2NSBTYWx0ZWRfX0DIuLSriBT5s 9oYuYmEZHqMTqWXiVtpq563QJMxwK88BBksYhMeu6SxB/pLnI1uG4vocRC3UhFyTmr3YNCFhUZV e5zoKUIgA6vLCWDHjA3728vZGeUvz+JzLJtc/wtnVgs4s6XjXvhfnMeMItceGPMQp9L+nyn6rGG Eh12aAIyQN9dlmwjfLdINUXD/NtCXmU/2Hwbl2Bd/UkA1qX0zl4UFYNKUnCibw3thhhkQmJLYNf 12NEg3aEhuEgpFCpwJHlVSVHz9DmAnyqJvJ/E6htwopYffrzHbjycY2oGy2cBBdIgCOlt8x6feQ o3VdZ4zaIXkvtk9+/LHoRUtGCiC3oOPle6svD/54jFSL9a5wXWtCZQltmXfXVkfz7biI8+KToxc xf9mlZTWIjayvzVFYcecy7yFS6Ikqw== X-Proofpoint-GUID: oOHO5dJLqo3Fyorouq_NFI43riFlbbah X-Proofpoint-ORIG-GUID: oOHO5dJLqo3Fyorouq_NFI43riFlbbah Content-Type: text/plain; charset="utf-8" vms_clear_ptes() is slightly different than other callers to unmap_region() and so had the unmapping open-coded. Using the new structure it is now possible to special-case the struct setup instead of having the open-coded function. exit_mmap() also calls unmap_vmas() with many arguemnts. Using the unmap_all_init() function to set the unmap descriptor for all vmas makes this a bit easier to read. Update to the vma test code is necessary to ensure testing continues to function. No functional changes intended. Signed-off-by: Liam R. Howlett --- include/linux/mm.h | 3 --- mm/internal.h | 3 +++ mm/memory.c | 24 ++++++++------------ mm/mmap.c | 5 +++- mm/vma.c | 39 ++++++++++++++++++-------------- mm/vma.h | 14 ++++++++++++ tools/testing/vma/vma_internal.h | 14 ++++-------- 7 files changed, 56 insertions(+), 46 deletions(-) diff --git a/include/linux/mm.h b/include/linux/mm.h index 892fe5dbf9de0..23eb59d543390 100644 --- a/include/linux/mm.h +++ b/include/linux/mm.h @@ -2450,9 +2450,6 @@ static inline void zap_vma_pages(struct vm_area_struc= t *vma) zap_page_range_single(vma, vma->vm_start, vma->vm_end - vma->vm_start, NULL); } -void unmap_vmas(struct mmu_gather *tlb, struct ma_state *mas, - struct vm_area_struct *start_vma, unsigned long start, - unsigned long end, unsigned long tree_end, bool mm_wr_locked); =20 struct mmu_notifier_range; =20 diff --git a/mm/internal.h b/mm/internal.h index d295252407fee..1239944f2830a 100644 --- a/mm/internal.h +++ b/mm/internal.h @@ -197,6 +197,9 @@ static inline void vma_close(struct vm_area_struct *vma) } } =20 +/* unmap_vmas is in mm/memory.c */ +void unmap_vmas(struct mmu_gather *tlb, struct unmap_desc *unmap); + #ifdef CONFIG_MMU =20 /* Flags for folio_pte_batch(). */ diff --git a/mm/memory.c b/mm/memory.c index 829cd94950182..8d4d976311037 100644 --- a/mm/memory.c +++ b/mm/memory.c @@ -2084,12 +2084,7 @@ static void unmap_single_vma(struct mmu_gather *tlb, /** * unmap_vmas - unmap a range of memory covered by a list of vma's * @tlb: address of the caller's struct mmu_gather - * @mas: the maple state - * @vma: the starting vma - * @start_addr: virtual address at which to start unmapping - * @end_addr: virtual address at which to end unmapping - * @tree_end: The maximum index to check - * @mm_wr_locked: lock flag + * @unmap: The unmap_desc * * Unmap all pages in the vma list. * @@ -2102,11 +2097,9 @@ static void unmap_single_vma(struct mmu_gather *tlb, * ensure that any thus-far unmapped pages are flushed before unmap_vmas() * drops the lock and schedules. */ -void unmap_vmas(struct mmu_gather *tlb, struct ma_state *mas, - struct vm_area_struct *vma, unsigned long start_addr, - unsigned long end_addr, unsigned long tree_end, - bool mm_wr_locked) +void unmap_vmas(struct mmu_gather *tlb, struct unmap_desc *unmap) { + struct vm_area_struct *vma; struct mmu_notifier_range range; struct zap_details details =3D { .zap_flags =3D ZAP_FLAG_DROP_MARKER | ZAP_FLAG_UNMAP, @@ -2114,17 +2107,18 @@ void unmap_vmas(struct mmu_gather *tlb, struct ma_s= tate *mas, .even_cows =3D true, }; =20 + vma =3D unmap->first; mmu_notifier_range_init(&range, MMU_NOTIFY_UNMAP, 0, vma->vm_mm, - start_addr, end_addr); + unmap->vma_min, unmap->vma_max); mmu_notifier_invalidate_range_start(&range); do { - unsigned long start =3D start_addr; - unsigned long end =3D end_addr; + unsigned long start =3D unmap->vma_min; + unsigned long end =3D unmap->vma_max; hugetlb_zap_begin(vma, &start, &end); unmap_single_vma(tlb, vma, start, end, &details, - mm_wr_locked); + unmap->mm_wr_locked); hugetlb_zap_end(vma, &details); - vma =3D mas_find(mas, tree_end - 1); + vma =3D mas_find(unmap->mas, unmap->tree_max - 1); } while (vma); mmu_notifier_invalidate_range_end(&range); } diff --git a/mm/mmap.c b/mm/mmap.c index 5c9bd3f20e53f..6011f62b0a294 100644 --- a/mm/mmap.c +++ b/mm/mmap.c @@ -1280,10 +1280,12 @@ void exit_mmap(struct mm_struct *mm) struct vm_area_struct *vma; unsigned long nr_accounted =3D 0; VMA_ITERATOR(vmi, mm, 0); + struct unmap_desc unmap; =20 /* mm's last user has gone, and its about to be pulled down */ mmu_notifier_release(mm); =20 + unmap.mm_wr_locked =3D false; mmap_read_lock(mm); arch_exit_mmap(mm); =20 @@ -1295,11 +1297,12 @@ void exit_mmap(struct mm_struct *mm) goto destroy; } =20 + unmap_all_init(&unmap, &vmi, vma); flush_cache_mm(mm); tlb_gather_mmu_fullmm(&tlb, mm); /* update_hiwater_rss(mm) here? but nobody should be looking */ /* Use ULONG_MAX here to ensure all VMAs in the mm are unmapped */ - unmap_vmas(&tlb, &vmi.mas, vma, 0, ULONG_MAX, ULONG_MAX, false); + unmap_vmas(&tlb, &unmap); mmap_read_unlock(mm); =20 /* diff --git a/mm/vma.c b/mm/vma.c index c92384975cbb2..ad64cd9795ef3 100644 --- a/mm/vma.c +++ b/mm/vma.c @@ -481,8 +481,7 @@ void unmap_region(struct unmap_desc *desc) =20 tlb_gather_mmu(&tlb, mm); update_hiwater_rss(mm); - unmap_vmas(&tlb, mas, desc->first, desc->vma_min, desc->vma_max, - desc->vma_max, desc->mm_wr_locked); + unmap_vmas(&tlb, desc); mas_set(mas, desc->tree_reset); free_pgtables(&tlb, mas, desc->first, desc->first_pgaddr, desc->last_pgaddr, desc->tree_max, @@ -1213,26 +1212,32 @@ int vma_shrink(struct vma_iterator *vmi, struct vm_= area_struct *vma, static inline void vms_clear_ptes(struct vma_munmap_struct *vms, struct ma_state *mas_detach, bool mm_wr_locked) { - struct mmu_gather tlb; + struct unmap_desc unmap =3D { + .mas =3D mas_detach, + .first =3D vms->vma, + /* start and end may be different if there is no prev or next vma. */ + .first_pgaddr =3D vms->unmap_start, + .last_pgaddr =3D vms->unmap_end, + .vma_min =3D vms->start, + .vma_max =3D vms->end, + /* + * The tree limits and reset differ from the normal case since it's a + * side-tree + */ + .tree_reset =3D 1, + .tree_max =3D vms->vma_count, + /* + * We can free page tables without write-locking mmap_lock because VMAs + * were isolated before we downgraded mmap_lock. + */ + .mm_wr_locked =3D mm_wr_locked, + }; =20 if (!vms->clear_ptes) /* Nothing to do */ return; =20 - /* - * We can free page tables without write-locking mmap_lock because VMAs - * were isolated before we downgraded mmap_lock. - */ mas_set(mas_detach, 1); - tlb_gather_mmu(&tlb, vms->vma->vm_mm); - update_hiwater_rss(vms->vma->vm_mm); - unmap_vmas(&tlb, mas_detach, vms->vma, vms->start, vms->end, - vms->vma_count, mm_wr_locked); - - mas_set(mas_detach, 1); - /* start and end may be different if there is no prev or next vma. */ - free_pgtables(&tlb, mas_detach, vms->vma, vms->unmap_start, - vms->unmap_end, vms->unmap_end, mm_wr_locked); - tlb_finish_mmu(&tlb); + unmap_region(&unmap); vms->clear_ptes =3D false; } =20 diff --git a/mm/vma.h b/mm/vma.h index 4edd5d26ffcfc..8b55a0c73d097 100644 --- a/mm/vma.h +++ b/mm/vma.h @@ -164,6 +164,20 @@ struct unmap_desc { bool mm_wr_locked; /* If the mmap write lock is held */ }; =20 +static inline void unmap_all_init(struct unmap_desc *desc, + struct vma_iterator *vmi, struct vm_area_struct *vma) +{ + desc->mas =3D &vmi->mas; + desc->first =3D vma; + desc->first_pgaddr =3D FIRST_USER_ADDRESS; + desc->last_pgaddr =3D USER_PGTABLES_CEILING; + desc->vma_min =3D 0; + desc->vma_max =3D ULONG_MAX; + desc->tree_max =3D ULONG_MAX; + desc->tree_reset =3D vma->vm_end; + desc->mm_wr_locked =3D false; +} + #define UNMAP_REGION(name, _vmi, _vma, _vma_min, _vma_max, _prev, _next) = \ struct unmap_desc name =3D { \ .mas =3D &(_vmi)->mas, \ diff --git a/tools/testing/vma/vma_internal.h b/tools/testing/vma/vma_inter= nal.h index 823d379e1fac2..d73ad4747d40a 100644 --- a/tools/testing/vma/vma_internal.h +++ b/tools/testing/vma/vma_internal.h @@ -884,18 +884,12 @@ static inline void update_hiwater_vm(struct mm_struct= *) { } =20 -static inline void unmap_vmas(struct mmu_gather *tlb, struct ma_state *mas, - struct vm_area_struct *vma, unsigned long start_addr, - unsigned long end_addr, unsigned long tree_end, - bool mm_wr_locked) +struct unmap_desc; + +static inline void unmap_vmas(struct mmu_gather *tlb, struct unmap_desc *u= nmap) { (void)tlb; - (void)mas; - (void)vma; - (void)start_addr; - (void)end_addr; - (void)tree_end; - (void)mm_wr_locked; + (void)unmap; } =20 static inline void free_pgtables(struct mmu_gather *tlb, struct ma_state *= mas, --=20 2.47.2 From nobody Thu Oct 2 22:55:28 2025 Received: from mx0b-00069f02.pphosted.com (mx0b-00069f02.pphosted.com [205.220.177.32]) (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 4730336207B for ; Tue, 9 Sep 2025 19:10:47 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=205.220.177.32 ARC-Seal: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1757445049; cv=fail; b=YlGL6L5XnW2TnPHHJiQrW8O01oP8hU+bAEkTfl7r7LtngBBzmYKjLCAy/JhbKA/Kr6NLLZCGiFqkFTVb1wW3pPeCP5WQgK75lEnl1V4QeO8QFPJSrr7s44a8R8w/gVfLKRzqSX4dz1m0ksT97LND3/+PcpDXSdye9DUu+JZZa+I= ARC-Message-Signature: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1757445049; c=relaxed/simple; bh=4B+RvnnklJY0mC+IjH1SYi7n7o41+laps5PIGOL/aAQ=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: Content-Type:MIME-Version; b=CAqZEEDzwTNGCUjseG7L0Dj4gLxuayxQDaIJwWXyEbDHQ0DSQTUDSesTilSvPkbdfv7WqPq/aXmSJaQ1UUG3BPt6YxOwUBU/JtFNPKVXFuObc+k3vQotIkWmn1Jrrh8Zgn3yigKtNCAQ5Wx9hCpZhGuuXg0oH3bCHP63Y18zyDQ= ARC-Authentication-Results: i=2; smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=oracle.com; spf=pass smtp.mailfrom=oracle.com; dkim=pass (2048-bit key) header.d=oracle.com header.i=@oracle.com header.b=ThZ58WVQ; dkim=pass (1024-bit key) header.d=oracle.onmicrosoft.com header.i=@oracle.onmicrosoft.com header.b=Y/4qNqLL; arc=fail smtp.client-ip=205.220.177.32 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=oracle.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=oracle.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=oracle.com header.i=@oracle.com header.b="ThZ58WVQ"; dkim=pass (1024-bit key) header.d=oracle.onmicrosoft.com header.i=@oracle.onmicrosoft.com header.b="Y/4qNqLL" Received: from pps.filterd (m0246630.ppops.net [127.0.0.1]) by mx0b-00069f02.pphosted.com (8.18.1.2/8.18.1.2) with ESMTP id 589Fu10L017787; Tue, 9 Sep 2025 19:10:17 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oracle.com; h=cc :content-transfer-encoding:content-type:date:from:in-reply-to :message-id:mime-version:references:subject:to; s= corp-2025-04-25; bh=Yx87GtOve6aUoX2ryo3xamI/rt+J4lPAQ95taV+yLdE=; b= ThZ58WVQWrTTFrNnVsC7/YzChVRjHbgSWRa0ACFxbgIyS7bb29DEQxuudYGG8tYZ awjat91zw4aX1Q3GC9D5w/5mjPnE6yDC02g5QFDVBU6SLkjDUYvhtCpC4SvnzXMC EZkwXoIUdBadQJzdFtzR4koVnfTHBrDb0ancOMpwfIRUEVtwbpSu90Ud/9ccrkaD n17uflCDWXgD7mDsRZkmav+ss7QGuA9+yXmV6p2U27GwXEHdJOhI3m5o9KyGil2X ggatBkj7+M8XuRmfjYQN4gtEiJ8m/i7D1qoh9s9Z3kRzEwRxw17zbzmz4ux5QW9+ TT6utWlI6RiWfXGFihqVzw== Received: from phxpaimrmta01.imrmtpd1.prodappphxaev1.oraclevcn.com (phxpaimrmta01.appoci.oracle.com [138.1.114.2]) by mx0b-00069f02.pphosted.com (PPS) with ESMTPS id 4921m2tr34-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Tue, 09 Sep 2025 19:10:17 +0000 (GMT) Received: from pps.filterd (phxpaimrmta01.imrmtpd1.prodappphxaev1.oraclevcn.com [127.0.0.1]) by phxpaimrmta01.imrmtpd1.prodappphxaev1.oraclevcn.com (8.18.1.2/8.18.1.2) with ESMTP id 589HNQnu032845; Tue, 9 Sep 2025 19:10:16 GMT Received: from nam12-dm6-obe.outbound.protection.outlook.com (mail-dm6nam12on2070.outbound.protection.outlook.com [40.107.243.70]) by phxpaimrmta01.imrmtpd1.prodappphxaev1.oraclevcn.com (PPS) with ESMTPS id 490bdb1900-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Tue, 09 Sep 2025 19:10:16 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=pdjZxjpXi213vTrmv15Wt0Rn+hahV/qzfH5ZyEn/sBzFKIURjFuB/wACwLSbZC+cfmO9ChCXrEwqjk/wCSSxdLzQXqDwP46F2ut9Xxs8luYKwvXUz5YDZoELs+naJhIgiy977nnMkM0UBXt9BiZZ+KgldqRwJk0WZdZ2WYb7Vqmv3s85kNDZsg/LQs3J14oOdusv0rwhK8EGz5CGqavmcPA8iDnrWKooUCEH0zkAP2PoEWeaI7xw7ElGVcvBVcGD+GM1Vfx1OhH95W9f18TgWXf8i+43anLUFlnsBdT2t3b8NynVYCpKFBtcKgJtSMkmKRHGj6r23K3A5sg9AmcVyA== 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=Yx87GtOve6aUoX2ryo3xamI/rt+J4lPAQ95taV+yLdE=; b=ao/Bi+mtInVdQ5qIGn/DMctNqlKROSo0Q6maVygFAwKeUmi6o2XyJX2skDzbxu9GdHrx5onEYLrZEEoGUovsgCkgDgIE5lnr6aq8TFPwnoFXngJTAbJzvleG8sPbMcOm6zagMEJXDy+rj7iUBvRVOefgai0dYSYUwPGrZiIAxn8Xym5qij4g7UCUv/uLiNi6pqs7tOC93d23GJ16e0moAJ0mEZL+O3d7CdbTA1ATn8NHlyqsUJ0+cya9lwSL+t+WEkAAq6fOIGOAEQe+9Sy1jRUDYhYoS/0qIZCRbKsvttLiG3jM9owjdr4odg0wVbAMnpx7kNNNhObFfCVcTUI96Q== 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=Yx87GtOve6aUoX2ryo3xamI/rt+J4lPAQ95taV+yLdE=; b=Y/4qNqLLa/GONvYedNlt0ONBG+y6LJEBmvNIpHxsxt99ZKHSNeTAFoIEUGogkQ5hs6B156U37UGPD7VJlYZFyvGH6/SXFiMqkiRdVPYWY7GRih0Q3aoPNTxwmHZ+47N5fCzgivIGumu5Zrw/85cNzJWRgHgakI8WSWTWwUnMr8Y= Received: from PH0PR10MB5777.namprd10.prod.outlook.com (2603:10b6:510:128::16) by SN4PR10MB5558.namprd10.prod.outlook.com (2603:10b6:806:201::15) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9094.22; Tue, 9 Sep 2025 19:10:12 +0000 Received: from PH0PR10MB5777.namprd10.prod.outlook.com ([fe80::75a8:21cc:f343:f68c]) by PH0PR10MB5777.namprd10.prod.outlook.com ([fe80::75a8:21cc:f343:f68c%5]) with mapi id 15.20.9094.021; Tue, 9 Sep 2025 19:10:12 +0000 From: "Liam R. Howlett" To: Andrew Morton Cc: maple-tree@lists.infradead.org, linux-mm@kvack.org, linux-kernel@vger.kernel.org, David Hildenbrand , Lorenzo Stoakes , Vlastimil Babka , Suren Baghdasaryan , Michal Hocko , Jann Horn , Pedro Falcato , Charan Teja Kalla , shikemeng@huaweicloud.com, kasong@tencent.com, nphamcs@gmail.com, bhe@redhat.com, baohua@kernel.org, chrisl@kernel.org, Matthew Wilcox , "Liam R. Howlett" Subject: [PATCH v1 9/9] mm: Use unmap_desc struct for freeing page tables. Date: Tue, 9 Sep 2025 15:09:45 -0400 Message-ID: <20250909190945.1030905-10-Liam.Howlett@oracle.com> X-Mailer: git-send-email 2.47.2 In-Reply-To: <20250909190945.1030905-1-Liam.Howlett@oracle.com> References: <20250909190945.1030905-1-Liam.Howlett@oracle.com> Content-Transfer-Encoding: quoted-printable X-ClientProxiedBy: YQZPR01CA0157.CANPRD01.PROD.OUTLOOK.COM (2603:10b6:c01:8c::6) To PH0PR10MB5777.namprd10.prod.outlook.com (2603:10b6:510:128::16) 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: PH0PR10MB5777:EE_|SN4PR10MB5558:EE_ X-MS-Office365-Filtering-Correlation-Id: 1d41bbe8-0904-49c3-5544-08ddefd48060 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|1800799024|366016|7416014|376014; X-Microsoft-Antispam-Message-Info: =?us-ascii?Q?FawFjkFQVoxt5J/EaQkI09GroptaLOuZO1gxiygxCBq3J9aXFstQnmbo8QVQ?= =?us-ascii?Q?mtKr9yv69Kur4qOtIRY5AUtkcLS9Chvi0a1Uqu8PznfhND5JqxqPwHcyuVy7?= =?us-ascii?Q?jcikaCg+d8QDSgl8RPnbfNmG8yzF3xGxlg1ffzFAUw7a5NPkgNX5bxm3s8fq?= =?us-ascii?Q?OIrGI9hMKHVVRdcWzrglsMdoFsZjpWe6XT9pNjC2qALNcFfBkDUYBRXMvfZa?= =?us-ascii?Q?TyXZew0kIzoPcfcdFYIBeGOIb2uO7KNuDv2rkwprsF5Zn/Ha+KVFlE4nFoRM?= =?us-ascii?Q?Em64b4hCBfBflGKPMCFbo2LueWbd24gevMg6cqA4Rv+G0ClI1CN8wIb7ODXy?= =?us-ascii?Q?3N6K39HT0k65g5tq3PPgi2UScJqhAMYsFqkIIXaI6OBRYQ/eLKLbIFI5VMfG?= =?us-ascii?Q?5AQ4+eTEWEQHVerbCWYdj4Y0wpyb6EDIuNN3M9YyRWLzT42xldLhxupR62/+?= =?us-ascii?Q?xHEZn7gngn32pBGy1RrAMlNSP39000Pe+IUsenMVCWuYXmhoVPWQLcbIt4of?= =?us-ascii?Q?19g+h0+CjTvOIAcMtMjrZEnHqmADgK8HUp0/OIgP4nPb852HZwiMOLvn555I?= =?us-ascii?Q?BDXGm8ZAd3grWXe73CJsJvDvkQqlUdPE4mlIP3pnu+R7VYX95EzUl12bEooc?= =?us-ascii?Q?Ozjv2wNg5wHq9U37onHXnLJsjsUnBuUJYcnv+cylhK1e+ZkpfHF9cWzklqv3?= =?us-ascii?Q?HTreplq7e18g1ULx94zI7xzkTHlb8i9IH3AuAQEu2PRI8CRNE/wEdTQiYScU?= =?us-ascii?Q?oiCN79JYRqT+dxk74wxKs/NGo029Wr+fb3PDXyBqhG4T2Vq8uLJdQrQ6QDmk?= =?us-ascii?Q?ztFmJ7wXed1IL0+xjUvgWAYR/wouuS0PTEGQhELHBJTNHTAcC4TWMVSyUZ1A?= =?us-ascii?Q?hI+q4G5iUrfheKXjWtM7ukEQtwAIG2FuzeuPOpFNstLCT16e4MqMX7I4c5Ld?= =?us-ascii?Q?TqsF8qU6nXRujSA0obWBHvbJcbwSY3Cex2ExOz2zujG2f4donmkb3tzwr0ys?= =?us-ascii?Q?xpuiG54lsHgF+ASNKXN7qVzCFSeOE7TEs0a+BnCF4Zoz2nAY60ALLfMYmY8S?= =?us-ascii?Q?9ZsWQH/H7rPHQWcdfj59Oe1MY9xJS63XtU2Vz4H0PEhMawD2ClGDOJQBFjb3?= =?us-ascii?Q?pxePbRDz25rR7Pwq0x3syk1As9kxUiWyC59Cmkh6g15TR92IK7xKXbgGky36?= =?us-ascii?Q?EtdtOfcFvAfwFDNweuxB/hvg/HolI7TX9vd8BIs8ypapo7QB2TZHB7kQMqZM?= =?us-ascii?Q?L9kLE4BCvWvEdGCsaa0Azry+qP9Ap+Kgznha+5yDoDQ/gm+05SiOGjf5QxKE?= =?us-ascii?Q?jRbHAFQP6mv7lgIECLrRXgbiMw8tHa24Ihl6/Gp2hxM/OmBLHShErGqRtosk?= =?us-ascii?Q?qkl3ym0Gbw5rBFmPPw22PYgZ+jmXiGYzWzIQfSFyZtnLxnIrlND0H+7UKyNl?= =?us-ascii?Q?KMc2aArFM2Y=3D?= X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:PH0PR10MB5777.namprd10.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(1800799024)(366016)(7416014)(376014);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?76iN2fZl9lwsfZ9mfjP/b+XfNmXgizlIHcu699r/RCENXsg26ZS8cmvuJ1TT?= =?us-ascii?Q?84jxpDydeE5pD6ocixMH9S97pW/nTvkbyMbvVy7dVl0aREHQBzSgyqf/Cjln?= =?us-ascii?Q?BzH6EpsY28s2NoQqeMbvQRybhuwHkw5/PurY7KDMgPBEXdaUjDo4HYAOgvl/?= =?us-ascii?Q?jI9JaIrbubOUV1xX/L6pWW03c8tAlOVVxtowuEVwtF7Or0xZhrG+VwDUOHj6?= =?us-ascii?Q?0HON88r0TYQqnErF5hUdchliV7K4XDKfkp6A21QK9HiR5eGttGwmc5Rg80LC?= =?us-ascii?Q?IG/hozxm4JEGj8IgK8o+OrCpWTF6SFBBB/9MJ6xn3cBKhPpLTKrsyC22V4Qj?= =?us-ascii?Q?zzIj6cyLx4AmDpYi7ZTXYNO4RIS4fk7rqCVTA5gOM4zxlV7xeqOY3eOMZAZ9?= =?us-ascii?Q?PKDWN/4epDrGLHpBS4om55PbeR2p6uyqRmJal/qdd7iVLGAzg6sPJCIjAGFd?= =?us-ascii?Q?QIVuChKndkoopaPvQeZoJYqlvtmX1BsrB4eD8kW6qpzIPSVGC/UYd+9aad88?= =?us-ascii?Q?62ojVB5Bv4FKDYhXfzf1CWzPQofdiP91P0JDtUxpF7b+9IaroQ9tR8LrMmuR?= =?us-ascii?Q?D1plPvHXz9E1T+UM1lfvYAOdrxaloWx10StTIFWq2OeQpW2SV+Ap9aBsHTF4?= =?us-ascii?Q?cJCMdlHhFVsGI4e5Fpkko1gWRQjmf6Lgtic7bqTIhh6og0ODXJBhVzQhHUSx?= =?us-ascii?Q?Zvdd8NZZxrUcL1N3SxxBm093E31sjM6VAF7K7fpxCVr9FIZqrZrVXRQyv3Ay?= =?us-ascii?Q?k/piusGqJRr6OJ0YVV0BVB2G1Z2j/nd8QBiL5TxBIlqbTaCHzVWttjPhe7t/?= =?us-ascii?Q?mkeSZhnBUgT2sLebmv96IbZsILBeRumQgeRySeHb0fxuBNouYzxKniIk1GNG?= =?us-ascii?Q?SCv/Cm5qdvW4N8zQe04MO5u9OxuvKvHXC+DZCYMxJYFiDIPrPXac0LlttbJj?= =?us-ascii?Q?f++B0OYNQrnTxxGQEft1qXtj6JlG1scsKAfOT4ISREabc5kFwi23mAeqDcNn?= =?us-ascii?Q?jbohdG1ppOASVm6VNSn6TCy7IxONJFvzTSgCQGSCMfyLe+wM7PHKNJwqHckr?= =?us-ascii?Q?iwU2sZCIn/YrgBWnbCyTm1+uh8Y/pm8giS4/I8U3N3Imz9xPqcwbpmmyvk/u?= =?us-ascii?Q?w09jj+Ev+zrksyMNXJZfS2fNk5aXDD8HeWpExrKnVr722vUGlJnm4qLGrOk+?= =?us-ascii?Q?5ciRty6chuaYp9BX9p6n3sym6TpSdTPywU6pPhq2pATGOGMTr49ljnidBByw?= =?us-ascii?Q?xkeKY3VjxXg0rf3SDGEAPNZW96Ru510tTrar8yzkc9TcGiUhyXPwuJq1GFuY?= =?us-ascii?Q?64Ak0yQ0NHLIkx4SpNcI5VDElrJqexyEekHODvaSldlFH9tNWfetgw6u7Oed?= =?us-ascii?Q?pwc+KyfFuta9b/nVYoXJ/VECYpbiFivR8F/Z0648i2/5Fqq8wUMsUWn/LRzp?= =?us-ascii?Q?jt/fZtXFGMQ6nmolwaxKI3xgp+FWjbBhcFGFqDVir2JItd2Xu5UawgswZxD2?= =?us-ascii?Q?Ht9P4bzAyiBhN1KN7IpltM1w9NmVsWTFB2vUUhAsCDmOFrW/zxQEURye3exj?= =?us-ascii?Q?4laDUzq2WJnrQX/+lBQKEZ0xQ6sA4McyNighpWA7GryaKwegYAXVG4vT0DF2?= =?us-ascii?Q?4g=3D=3D?= X-MS-Exchange-AntiSpam-ExternalHop-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-ExternalHop-MessageData-0: EFCO/nKt2Af2kV8JBUk0AUWqMGzH1CTZXl5UGxdsViES/tCrqGP4c4VeUvlkypv7v/QXjPjbzh4pDXGz+LmtXNuzHeq+9HipEz+4WePiky+xirXFyVkKb+9vcLrWNDHnMMnGCqEqgFlU9kZBaSZQnmndtyCT8TCB6RFuRNuj7RfwkOl/yj9NQWab6nDu/lDmbaI6neHxgj4jdVoBn0x/9M+qzIb7h2xEh9OLIcT1kY6m3M0AGhA6UsG4nobDTFLtSG8WI9DwaIvPHrHOZzMcpK4QSkJUmNTtPKGeTA58Oz3xtUMI/uXXefsiknQguR8FPhSBVsk83LnIj7uyL4ThmWvvSx3Ag1/vzH/zOCBf1+VSaVY2wRARvbK0HKhm31QL5ffvBzndmZnYB4G+iCjV/rNeterF6QrJ0uxrfFXrGNHwXsNq1T/CPZhiioIVfR74tqo9pXr5+xctOSR7yQTsFmS+TvDm6iJAOP3Gbw6nQD7ht3JUSTfqwI+uTKNPqQ/aZQjZBHU2wQ2wm755PXYGbwEzrox1ICDtzyRP9mVTpcYAhVSeahu7hlc2pHi//DAdQXIE+QQrBGdmkJVkgAHZ6y2L+uDFROoo6uc27/+S0NI= X-OriginatorOrg: oracle.com X-MS-Exchange-CrossTenant-Network-Message-Id: 1d41bbe8-0904-49c3-5544-08ddefd48060 X-MS-Exchange-CrossTenant-AuthSource: PH0PR10MB5777.namprd10.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 09 Sep 2025 19:10:12.3458 (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: HUoVO/TxUH9pgDsNWjaY0kptmM+/iZfcwK3Mz2oKuS9OZS6QVmbFdi4zlSo9waeOzjYMli3/JqLVqnuP5R7a7A== X-MS-Exchange-Transport-CrossTenantHeadersStamped: SN4PR10MB5558 X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1117,Hydra:6.1.9,FMLib:17.12.80.40 definitions=2025-09-09_03,2025-09-08_02,2025-03-28_01 X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 spamscore=0 mlxscore=0 phishscore=0 bulkscore=0 mlxlogscore=999 malwarescore=0 adultscore=0 suspectscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2508110000 definitions=main-2509090188 X-Proofpoint-GUID: vKRiWJhKKDU962EsRloS99Rs9FSykU0f X-Proofpoint-Spam-Details-Enc: AW1haW4tMjUwOTA4MDE1MSBTYWx0ZWRfX+uGZ2Ca2nveN V85m9f/DKb+EZ7BQC6D8nNNdic4wQxkl/Y9mXXZDJi6MKqyrQTm8vF1ExUVEqcOadkPXFfksRTT g3Dcscrm7OzEWq5pKhDae5nqfSSjdsNWQaaL27wBdGtqq8ai/XrtNWQp8feGzf0LtqkGgUIzTvX F7ABvkcmzFH7ThC7YgCUgHRO9cr0OxLBXgbRJzK2VFt3AwvlfI5MePe617OA3f5TYpwsGU7jwxs sqtM1p6qUa60l8QpKLmKgc/O1mPcTpYrcloiFvJ2VhKdl0+hJuvS46+SDX//oYWmyv7GaaFrJub LSkpa2osPhJ8QJVd4LQk85KVLBmd/i32f2SzjivZr665ORuXO0gwE4N7fjGUmbxzcIfEnld0SaF XtLwOmDO X-Authority-Analysis: v=2.4 cv=Dp5W+H/+ c=1 sm=1 tr=0 ts=68c07b99 cx=c_pps a=XiAAW1AwiKB2Y8Wsi+sD2Q==:117 a=XiAAW1AwiKB2Y8Wsi+sD2Q==: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=yJojWOMRYYMA:10 a=GoEa3M9JfhUA:10 a=yPCof4ZbAAAA:8 a=ao0Za0JyZWCtd7aAlgYA:9 X-Proofpoint-ORIG-GUID: vKRiWJhKKDU962EsRloS99Rs9FSykU0f Content-Type: text/plain; charset="utf-8" Pass through the unmap_desc to free_pgtables() because it almost has everything necessary and is already on the stack. Updates testing code as necessary. No functional changes intended. Signed-off-by: Liam R. Howlett Reviewed-by: Lorenzo Stoakes Reviewed-by: Suren Baghdasaryan --- mm/internal.h | 5 +---- mm/memory.c | 21 ++++++++++----------- mm/mmap.c | 6 +++--- mm/vma.c | 7 ++----- tools/testing/vma/vma_internal.h | 11 ++--------- 5 files changed, 18 insertions(+), 32 deletions(-) diff --git a/mm/internal.h b/mm/internal.h index 1239944f2830a..f22329967e908 100644 --- a/mm/internal.h +++ b/mm/internal.h @@ -445,10 +445,7 @@ bool __folio_end_writeback(struct folio *folio); void deactivate_file_folio(struct folio *folio); void folio_activate(struct folio *folio); =20 -void free_pgtables(struct mmu_gather *tlb, struct ma_state *mas, - struct vm_area_struct *start_vma, unsigned long floor, - unsigned long ceiling, unsigned long tree_max, - bool mm_wr_locked); +void free_pgtables(struct mmu_gather *tlb, struct unmap_desc *desc); =20 void pmd_install(struct mm_struct *mm, pmd_t *pmd, pgtable_t *pte); =20 diff --git a/mm/memory.c b/mm/memory.c index 8d4d976311037..98c5ffd28a109 100644 --- a/mm/memory.c +++ b/mm/memory.c @@ -387,15 +387,14 @@ void free_pgd_range(struct mmu_gather *tlb, * The tree_max differs from the ceiling when a dup_mmap() failed and the = tree * has unrelated data to the mm_struct being torn down. */ -void free_pgtables(struct mmu_gather *tlb, struct ma_state *mas, - struct vm_area_struct *vma, unsigned long floor, - unsigned long ceiling, unsigned long tree_max, - bool mm_wr_locked) +void free_pgtables(struct mmu_gather *tlb, struct unmap_desc *desc) { struct unlink_vma_file_batch vb; + struct ma_state *mas =3D desc->mas; + struct vm_area_struct *vma =3D desc->first; =20 /* underflow can happen and is fine */ - WARN_ON_ONCE(tree_max - 1 > ceiling - 1); + WARN_ON_ONCE(desc->tree_max - 1 > desc->last_pgaddr - 1); =20 tlb_free_vmas(tlb); =20 @@ -407,13 +406,13 @@ void free_pgtables(struct mmu_gather *tlb, struct ma_= state *mas, * Note: USER_PGTABLES_CEILING may be passed as ceiling and may * be 0. This will underflow and is okay. */ - next =3D mas_find(mas, tree_max - 1); + next =3D mas_find(mas, desc->tree_max - 1); =20 /* * Hide vma from rmap and truncate_pagecache before freeing * pgtables */ - if (mm_wr_locked) + if (desc->mm_wr_locked) vma_start_write(vma); unlink_anon_vmas(vma); =20 @@ -425,16 +424,16 @@ void free_pgtables(struct mmu_gather *tlb, struct ma_= state *mas, */ while (next && next->vm_start <=3D vma->vm_end + PMD_SIZE) { vma =3D next; - next =3D mas_find(mas, tree_max - 1); - if (mm_wr_locked) + next =3D mas_find(mas, desc->tree_max - 1); + if (desc->mm_wr_locked) vma_start_write(vma); unlink_anon_vmas(vma); unlink_file_vma_batch_add(&vb, vma); } unlink_file_vma_batch_final(&vb); =20 - free_pgd_range(tlb, addr, vma->vm_end, - floor, next ? next->vm_start : ceiling); + free_pgd_range(tlb, addr, vma->vm_end, desc->first_pgaddr, + next ? next->vm_start : desc->last_pgaddr); vma =3D next; } while (vma); } diff --git a/mm/mmap.c b/mm/mmap.c index 6011f62b0a294..9908481452780 100644 --- a/mm/mmap.c +++ b/mm/mmap.c @@ -1311,10 +1311,10 @@ void exit_mmap(struct mm_struct *mm) */ mm_flags_set(MMF_OOM_SKIP, mm); mmap_write_lock(mm); + unmap.mm_wr_locked =3D true; mt_clear_in_rcu(&mm->mm_mt); - vma_iter_set(&vmi, vma->vm_end); - free_pgtables(&tlb, &vmi.mas, vma, FIRST_USER_ADDRESS, - USER_PGTABLES_CEILING, USER_PGTABLES_CEILING, true); + vma_iter_set(&vmi, unmap.tree_reset); + free_pgtables(&tlb, &unmap); tlb_finish_mmu(&tlb); =20 /* diff --git a/mm/vma.c b/mm/vma.c index ad64cd9795ef3..ba155a539d160 100644 --- a/mm/vma.c +++ b/mm/vma.c @@ -476,16 +476,13 @@ void remove_vma(struct vm_area_struct *vma) void unmap_region(struct unmap_desc *desc) { struct mm_struct *mm =3D desc->first->vm_mm; - struct ma_state *mas =3D desc->mas; struct mmu_gather tlb; =20 tlb_gather_mmu(&tlb, mm); update_hiwater_rss(mm); unmap_vmas(&tlb, desc); - mas_set(mas, desc->tree_reset); - free_pgtables(&tlb, mas, desc->first, desc->first_pgaddr, - desc->last_pgaddr, desc->tree_max, - desc->mm_wr_locked); + mas_set(desc->mas, desc->tree_reset); + free_pgtables(&tlb, desc); tlb_finish_mmu(&tlb); } =20 diff --git a/tools/testing/vma/vma_internal.h b/tools/testing/vma/vma_inter= nal.h index d73ad4747d40a..435c5a24480bc 100644 --- a/tools/testing/vma/vma_internal.h +++ b/tools/testing/vma/vma_internal.h @@ -892,17 +892,10 @@ static inline void unmap_vmas(struct mmu_gather *tlb,= struct unmap_desc *unmap) (void)unmap; } =20 -static inline void free_pgtables(struct mmu_gather *tlb, struct ma_state *= mas, - struct vm_area_struct *vma, unsigned long floor, - unsigned long ceiling, unsigned long tree_max, - bool mm_wr_locked) +static inline void free_pgtables(struct mmu_gather *tlb, struct unmap_desc= *desc) { (void)tlb; - (void)mas; - (void)vma; - (void)floor; - (void)ceiling; - (void)mm_wr_locked; + (void)desc; } =20 static inline void mapping_unmap_writable(struct address_space *) --=20 2.47.2