From patchwork Tue Jun 11 18:01:55 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: "Liam R. Howlett" X-Patchwork-Id: 13694096 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 73295C27C7B for ; Tue, 11 Jun 2024 18:02:31 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 9C1566B00A0; Tue, 11 Jun 2024 14:02:28 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 921FB6B00A3; Tue, 11 Jun 2024 14:02:28 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 6B0956B00A5; Tue, 11 Jun 2024 14:02:28 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0017.hostedemail.com [216.40.44.17]) by kanga.kvack.org (Postfix) with ESMTP id 46C8D6B00A0 for ; Tue, 11 Jun 2024 14:02:28 -0400 (EDT) Received: from smtpin09.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay02.hostedemail.com (Postfix) with ESMTP id E38EE1204B1 for ; Tue, 11 Jun 2024 18:02:27 +0000 (UTC) X-FDA: 82219377534.09.CC0E514 Received: from mx0a-00069f02.pphosted.com (mx0a-00069f02.pphosted.com [205.220.165.32]) by imf15.hostedemail.com (Postfix) with ESMTP id 94173A001F for ; Tue, 11 Jun 2024 18:02:24 +0000 (UTC) Authentication-Results: imf15.hostedemail.com; dkim=pass header.d=oracle.com header.s=corp-2023-11-20 header.b=gaYTCc2Y; dkim=pass header.d=oracle.onmicrosoft.com header.s=selector2-oracle-onmicrosoft-com header.b=HXdp6LXz; dmarc=pass (policy=reject) header.from=oracle.com; spf=pass (imf15.hostedemail.com: domain of liam.howlett@oracle.com designates 205.220.165.32 as permitted sender) smtp.mailfrom=liam.howlett@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=1718128944; 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=MFeZrFP/xFyu1t0ex0f/0sa0iG1XCbNnZL1kUI3f+xg=; b=exODRoGULBA1NqMQ6fgexPCkxRQBKnGe9ZADmbH1AuGDCGYODZ7Z/8NZa9PF9+OaVHMWO+ 9DiiSOP3Ktlj/QVkOtcU+xriE8rVCDcsnYC6MuSdiwbc1Sfz/sWZj9KYdLILOy2ewT0Ao9 DwBBxrVE++IxN8sflSmVovpUw8DUwUk= ARC-Authentication-Results: i=2; imf15.hostedemail.com; dkim=pass header.d=oracle.com header.s=corp-2023-11-20 header.b=gaYTCc2Y; dkim=pass header.d=oracle.onmicrosoft.com header.s=selector2-oracle-onmicrosoft-com header.b=HXdp6LXz; dmarc=pass (policy=reject) header.from=oracle.com; spf=pass (imf15.hostedemail.com: domain of liam.howlett@oracle.com designates 205.220.165.32 as permitted sender) smtp.mailfrom=liam.howlett@oracle.com; arc=pass ("microsoft.com:s=arcselector9901:i=1") ARC-Seal: i=2; s=arc-20220608; d=hostedemail.com; t=1718128944; a=rsa-sha256; cv=pass; b=T8ADua2cLv0fRW61BDKp02Q657F4cgZkU3w/LJ59i2HP1wsoU32XrpiIIMR6yuYZKezU/p Axz8k+DUwkeTf5xgYXbk2xyKIedGE0ToR+cNpVku70geEViLcydur6jboJJqKSbGFrUQBZ YBEsFAo7dOPsZfXODaaVU9BB2OU3hjc= Received: from pps.filterd (m0246617.ppops.net [127.0.0.1]) by mx0b-00069f02.pphosted.com (8.18.1.2/8.18.1.2) with ESMTP id 45BFhbwG012582; Tue, 11 Jun 2024 18:02:21 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=MFeZrFP/xFyu1t0ex0f/0sa0iG1XCbNnZL1kUI3f+xg=; b= gaYTCc2YJ8zz2hEutGdQfIQc1SnCUchJsnAPLEg5NceNoeyc2whM4N+rYbMHX6oY eNDB/8gorbnTHhzI1XL+R4BcEOpRNddeL+fK3ThyUnqHBRylLr0557fpS/cMoKK3 W7aJSud7Pze0XjcPHAzoMneeQ67gwtJfRTbcwBh1i3jvvQ47FoTIwbJMhZwprcwO faLHHOT9w4zv1Ku0YlEORygvWT/53ekoz0DuhWiQFIKOP/ZrX1cHWy2WaJq061gr 09heUe8nxirtRBkjQGb74BbH0YTwLpYyMgQwVC5l6BfUEG/dNI7dc+QpWgj5cf1A MdXAdDk3N/M+vyCEvigFfg== Received: from iadpaimrmta02.imrmtpd1.prodappiadaev1.oraclevcn.com (iadpaimrmta02.appoci.oracle.com [147.154.18.20]) by mx0b-00069f02.pphosted.com (PPS) with ESMTPS id 3ymhaj5fgx-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Tue, 11 Jun 2024 18:02:21 +0000 (GMT) Received: from pps.filterd (iadpaimrmta02.imrmtpd1.prodappiadaev1.oraclevcn.com [127.0.0.1]) by iadpaimrmta02.imrmtpd1.prodappiadaev1.oraclevcn.com (8.17.1.19/8.17.1.19) with ESMTP id 45BHw4A1036562; Tue, 11 Jun 2024 18:02:20 GMT Received: from nam11-co1-obe.outbound.protection.outlook.com (mail-co1nam11lp2169.outbound.protection.outlook.com [104.47.56.169]) by iadpaimrmta02.imrmtpd1.prodappiadaev1.oraclevcn.com (PPS) with ESMTPS id 3yncdwm7x9-4 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Tue, 11 Jun 2024 18:02:20 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=lxwR8A85G7L39lI2SciQ0aPiXEOfh6zSJcZESo1lI4q/FtdZKDULUiNGc+SGU6oVBVMNaM/JX7f45LJu/ZVJ3uEUGdhIbTZIi1vM9ZzrUkLM/c2W75s6aoB3B4tszyK+GRL6wcqcct3MOrs++KDlV/9Ewe7XQo6PR+petataIJ+5p6C8fD4Oz2fdjDomf71tKNw4YHUfimk+k3ZBdfs5XrLgJ5fStFqFDL34C+IK5hCqa176mDcgtImcP1d//tB0tOPFKu5kQ9RwQbgVJoE1KKer8R9Lbv+r62tWye1Hib3BwMHOXvqySmIczUoKwGeEJiHiUuwmiMt83mwEzK+z+g== 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=MFeZrFP/xFyu1t0ex0f/0sa0iG1XCbNnZL1kUI3f+xg=; b=CEYMwwUOVvBIGvL0/wzaGuEakuRd0MgJ7TeK+96g5s4K4Go43qIPnT+t/AUH2SUsXNNjRH6TkuC3s38sDxKO+2XU3bV0dqmkkzO0/BB7Rz/4ENyhQm5Lu//WZZzGDs94lu0wUpJB63mpQpZkHh2TfxYb7tWr9gPC6bht3NN4zjOfJwzn65FpgOGh2OMgy8IuXDUHFCoBsH7OpqlDf6n9txmnG58yGMAXsEsMEICcFD7Fh//wLU7U5vhgF95xUM9Pp+Ze1WYtHk0BaK2Um/r5r8rZ6HVJ8WQ7zJvVYakV7yQX25xjIVp2veysQwKTShkfw583uJ4sf2Ge7LlhphZRRw== 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=MFeZrFP/xFyu1t0ex0f/0sa0iG1XCbNnZL1kUI3f+xg=; b=HXdp6LXzV9bomxtd+vWVcUaceS8HM+wPtjwJEyPtuOODhwTp8gK1S/Oy7XVxIAsmhofY4tIdurx0veb286HCx6eJJwZs486gJZIBtDSYl/ICp0KubljAuQT/1XtzsJo1IPeBcmHmVvvcXYy1MiNP20OWcDIozPgkkwtVoiNCZfo= Received: from DS0PR10MB7933.namprd10.prod.outlook.com (2603:10b6:8:1b8::15) by PH7PR10MB6154.namprd10.prod.outlook.com (2603:10b6:510:1f5::15) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7633.37; Tue, 11 Jun 2024 18:02:17 +0000 Received: from DS0PR10MB7933.namprd10.prod.outlook.com ([fe80::2561:85b0:ae8f:9490]) by DS0PR10MB7933.namprd10.prod.outlook.com ([fe80::2561:85b0:ae8f:9490%7]) with mapi id 15.20.7633.037; Tue, 11 Jun 2024 18:02:17 +0000 From: "Liam R. Howlett" To: linux-mm@kvack.org, Andrew Morton Cc: linux-kernel@vger.kernel.org, Vlastimil Babka , Lorenzo Stoakes , Suren Baghdasaryan , "Liam R. Howlett" Subject: [PATCH 3/8] mm/mmap: Introduce vmi_complete_munmap_vmas() Date: Tue, 11 Jun 2024 14:01:55 -0400 Message-ID: <20240611180200.711239-4-Liam.Howlett@oracle.com> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20240611180200.711239-1-Liam.Howlett@oracle.com> References: <20240611180200.711239-1-Liam.Howlett@oracle.com> X-ClientProxiedBy: YT4PR01CA0272.CANPRD01.PROD.OUTLOOK.COM (2603:10b6:b01:109::24) To DS0PR10MB7933.namprd10.prod.outlook.com (2603:10b6:8:1b8::15) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: DS0PR10MB7933:EE_|PH7PR10MB6154:EE_ X-MS-Office365-Filtering-Correlation-Id: a2313aa7-bf69-4950-5093-08dc8a40a1ba X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230032|1800799016|366008|376006; X-Microsoft-Antispam-Message-Info: EuaLWRj/643FJY2QbPQ6May/cB1DyJenQ7nSHcsQUFQNWAEDkhQ6oPlW1Myo90lwza6irUUn6yLQvUhfX7kZEFeiRftzSFlqat11tqWM2n7+cYd4ZVw9CnS7NzmvW4aBCwxv+LTHzrMBVLbz5uuFtutXqDuHjmG0dp3MLbmPjXemcdTGrFUteZ3UMEeJQ2QXRqEZwqwjnMnQ1E2Y7K3qPG4u5Czq4KNK+j5/fM4EvwwAUYack88Y67oQo8GNdomavQYieQNRWeNXrYmp+MLc0uVJDYGR3zYi4nDkXts2ICZtVmIwlJQ+dSd/csMcdJoV7SEGA7SefUjoIUaAnSQx1pDb39hR0R9vuPZyrdE/S0pht2c2FM7LQFU/yUY6qjelJgFgsWPKOKtoLeghf/2l4uajZmGwKDFs09Hxx2NEYlkNUVCzieymSQNIayhc9jB+3uLaR0KFcwrTy03yc4NgRghVryXqXU2NTY6oPsb8NMrGjT42Fu62MZOfPWGjcpMmK0tcg4o+UeCJ2XjjRE9gRsJ+FzLnJ1z+XfgSL/cXKeNIwJVEB2reEACQDQwhOiESspVbIDzUaJm2OV5RiyuNkwNzuf/b80ZwvUwjIQVmetSPFO9W8Xm1Grh3T9LnUq4zK0e6DHcrFCL0G8ptNC2V+5NAUN2OU8G/neYNLSb2KJHGyFUsQ0M91gZuUyuQjRoBiE7zEFEVCDhDPe+YluvG4Q9IiUy4yLLjG3ltYwe++JqvVBmdBxsXqaazZZ+bKAGE5rEwQuDyBuRQVcZduywtzfqknpvWxK1WuS1efEdpjo10PpPZeKZgTYtvGvpOS25zCtBtG84B3KEYG9/w9rX3IGWQbYAVDCqgSjpaw2cX+EaD1bA57JrTNucbjC2HjSF80sv45rixZURULacU7Iqqyk/co/3KAN4/610wXq6chKzWX9cPgUlzmiJ/F3XTC6AL7vzQm4S4gH/vI4UlTCTrOfffC3fPZWdyAHXORUshkkFDVc0cboCngZHij4+3kbW4nf7aR6fHN7yYYBOMr11qoeI7NEhRJDlr4dojQ8d+uHlijn2zGLZPuxUjux2fHjCXiMPdTbr/9RU6D81DcOv5I+sQQ0R32dXznyWM0PZvoQ/yj7iiPG+QuH2d1K9G+lYDffy7PvedRvwkojCJg5r069pfiV74T20M8hg+3e2OeOneiex8+5QluSyRBrZzbu4RafyuNsXejohE8m0CHbinLWmnO2gYP6Rl3Dai+Sll/iMnRn+HdNBr8or0OVKBCRBSKbVpKUS9KS2hYcpTbZOe0hFWAibtV8D4XaP3i4TVB6zesqZbUZ0OfuvfFXHTe0S2 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:(13230032)(1800799016)(366008)(376006);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: nzUwNAFfUFjrcQxOC61TsUyS8q20dyMoygOxIgYjnnmbRqZq4Tfe8+6URvp9CoenrhH7H2w/teDXaQ+CVcdavNNdQNQBrBKND31Mjdawiqd6czcleE6T6Hz/dw7L0GfZNgYysYiFxQi3MN9s34LyEok8g7ReKP5A33LhfdT170AsfPEPXWXmf1I++7r9Kbt0v4sLUiX9aPSXQOWnJkl50FhBBnMLchHT/09rF3A/kDTmRdGObwXdUqAx25Qy7VUe7dlPYNgXW7hUlUqLSvdBoEpEKz9bbX39720TX0teypLAF1y/A9DyFMFwrXDZsdodJuA5NNu+dHonR74SMmsoippwR3ArX1moWVUA6tcbVO75HgUEz752lKevpbsHpYzI518Y1ksOCgNurNYZr1sNkZ6oGKMp2rznOm7QdwVc+7bUhjGDYA2WDDpfjPOy1s0lm7yG7UzgbWnbJOnmXpQzTtq9k/xr2MVEw8yZlom5S9j8g559cojnyyILqPB7Jg1QDlbP5jOAlUMi96CfzR/dMKNbXJBmghJrXk9GMztaL+IYLZTeqt3DzINghiJNnNx/4nK3IJutNMdwrSHV6ozXPL0Kb154tHrIjewS3BsI0ChhVTTuQ6cu0Jb3w2dEHncS+cJ9clQlgqd85HtK5oUsjYgAjRP0wuZSuqhcoeZrCny3Nb/iOKRjH2DRf6Hk6tX4lJGY2m8CBdjqBAZn8ea/51tjKDGlvbZCUxPiGxBwTNVFcU3T5ee5DL2KRkL2l1lPGM6Zkdl6gZl9DQ3/eH3L1puJvJNAatGABkNMq85ZWgpGJ2+9dHP9IYWk6AoRf2q7m5sP6dMAmOtR3FlLnP6rRBL696fUcvJ46rLUMcrXy0RuycKC6jqs95KXOnWxL4TqX7PKOlLhMiGPKZoz5N1b3rGe7t4n9+SbDFGbaPfWXvfMQeZN661FdWbw6AkqN2tw1JwIqb5a3lKSUUYqYoEnkOjNeV8XpYF4WZsrfNUNOhGVX0w+um5cbHtry2/bgLW2EYXaYB8DTRnhsgdupi6ivgcvs0iXbfuDPdhTf++gAi+QCianhYhLD8FdQ7fppl7quJIVq0f830yQgQn1tW/X7cCUknf5+6/4mOnAYq6EQnjFQ7/J1Wh3r86vmNdIs+/zTmw2MBVyWfTut9fGT71Qa8lOy53tCWTcoBmVmY8wSYYk3pwszks1H2IGbuwOx50dLx/aKCjYLYtL8r1mcMwvVOm0cQMUdJk0MofElFXVt7cxo5xotc5cTOtPGEg1gU1piJuy3PjOVReoO0lwvamsO9JFJH6hICpION+XPQfrJX0oZ0nIVG84YIf2ggO9Viszo4TGIq41m4+bqYxeB9weHLYJC+0YLJhGPVCsIQCOh2PdVOAvbepTsd8gFaHukCNXPE/2osUfNzoENln6RKdGvOKPA1CNtqKuq9uMPWVqXYZuVIdRrarPCOriYaecgzsiBg1aCUpLg+TnkJp+gS6V+8Qu7de9GYzyEG78V7GXUANu4llGSqVgWs02S76imJ8jWKEIM2aL643KUwwzERNwDDHMBzA0by68lagDk6jZVef0kjs1WEsJAVMvGV8lamC4 X-MS-Exchange-AntiSpam-ExternalHop-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-ExternalHop-MessageData-0: UOV7kouxgIy0GFX/4Atz5gzQrlxH1DeUG4eKhAOQktjYEybGFsDFF1HkWe/GE/VuiCJ6ATGJ8rltbJv6i+7hidxmUNJsjgn0p1KP8BEIW7uKYY0QpXzzo9tHRRgsAwQdOZUTCPoqe01Rxy24Q6+W+vXg2N56E+MkI2T0EOO32Oer4Badfz8x6NuOhBWO4U+CGngN8HktlWlsA8Flsi7XUK51j8z0l/V9RTSySiPonLXN9QtidS9jIn8tSpoF6nq9GYjpiKHUoZUU6OKRNC79oQmn09f4+j/NWiJzxAl0nX5v8/+vBNsiHxhCAGDR3rKf07oOWekHo2NzlPPVz9wnUna34VyCcrS33mYTcDpnLwv/s/PFQ15UizWoE7UhKgtYY04Y4qPpEfGgfCU4oYA8VteB39aHhm8I3UkgBBf+G2TF28CvsCrZlBIDzkW0vNBwJqdBHccdt4WP3APF4hVS9bA7FGwSRycrr2QLAXV57PK57/+K79/k6W6mFStcVBHeqAZiYwG8pRuNNbhAQbe3lEADx2QEZzCJmVHFewoH2HNz44b/kGcdtG0yoo2LGC74B2s2uW0Zi0B0u03QbdSJqtpKCSUqfk0Qz3S08qnKkPw= X-OriginatorOrg: oracle.com X-MS-Exchange-CrossTenant-Network-Message-Id: a2313aa7-bf69-4950-5093-08dc8a40a1ba X-MS-Exchange-CrossTenant-AuthSource: DS0PR10MB7933.namprd10.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 11 Jun 2024 18:02:17.6861 (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: cv7trV8GOVVAjzCe+hqwlHJf1xr5aaJDHo1DXOZsNEUXXy5xWJieEL5J4mWgeqOvzqT1JHJGDMKsq1utvYoA8w== X-MS-Exchange-Transport-CrossTenantHeadersStamped: PH7PR10MB6154 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-06-11_09,2024-06-11_01,2024-05-17_01 X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 spamscore=0 phishscore=0 adultscore=0 mlxscore=0 bulkscore=0 malwarescore=0 mlxlogscore=999 suspectscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2405010000 definitions=main-2406110123 X-Proofpoint-GUID: m1-PEulBQsaQj4vb5Eaw6YtEwU4Llkma X-Proofpoint-ORIG-GUID: m1-PEulBQsaQj4vb5Eaw6YtEwU4Llkma X-Rspamd-Queue-Id: 94173A001F X-Rspamd-Server: rspam10 X-Rspam-User: X-Stat-Signature: mojcjg9b6sd9zr6695hwhzmanbenagcz X-HE-Tag: 1718128944-167476 X-HE-Meta: U2FsdGVkX1+34kVQ94/wxIZLOfm9TJT6Q75BqevHfi03VKqaJAal3T1yL77gGZd6LEN1axqIC8HPt8TjHrLyv5y5Fo458M6zkmuBnfJgwedBL9P1qOpWKddlUSOfQXZ9U8i6xH7DDYwVayHR6XbZTq1nWN82iMYGo+rvdofVcQEwVQ9Wp0IwS3gIxxmRrD5lgY/gKQZsHrgP/aL9CwT7p7v4KRKzf56emZEyELBrq9BTk6LZ3VZX9gOopa+Y7f6Jj5/V628y8DG6N+NqUwGHak1TegSpUDyIR7rZDM630EVLQfVZj0tGcFJi72VNQ9HaAurQlmeqADK9aRgi25DLPFvDARniLmKCkPt9GlJJkXGWNvNoydkIvwSNJ56x6/mJESD39+iibwsRqiykFlwu5Iy6YJo6Xh1O5tlQO0tJefU/UGFqGhc/63Q3Scw81vn5hVQ+qH00J4piS5/06dJHzkSddOW3lpwlJxOhMELRxkJHeXqpSWK7Mr+8ZoTmnDPMAIzvy8PIzUckW/KtCv8ak/kzd/RLuSk5xz53V7PAptCak0mPDy4m6XZnvKMPIn30zislBPwetjqQdvz+NvXZATN+DkdIwLdktR2wR917oyr8cBmSZ+C1g8LS9qmGsVg6oJnQ6s4Qz4LZV/FcaRCAN/6NwVMuGqMKrH6KZKKUwTGgAX1SWZmsdi4Iaq0q60OXg3D6/3iAVyMBlASJtDp2a4vvbd80PXdyup7cC7rRsy4cPdej5dqYz799FzfCuOhCjEBtZ1897znWtSA77+9HPOc3NqvwAKs6gu6IelqtNde29qj2lLI9/z3v/c0DbsLkZS0sMTIcev1mD38pLkzQFC9Hwivkt7xdyD0n5D4vFdIWp3oBsOBNXPtkXTuGuKgjx2XwPwzEAq6dopJYMR8KxG4fKbc8kU/Xkg3/tX0cu1FNu7vEc/3BTk6IweNmU4LwQ6WSVRWUah89OISACo3 okggxUsO ODX3HvGOEa+c8e0ZaaR5v5Hcr6GmBRNo36cD2mSQPk/s01t7qj5PpngCJxaKTrrUOOpjLov+AYPMzjsxOn8gcbifytRvasa3ceu/ZUlz8FuI/ztDRXbcm2dnMZFz5MoJf1GCF7UjdO3hAPEjV8/E3UvdjWG7uhYJfgB48KDQnESKzpHUR6ponfPcyi1q0N4N4u0I4RUgLwGsvEMklDF/6gqgauyEXa+XgP9dCoUsO8j46O5GdYdp+XsKQCE5S695pp5XFkRztEpPGHtFkwsB0onYy9Dr/6bd4eH+zSgDp7un05JwiQ9sYfJFslqG/06x5fGlHUs04YZ7PgtVIHr3mdkCDbUoZaDp5jWUW/kbH/5uxtRtcbzGoXO6aKqhUNWGYyShDs3I5O+pa5MLX8yW138MiKUlPAaDowaDV/LGeUZKMILnSrIUnIAp7BrW3Jdbxiygzgg+Qjphsuz2Y3h3wMkVy8g== 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: Extract all necessary operations that need to be completed after the vma maple tree is updated from a munmap() operation. Extracting this makes the later patch in the series easier to understand. Signed-off-by: Liam R. Howlett --- mm/mmap.c | 79 +++++++++++++++++++++++++++++++++++++------------------ 1 file changed, 53 insertions(+), 26 deletions(-) diff --git a/mm/mmap.c b/mm/mmap.c index bcfcbe006b1e..01bef2f7af2e 100644 --- a/mm/mmap.c +++ b/mm/mmap.c @@ -2564,6 +2564,56 @@ static inline void abort_munmap_vmas(struct ma_state *mas_detach) __mt_destroy(mas_detach->tree); } +/* + * vmi_complete_munmap_vmas() - Finish the munmap() operation + * @vmi: The vma iterator + * @start: The start address + * @end: The end address + * @unlock: Unlock the mm or not + * @mas_detach: them maple state of the detached vma maple tree + * @locked_vm: The locked_vm count in the detached vmas + * + * This function updates the mm_struct, unmaps the region, frees the resources + * used for the munmap() and may downgrade the lock - if requested. Everything + * needed to be done once the vma maple tree is updated. + */ +static void +vmi_complete_munmap_vmas(struct vma_iterator *vmi, struct vm_area_struct *vma, + struct mm_struct *mm, unsigned long start, + unsigned long end, bool unlock, struct ma_state *mas_detach, + unsigned long locked_vm) +{ + struct vm_area_struct *prev, *next; + int count; + + count = mas_detach->index + 1; + mm->map_count -= count; + mm->locked_vm -= locked_vm; + if (unlock) + mmap_write_downgrade(mm); + + prev = vma_iter_prev_range(vmi); + next = vma_next(vmi); + if (next) + vma_iter_prev_range(vmi); + + /* + * 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, vma, prev, next, start, end, count, + !unlock); + /* Statistics and freeing VMAs */ + mas_set(mas_detach, 0); + remove_mt(mm, mas_detach); + validate_mm(mm); + if (unlock) + mmap_read_unlock(mm); + + __mt_destroy(mas_detach->tree); +} + /* * do_vmi_align_munmap() - munmap the aligned region from @start to @end. * @vmi: The vma iterator @@ -2583,7 +2633,7 @@ do_vmi_align_munmap(struct vma_iterator *vmi, struct vm_area_struct *vma, struct mm_struct *mm, unsigned long start, unsigned long end, struct list_head *uf, bool unlock) { - struct vm_area_struct *prev, *next = NULL; + struct vm_area_struct *next = NULL; struct maple_tree mt_detach; int count = 0; int error = -ENOMEM; @@ -2687,31 +2737,8 @@ do_vmi_align_munmap(struct vma_iterator *vmi, struct vm_area_struct *vma, goto clear_tree_failed; /* Point of no return */ - mm->locked_vm -= locked_vm; - mm->map_count -= count; - if (unlock) - mmap_write_downgrade(mm); - - prev = vma_iter_prev_range(vmi); - next = vma_next(vmi); - if (next) - vma_iter_prev_range(vmi); - - /* - * 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, vma, prev, next, start, end, count, - !unlock); - /* Statistics and freeing VMAs */ - mas_set(&mas_detach, 0); - remove_mt(mm, &mas_detach); - validate_mm(mm); - if (unlock) - mmap_read_unlock(mm); - - __mt_destroy(&mt_detach); + vmi_complete_munmap_vmas(vmi, vma, mm, start, end, unlock, &mas_detach, + locked_vm); return 0; clear_tree_failed: