From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from kanga.kvack.org (kanga.kvack.org [205.233.56.17]) by smtp.lore.kernel.org (Postfix) with ESMTP id A5A61C3271F for ; Thu, 4 Jul 2024 18:28:15 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 4E1856B007B; Thu, 4 Jul 2024 14:28:01 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 491626B00A5; Thu, 4 Jul 2024 14:28:01 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 294CB6B00A6; Thu, 4 Jul 2024 14:28:01 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0012.hostedemail.com [216.40.44.12]) by kanga.kvack.org (Postfix) with ESMTP id 03F8D6B007B for ; Thu, 4 Jul 2024 14:28:00 -0400 (EDT) Received: from smtpin03.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay05.hostedemail.com (Postfix) with ESMTP id 6A47D408AF for ; Thu, 4 Jul 2024 18:28:00 +0000 (UTC) X-FDA: 82302904320.03.071EA54 Received: from mx0b-00069f02.pphosted.com (mx0b-00069f02.pphosted.com [205.220.177.32]) by imf25.hostedemail.com (Postfix) with ESMTP id 041B0A0012 for ; Thu, 4 Jul 2024 18:27:56 +0000 (UTC) Authentication-Results: imf25.hostedemail.com; dkim=pass header.d=oracle.com header.s=corp-2023-11-20 header.b=UBD7EYdA; dkim=pass header.d=oracle.onmicrosoft.com header.s=selector2-oracle-onmicrosoft-com header.b=msv0XSuP; spf=pass (imf25.hostedemail.com: domain of liam.howlett@oracle.com designates 205.220.177.32 as permitted sender) smtp.mailfrom=liam.howlett@oracle.com; dmarc=pass (policy=reject) header.from=oracle.com; arc=pass ("microsoft.com:s=arcselector9901:i=1") ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1720117657; h=from:from:sender:reply-to:subject:subject:date:date: message-id:message-id:to:to:cc:cc:mime-version:mime-version: content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references:dkim-signature; bh=MCMdiCS+Z5VLbHqW8repADVTOe8n4gC9NUWizk0m7gw=; b=uzwiZVeHzTb5vU2UEFbFLvie5m22Gl8iDHxgqY1VppadQ/w/iwQIJg2dD5Xtk4/YNK4Yp9 OLC7tNzRuwbZnlayAsNGmux/U61D7/buUnNi+pW79eBDrpGrWRmGfDFMXAoru0NwnBajj8 PxbMR1UbLEoUKoJzNtznRL8ms2FT1K4= ARC-Authentication-Results: i=2; imf25.hostedemail.com; dkim=pass header.d=oracle.com header.s=corp-2023-11-20 header.b=UBD7EYdA; dkim=pass header.d=oracle.onmicrosoft.com header.s=selector2-oracle-onmicrosoft-com header.b=msv0XSuP; spf=pass (imf25.hostedemail.com: domain of liam.howlett@oracle.com designates 205.220.177.32 as permitted sender) smtp.mailfrom=liam.howlett@oracle.com; dmarc=pass (policy=reject) header.from=oracle.com; arc=pass ("microsoft.com:s=arcselector9901:i=1") ARC-Seal: i=2; s=arc-20220608; d=hostedemail.com; t=1720117657; a=rsa-sha256; cv=pass; b=2fnCKnTbA7DIDYJm2tGHtn7Pn7iZJBU+2zHvZbT2cWgouXompwm3fHBGNF58G3oRzRW1Qi fWa0egcDCPr2XMqqFlW9LSC/DR+/TP5+a1Pq0jl+SHPY+iekWJo5cC3kYszW6qxE72slBe FM8n/w89YTdCj5b+c3bbQ+myBAeMqC8= 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 464DPnFV031070; Thu, 4 Jul 2024 18:27:49 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oracle.com; h= from:to:cc:subject:date:message-id:in-reply-to:references :content-transfer-encoding:content-type:mime-version; s= corp-2023-11-20; bh=MCMdiCS+Z5VLbHqW8repADVTOe8n4gC9NUWizk0m7gw=; b= UBD7EYdAxJ25XSUqum8nqiawni+4rhrttorJOO6WkprW/HvmZF8b9jp5LpJ46PW8 M/8eIKxRIo9y9mHWx727C4YHBIUMKNCo/c8fNQofq1jQtvUjRh4P6FCRozkhHb39 spT8gx2pznArV/NiB6XN0JSkW2VannlbqvjQhJdUHVn+lFwryxNU8FgbgekzyHZF Lg04zze2tpiVQWRpiIvmbMYeK6VXhJtaUHNZ0gKX1SicXYcmCpVawn93/EczTcJQ PEfhxc4h3CPCNovUqmAwcbr32+kn/VKIex/4TW5NaROGW3f0+hWJOB3J40INLIir PMv9G3MA7rmr2q6uz0aeMA== Received: from phxpaimrmta03.imrmtpd1.prodappphxaev1.oraclevcn.com (phxpaimrmta03.appoci.oracle.com [138.1.37.129]) by mx0b-00069f02.pphosted.com (PPS) with ESMTPS id 402aacjt0j-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Thu, 04 Jul 2024 18:27:49 +0000 (GMT) Received: from pps.filterd (phxpaimrmta03.imrmtpd1.prodappphxaev1.oraclevcn.com [127.0.0.1]) by phxpaimrmta03.imrmtpd1.prodappphxaev1.oraclevcn.com (8.17.1.19/8.17.1.19) with ESMTP id 464HwBNi024792; Thu, 4 Jul 2024 18:27:48 GMT Received: from nam11-dm6-obe.outbound.protection.outlook.com (mail-dm6nam11lp2169.outbound.protection.outlook.com [104.47.57.169]) by phxpaimrmta03.imrmtpd1.prodappphxaev1.oraclevcn.com (PPS) with ESMTPS id 4028qb2h24-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Thu, 04 Jul 2024 18:27:48 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=SvoBqmQAtijar8bHFah0Oxu6hsFf+BFXaI1HA0AKKv1PbEkwx0Yml6MUHDJtdu5xG07etK9qBsPK2HoC3zdVPSWKwqJyQWZZICxBNpyaGEh82f2jGwv7teOYAqJbFech05ElK/2QA928nXhQh5u9iJ8dX8WYBb/AHs2af/30mAhkV2goIEGnYKtKZR1PNQaB1fdUJ7XJzoMFAREGB0y5f7jt2Yi2apIFviU0e+n0Z7cv3ydX0vJu3REk9oPIsS6P6gc84p3vyIcHGv3uQLMTc8PZnyKarsGhdXXc5Luy+DxuPnR9W4P/IWMdtemgLKuxqqeYEz8crb6xxkUqvAPmeg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; 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=MCMdiCS+Z5VLbHqW8repADVTOe8n4gC9NUWizk0m7gw=; b=h7+jME1khQcU22M7TDz8l1zS4/VYULHdfKJqlK5fxKXnQLHKV6Xm/B8qnn8MICOh8mCcwyi+g1H4gbnpKSfQPSmz7H99iyAHXtcZ2+7py6HegyT4Eun5r4Y1kWR90sMy76tedfFmfwwauK1JyyM6tIj/kWZt0q01GMjBcfsp0wWmv4MLKz5dmXMtwIgvo1yNOXL9Sm4VnRC9yFBqVf8XQQwSuuMK6uVW/oyYju/UHWGWIbZMZdm7bk1zYCZblO7lpYxl6kPG1BAmH58wWFHsQwJ9b6Kr4HVFddmblL0lZf9RKC4gbMfWRjnCDBYfJEhAbfLvoK/Adb3XEU5Tv5/e9w== 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=MCMdiCS+Z5VLbHqW8repADVTOe8n4gC9NUWizk0m7gw=; b=msv0XSuPFGYKqYeuO7qSU92fqFXOhtm2b8PxUTr6DPPFKBH1MiS11HrzXOrvzqpgmSfRRAKeSsKIWn6UodxB0kRSc6MJzclH0IvsYCc0wKv8AjYzZQ5X+gGcjbQY5fQfXTOcTzTs0ggMTjSzjjql0Q2lCHcNwBjxUwxdhqAJSos= Received: from DS0PR10MB7933.namprd10.prod.outlook.com (2603:10b6:8:1b8::15) by BY5PR10MB4242.namprd10.prod.outlook.com (2603:10b6:a03:20d::9) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7741.29; Thu, 4 Jul 2024 18:27:46 +0000 Received: from DS0PR10MB7933.namprd10.prod.outlook.com ([fe80::2561:85b0:ae8f:9490]) by DS0PR10MB7933.namprd10.prod.outlook.com ([fe80::2561:85b0:ae8f:9490%5]) with mapi id 15.20.7741.027; Thu, 4 Jul 2024 18:27:46 +0000 From: "Liam R. Howlett" To: linux-mm@kvack.org, Andrew Morton Cc: Suren Baghdasaryan , Vlastimil Babka , Lorenzo Stoakes , Matthew Wilcox , sidhartha.kumar@oracle.com, "Paul E . McKenney" , Bert Karwatzki , Jiri Olsa , linux-kernel@vger.kernel.org, Kees Cook , "Liam R. Howlett" Subject: [PATCH v3 11/16] mm/mmap: Track start and end of munmap in vma_munmap_struct Date: Thu, 4 Jul 2024 14:27:13 -0400 Message-ID: <20240704182718.2653918-12-Liam.Howlett@oracle.com> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20240704182718.2653918-1-Liam.Howlett@oracle.com> References: <20240704182718.2653918-1-Liam.Howlett@oracle.com> Content-Transfer-Encoding: 8bit Content-Type: text/plain X-ClientProxiedBy: YT4PR01CA0445.CANPRD01.PROD.OUTLOOK.COM (2603:10b6:b01:10d::27) To DS0PR10MB7933.namprd10.prod.outlook.com (2603:10b6:8:1b8::15) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: DS0PR10MB7933:EE_|BY5PR10MB4242:EE_ X-MS-Office365-Filtering-Correlation-Id: 238dfe84-473a-49fb-1434-08dc9c57003a X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|7416014|1800799024|376014|366016; X-Microsoft-Antispam-Message-Info: =?us-ascii?Q?MsMnHtxCLr23JCqKYPkQAPL2J3nXpAPy9gzW+Quv25cXoO6qkl1xqmuzP/1G?= =?us-ascii?Q?JbhqMKDOFkA0o06V4Ft06d/K4Mk4gp1m/GONhsWy/MrB8n1BcSKuZJYuSfd0?= =?us-ascii?Q?GOdn8sQB1nc7FQOkmu0CHPLF41RpsFryt1Rxbfu2ip8lVpsF3qDBizB7JbPb?= =?us-ascii?Q?jeFcrt8lru66cUPs51y/pTXbARpthNSwMGvhVFY3cXjVagxe9+lzidfmah2P?= =?us-ascii?Q?KoOMo48/BM6Nqd+QX2KQhZM2Qtyh07n2nJ1rs+ZHVVfvDzVAsJZOCR1ymCIG?= =?us-ascii?Q?Ptvf23fsqQHeg8ta/0nscghtEPRSHc9x/DEEwmrXurs50UrfJImW4yD1gcbQ?= =?us-ascii?Q?tZ3fiQRr8bf5v8It+8SIe7XPAj4/BmyX7L4TB6Kd1gtS6zN/qI7mWYD51EX8?= =?us-ascii?Q?nlQNCOK54+gsoVasGxcjDZs066gfTASSDCLQYaCcmzO5iBk6UeOlz+giI5E8?= =?us-ascii?Q?5LJwTRLVpIwHvXgvKNzxSggrR7OrK0Qq6EyfSFABeCqLfFpI15eEVHTJ8syk?= =?us-ascii?Q?Tz/2DhxddfmpOpKsRWHO/luxTTPh+8ituYkaGykoqkzQEfiKgIXQ0DyMPZxl?= =?us-ascii?Q?Szy2QMEEMdmTnAcydlcwFIuSKV3Or/bTwXnmvdpwvM8FiJpTN4PLHKWhdU1Z?= =?us-ascii?Q?5WjIPKNHUK8XtYRsAenN348WHsEAknC2LEWUBFkze/Ae/Hv62H34dlxleZGd?= =?us-ascii?Q?ldZiC6j8/KL51yccEfF2FXgshyiJAg2enYzM/EFDy8vG04/ZYYPKuXdgLpEM?= =?us-ascii?Q?k5huxgTei90DCvyz+b8gGW5OFoxPBJD7AU0wF+54Czw8OGWIGBOjUtv3OQkB?= =?us-ascii?Q?4pqYG5PYY6AEuA1g8ykwRffa4kNFtcuq6N5Z/QWOiRKexZO7EOAVW5ABFAeI?= =?us-ascii?Q?xZLwYTuWkXjmv8BiVyMJTNC0njb1R9fV6JagoLDVwU1T+SXKv5hXgV1vZisz?= =?us-ascii?Q?cIZuH5DgKx7donUCR3PHOCwP0H4qlOGCbisrM/gIG92CsJB5uQ1wMQE4/t/q?= =?us-ascii?Q?n6CnynxPRq/yQZKb2h4XEjDipQOCHcRAlZ/rnacGKafYEho4r6UYOgH8mu3z?= =?us-ascii?Q?C/LPuy5qWriuyqIQwW8QOorDIi76N6+QUhWHPJGlU0OHrWEzziYmEwhivxrC?= =?us-ascii?Q?Y9jJWto3aN5Q9Z8+q8akozcz8raemJ0abuzP389Bv/k5X3cZdDGF1If2gT54?= =?us-ascii?Q?59wU3kWbMZY42kfsCseaH3Coav6D9l5OSBudL3js3Ab/wXRGIOxXWTkp19Cj?= =?us-ascii?Q?BV5H6ZOtI/lGJwSAZ2nw5fbqdEGuB9q5Cdn4LkKuRTaQADJPdcX6MVLDkfjA?= =?us-ascii?Q?0w+ta0BcEqul9aBZC21xZAQyKc2YUT8DQIWwvQqbLaHz0A=3D=3D?= X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DS0PR10MB7933.namprd10.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(7416014)(1800799024)(376014)(366016);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?UzVSaES31IVQv/ReGwKIcb6ftMd4WoDreS7Yf3eKsk/adlN3Kdh6nc46Uv5k?= =?us-ascii?Q?HUh5yq/qCOpCeceTtOG40H9HPPN7n6ST6XF9TR5kwf3X6dT/+1I/smJqWeBt?= =?us-ascii?Q?vKUG8c+iN7YRvo0IUgDvERGqAA3VxRl8KbNUS76M/olVLrVSBDUNbIENV/rT?= =?us-ascii?Q?DzeZuSzpQL6zYmaE09Y6gPeDznCOXCbaciH5axwi5i0qZ1kxRnuf4M285ZxM?= =?us-ascii?Q?+7UyxWcJSxdrmxXndFN55FVtY7nN5dH9Y8u3wOy6X1v09BWDY6EKIbjYnJP3?= =?us-ascii?Q?YzWpuB+XuZccUmO7U4tlr9Kpx6VoutNHITw5lJwI1iFWvkHYPP8oQJGimWgF?= =?us-ascii?Q?0/Y3EEerTzpNFbOHwWCBae2loiZa3H5TPhRR4YpVTE3jGqbE0lHQGkPs4o7b?= =?us-ascii?Q?ed95Nh/yrL3RP2hHKJt69e9zKWv+V0IG3lTwWrUVcBzwRBoZWXZoUDoIZXNN?= =?us-ascii?Q?xpJHBlVGmg2jX/CVr+E9VACy39jl+oi7K1DrqynqTpJNtF70A2/uuQnUSj+s?= =?us-ascii?Q?uIAnr+xWYARKNVwaJMT09dhCu51fBgGVtphz5nagMnJ1UIBefjDmGg0f6r2B?= =?us-ascii?Q?adCcYw3MpNs4mxnpR5huPyBXOMFgBf2c3qVdsit6hD8mlkmKHO9sZhT9sKa3?= =?us-ascii?Q?pYn9Yqicl7Js1amxI5uwlmlca15XEhtfMjzaNsTaGK0/oIrC+SDPlO4k8u/5?= =?us-ascii?Q?Um02oVLZ/rKgZjwHXTt8Yvx5TBq8n4R66Avt0D01ogKw1Wre1HyuRi05Aj5l?= =?us-ascii?Q?0m9tNChleBeipPjU5Fab1iVWGiZ0LUI6pD1mskKCy4VPm+UxavEPKd9brrHZ?= =?us-ascii?Q?SkwKgvCqj4KOOcRDKvQJcnhT5q+uG141KV40vUCZyR7SEN8U2BRJ8LH/83qv?= =?us-ascii?Q?WLxF4+7mKG98aWD8FzC74eRrM8K5ZhBHsrzHXcw3BUkj1ilesn/a4uvo8BIr?= =?us-ascii?Q?6PPfTe+LcKBM4xcW4BGSKiJzI4jq8R44ckXspMmu2NyOBNGiaj5opr4HulB4?= =?us-ascii?Q?NGyj/hzeWApWACNW0p5iRSgTtAwRcy1IDGOBFJF9o93PqUc3WQeZqRcBR5/c?= =?us-ascii?Q?F6mPj2ILQnT9tUuo0UlHVtzmjw/QCxu7I95ii4KoTm84EalCIUztP9eVSXX8?= =?us-ascii?Q?0h15gBwR5Wm01FBKU0gNZOB+v2Ie8mwDCi6toiiDFCCA5Qveyy1ak34p6ydj?= =?us-ascii?Q?SYZRWFeydIAQFVzpTFAHG9mo9nI4u6BQlAj9yN86WVpz2qhpO0LuXArYNtwx?= =?us-ascii?Q?ZSIq+rrSNjrjr2U9+n2zWjGuEM6YGv71/RuZ68Kle41+H1s1sTkjIa7qrtLI?= =?us-ascii?Q?q7AFwWWKCqnJlH64y7oMcQzHE7Dv2e98fCqB1vcOraX3aoeHST8ecne7bS7+?= =?us-ascii?Q?0kTRn6Oggnsk16iBJpcWTlGLCVVlpEqN4sryONIIZ3/EKVqUCwzSwwTFmF0/?= =?us-ascii?Q?mtcdowhfbs9slFTAUhxhLc1QI+MUCXHrPVJ/Ce/1LZqA+t+6SMmOSPmWhl7Q?= =?us-ascii?Q?V6pgHMK7SqxA78BLDRczMQtkAm1W0lddpNUhY/UdCTi4e8lWGynEvFiepJi7?= =?us-ascii?Q?5gLZM1VDP0yaY/OpryKhH7CyXJuWlYcT0T3Ukx4epJeraQChbOi158pdGi3n?= =?us-ascii?Q?mg=3D=3D?= X-MS-Exchange-AntiSpam-ExternalHop-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-ExternalHop-MessageData-0: 0T28tw0OraNmhehrEEayPutqKx+8FqurgN0ToUBMZL8sUSSEIx4WAthA5zIXozBA7yEB4QdZA03whxuNG3+/7FqXE4g2/pG/ABUg9fgqO8f5jmWDvGq1XFVaZC2AJ9h/sQ181keumLn0Hm6gWthbbF5XKqFccX9ezbvWMZHWHLHTOPBjKwrpDblszPC0PcVk6a+2XJt9sCpqzKMKppZ94aGZQmyqP+3Q3UvY/ZcbbhLUGWp/qRTvU1+RkdgTvKUO2Fgt7fGOjorAEikPv9P84DLdbc2shUKvwuHWqo8O0CDmE8BMEr+tV6oOE5tPSQ16PGAvAAzxMwt/Hibenxupw552xzVSZ5bKDfPml0jPPtesJW1qEAcr6AkDt/+TuBAA0+CEimN4zaj7dq4wTvjNFts5iop6Ivi/mcmvpua7MlGzQ6AoyXf+PSsVm9rPnUj4cNjnifAqXaBR1GwDI0s+lu6o9A7B62SYQ8uTGj2FLr3bPuMmz/LUfEUa4c6vRS1dQfufgX3o1GWinqj+7pXzuivupe1rcQHHMSo9mmt1EhNeML8jGC1roooCheRwxJqD3kkRW7ufHyMYcZSwVO8ogC/rK8PXC/QXRVEa3RLGSNU= X-OriginatorOrg: oracle.com X-MS-Exchange-CrossTenant-Network-Message-Id: 238dfe84-473a-49fb-1434-08dc9c57003a X-MS-Exchange-CrossTenant-AuthSource: DS0PR10MB7933.namprd10.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 04 Jul 2024 18:27:46.0385 (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: IPlhPbjat1sDze9Z+3cp2fHThEjmDJ4acOJCPE2ghPwuAD1k9j/VbvMbn76T2AD3BNrOH22NLsc4FBqP6pgdGA== X-MS-Exchange-Transport-CrossTenantHeadersStamped: BY5PR10MB4242 X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1039,Hydra:6.0.680,FMLib:17.12.28.16 definitions=2024-07-04_14,2024-07-03_01,2024-05-17_01 X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 phishscore=0 mlxlogscore=999 bulkscore=0 suspectscore=0 adultscore=0 spamscore=0 malwarescore=0 mlxscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2406180000 definitions=main-2407040134 X-Proofpoint-GUID: v5SnP3N1kFsz-RgIiczIJiS0K88X5jXU X-Proofpoint-ORIG-GUID: v5SnP3N1kFsz-RgIiczIJiS0K88X5jXU X-Stat-Signature: hqxw3imyznumc44btjt793nebixp5d6j X-Rspam-User: X-Rspamd-Queue-Id: 041B0A0012 X-Rspamd-Server: rspam02 X-HE-Tag: 1720117676-250607 X-HE-Meta: U2FsdGVkX1/ya20PAvLChArE9Z+DipQIXEKzyJ5Ga7Lc5AyEjScB6K9ZrY0/xHbnj9oYzRDaADdwUewkNBcbvkmZ1A5LAYQLK6rWlMGe5McBF7+pkLg4upaZGRbEPTIgr33C53jqmUV4PdVDN6Dl0MCsFXuGza/gx+yFQwihprXou5/oAh4EAyR41bv+6DRUUFN1AstvT50AeiA7kxh0AIgTH/ESbumu6uDHEH+3U0SCYwgt4dHjZMzUeXf9jzbnulVYJSa2+IwLQDYMkCAeKjdWZA7P6DRI+WhO+VTuXiurejMv3vTK4AC6q7XG0J2dQNJWdL/TNgnYJOkuTI3aUYVpKAYSQVky7VXzwkVciew/Cddce3PaUyUSCg++Qm+08LhBSP210Wuhy4DIhS+cZ6bp4Obe5Po8SN7JdAjYrWGM8c0tBiQcsmxobrga50WJKO6/ryphjSup0IFUWGX3GyDr39l0fi5H6Z9g+5yF5V+jdZZkLM+w3TS4lTMpfBMRYDpnczDOdhD6hrJl70pBBRRRlbHbmB6Rbrgqw6swpirEdLgdTLh8lZidm66dffeix6kpp54c1RKGtFvmnKY9jTNcV397jVtAG/gywhxxovzWAdMhbUlNthpEHA8m0UZzSKl4CzLkEelM4d0BCgDCUeyvMd4qcVk0v+actbMiTNx2BlRLWn6T56/SLJ6//Q2+SafPzDPDXJKNENpwjXwVguV4AqnyT3tjHvqUbUnoDHV0tFYpJ6ULryQphNeFBvVoFlFHdF2UR2tDyOGVs7oz3ptvfLlAyS6QLTdPZbXe9+QbXAZu+Wh1LJ5weBngPZwMDrPsRiHUrsKlN0CkJappsi0bdZoI27KI032UBm3/sSEsfiF1YE7FIQLPzqoWMiEGAUuyMyuiKxttx+YeS17dzrKYzZgYbaN7Ix46cjSrFQ25blX0k/YTjkgvMZ1BihVJwk9vT7OrLeho2jpMBUM IaBriOrI lm67nyrFu0esT9AplOd/qIL0KEE86niWBanHMPu1J4OTPEGFWudd79MmvRhGx6eNsoT8YwyC1NCDA4Y9zrmt3Qfe+SFXEX7iEokxfpQ6wlDzi+6nBCaPBftgR43Qe1vZZ8dXZgzFdlvmAFN9UeQXM+lIo5LYYXLV36EfAYGOzCjUbtRPZbINlB7OV08jeK//6UOgGra5UphbkwtLofPLeWRtBkLWcpjTLnP20KWkd9pmJKMNloqmpAxpOOyfIeipYpor1WFiOHDvdewb+bKmVJjX9M4IRMyg3Oi4KZiGVFRIZgP6SjaJk6C562bJnz/xIzR7tEcIOQXaic0Ai9TIAL3XnErtmonkmRps1JxwDDtb4askcPTKPkuIQ03+E4jgH/8ujz9pZlaiFzTKx0O3grocd08326l8CR7PlQPZVm8BhR3KnP3Bz8G+e8XDGD1LxjF9XOw/lkM1ztBqVgnZ3WD6BAKZq55ihS1+NFpXLtGjlBndbRk9/PjSeYPIeeeuuul6KkJrtjxKrq3s= X-Bogosity: Ham, tests=bogofilter, spamicity=0.000000, version=1.2.4 Sender: owner-linux-mm@kvack.org Precedence: bulk X-Loop: owner-majordomo@kvack.org List-ID: List-Subscribe: List-Unsubscribe: From: "Liam R. Howlett" Set the start and end address for munmap when the prev and next are gathered. This is needed to avoid incorrect addresses being used during the vms_complete_munmap_vmas() function if the prev/next vma are expanded. Add a new helper vms_complete_pte_clear(), which is needed later and will avoid growing the argument list to unmap_region() beyond the 9 it already has. Signed-off-by: Liam R. Howlett --- mm/internal.h | 2 ++ mm/mmap.c | 34 +++++++++++++++++++++++++++------- 2 files changed, 29 insertions(+), 7 deletions(-) diff --git a/mm/internal.h b/mm/internal.h index 8cbbbe7d40f3..4c9f06669cc4 100644 --- a/mm/internal.h +++ b/mm/internal.h @@ -1493,6 +1493,8 @@ struct vma_munmap_struct { struct list_head *uf; /* Userfaultfd list_head */ unsigned long start; /* Aligned start addr */ unsigned long end; /* Aligned end addr */ + unsigned long unmap_start; + unsigned long unmap_end; int vma_count; /* Number of vmas that will be removed */ unsigned long nr_pages; /* Number of pages being removed */ unsigned long locked_vm; /* Number of locked pages */ diff --git a/mm/mmap.c b/mm/mmap.c index ecf55d32e804..45443a53be76 100644 --- a/mm/mmap.c +++ b/mm/mmap.c @@ -525,6 +525,8 @@ static inline void init_vma_munmap(struct vma_munmap_struct *vms, vms->vma_count = 0; vms->nr_pages = vms->locked_vm = vms->nr_accounted = 0; vms->exec_vm = vms->stack_vm = vms->data_vm = 0; + vms->unmap_start = FIRST_USER_ADDRESS; + vms->unmap_end = USER_PGTABLES_CEILING; } /* @@ -2610,6 +2612,26 @@ static inline void abort_munmap_vmas(struct ma_state *mas_detach) __mt_destroy(mas_detach->tree); } + +static void vms_complete_pte_clear(struct vma_munmap_struct *vms, + struct ma_state *mas_detach, bool mm_wr_locked) +{ + struct mmu_gather tlb; + + /* + * We can free page tables without write-locking mmap_lock because VMAs + * were isolated before we downgraded mmap_lock. + */ + mas_set(mas_detach, 1); + lru_add_drain(); + tlb_gather_mmu(&tlb, vms->mm); + update_hiwater_rss(vms->mm); + unmap_vmas(&tlb, mas_detach, vms->vma, vms->start, vms->end, vms->vma_count, mm_wr_locked); + mas_set(mas_detach, 1); + free_pgtables(&tlb, mas_detach, vms->vma, vms->unmap_start, vms->unmap_end, mm_wr_locked); + tlb_finish_mmu(&tlb); +} + /* * vms_complete_munmap_vmas() - Finish the munmap() operation * @vms: The vma munmap struct @@ -2631,13 +2653,7 @@ static void vms_complete_munmap_vmas(struct vma_munmap_struct *vms, if (vms->unlock) mmap_write_downgrade(mm); - /* - * We can free page tables without write-locking mmap_lock because VMAs - * were isolated before we downgraded mmap_lock. - */ - mas_set(mas_detach, 1); - unmap_region(mm, mas_detach, vms->vma, vms->prev, vms->next, - vms->start, vms->end, vms->vma_count, !vms->unlock); + vms_complete_pte_clear(vms, mas_detach, !vms->unlock); /* Update high watermark before we lower total_vm */ update_hiwater_vm(mm); /* Stat accounting */ @@ -2699,6 +2715,8 @@ static int vms_gather_munmap_vmas(struct vma_munmap_struct *vms, goto start_split_failed; } vms->prev = vma_prev(vms->vmi); + if (vms->prev) + vms->unmap_start = vms->prev->vm_end; /* * Detach a range of VMAs from the mm. Using next as a temp variable as @@ -2757,6 +2775,8 @@ static int vms_gather_munmap_vmas(struct vma_munmap_struct *vms, } vms->next = vma_next(vms->vmi); + if (vms->next) + vms->unmap_end = vms->next->vm_start; #if defined(CONFIG_DEBUG_VM_MAPLE_TREE) /* Make sure no VMAs are about to be lost. */ -- 2.43.0