From patchwork Wed Jul 10 19:22:30 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: 13729599 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 4BC9BC3DA41 for ; Wed, 10 Jul 2024 19:23:46 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 6AE096B00A3; Wed, 10 Jul 2024 15:23:44 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 65F3D6B00A6; Wed, 10 Jul 2024 15:23:44 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 329876B00A5; Wed, 10 Jul 2024 15:23:44 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0015.hostedemail.com [216.40.44.15]) by kanga.kvack.org (Postfix) with ESMTP id 15BF06B00A3 for ; Wed, 10 Jul 2024 15:23:44 -0400 (EDT) Received: from smtpin05.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay01.hostedemail.com (Postfix) with ESMTP id 8F9981C03B7 for ; Wed, 10 Jul 2024 19:23:43 +0000 (UTC) X-FDA: 82324817526.05.790923B Received: from mx0a-00069f02.pphosted.com (mx0a-00069f02.pphosted.com [205.220.165.32]) by imf25.hostedemail.com (Postfix) with ESMTP id 1CF2CA0023 for ; Wed, 10 Jul 2024 19:23:39 +0000 (UTC) Authentication-Results: imf25.hostedemail.com; dkim=pass header.d=oracle.com header.s=corp-2023-11-20 header.b=AisKz+wq; dkim=pass header.d=oracle.onmicrosoft.com header.s=selector2-oracle-onmicrosoft-com header.b=Vvf6Djwf; spf=pass (imf25.hostedemail.com: domain of liam.howlett@oracle.com designates 205.220.165.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=1720639404; 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=vBrw4cpyDlw0oCxrS1NpsHrvh6il04b/OpjjP2KEzV4=; b=AcinqWVUGphsNLW6eM2k15v5H0zvyoTMAMYT1z1zo9cI8Tb7CzxGY++Tw9zM5A38Ucr9xM 4TG0vJl0uLeAxslU/OD9kL1VOeCxkbpYSBE3mX3dAyVmJVQhLQD3YhQwlXAHPjc3WiRbhx UpNwqayxPbYtLbgouvn9nMoOywR6a4E= ARC-Authentication-Results: i=2; imf25.hostedemail.com; dkim=pass header.d=oracle.com header.s=corp-2023-11-20 header.b=AisKz+wq; dkim=pass header.d=oracle.onmicrosoft.com header.s=selector2-oracle-onmicrosoft-com header.b=Vvf6Djwf; spf=pass (imf25.hostedemail.com: domain of liam.howlett@oracle.com designates 205.220.165.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=1720639404; a=rsa-sha256; cv=pass; b=6e1JOncB0ec0mxEcYu6Dup/WvWXubKt2kiyRyYFWgjl1VCGwatSk29njY6YYRQ4T5Qmn8S P1VFDoe54xfZKuVT9HvYBY0wCTLwN4fiJV5DC8tDiDa8aYTU5VRlISFsY75M+C6CBchet7 P4Ah/nOYlAwFiEbGkEL3D96RphCtx7w= 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 46AFg0oQ013740; Wed, 10 Jul 2024 19:23:30 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=vBrw4cpyDlw0oCxrS1NpsHrvh6il04b/OpjjP2KEzV4=; b= AisKz+wq9Ng64Y2javiEQDQz2wpmTS6WjtK/hTSmmKe1OsM1xvm3BkqnxtwdvzBy glMDJR4bZ/LC3PqAaHk0fCHHKEgJkFBgfbrLWPfKLnsf14xk4wLHlJU1MeAcwH3H B+/u/iYfSy33tRF1HfKpVO7BypMoD8OiI5tC1xF1ZQTrdlwX+bwdST0VOwZmKZuM XlpJu/QV0np1ND0QYyUilQQMeV/Io0JOAO0gyE2z9hC34iInt1DEwrRQHsiZngPh D+bREp9C1JWTuae9UvQdUsBCeF03+rlYT5gO8Kxjxye8V26rFN103RqDmCqKAeyE 2NSfXLzLgFDyGvurEDEXrA== Received: from phxpaimrmta02.imrmtpd1.prodappphxaev1.oraclevcn.com (phxpaimrmta02.appoci.oracle.com [147.154.114.232]) by mx0b-00069f02.pphosted.com (PPS) with ESMTPS id 406wt8fy0b-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Wed, 10 Jul 2024 19:23:30 +0000 (GMT) Received: from pps.filterd (phxpaimrmta02.imrmtpd1.prodappphxaev1.oraclevcn.com [127.0.0.1]) by phxpaimrmta02.imrmtpd1.prodappphxaev1.oraclevcn.com (8.17.1.19/8.17.1.19) with ESMTP id 46AIihM8033699; Wed, 10 Jul 2024 19:23:29 GMT Received: from nam12-mw2-obe.outbound.protection.outlook.com (mail-mw2nam12lp2042.outbound.protection.outlook.com [104.47.66.42]) by phxpaimrmta02.imrmtpd1.prodappphxaev1.oraclevcn.com (PPS) with ESMTPS id 409vv1948k-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Wed, 10 Jul 2024 19:23:29 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=XUqw7ahr7P9MgzcaXRpmPVSR9GTHTbR/mST/88ziAko1T8BqYqB+yrzM/nnnhfBb21C5R5vpfj7eOsIa4IpruIdaDOVyIVotqXmnYE4cWBjrFlKW87wuteUHuxeH/9zpAyKNwyrzS9wTUFitLCTcz77KJCln39z63+FgoWnAwYj/a0dK89gIyDPIXk1A/9rM+9pdbbE9SElC4WDY+2KgmNx+LGF/1aV+6upAsqthdap4eM0nETBplfQ7wX7dW8DhUc4dXAl2L/f+/MNkr48mQqIqUeYYyXMPSsZVfSmI6Lscz2XGMfXM4EpcBca+LolRtjZH+ZLTE9gT3wKPgXBDSg== 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=vBrw4cpyDlw0oCxrS1NpsHrvh6il04b/OpjjP2KEzV4=; b=K/muuysjbYIYkVDFiqb44OWFVVN9dAlShBHoOZtsl8QnmUQeYqdB+H5sJxG7RLdJft6dgOaKZZbRQPB6sepjchh4G6lUIBcyatcVGJqyfaoHp0a8Y4z+FsNUYA26zXY2fAQJi/nXQa/IPTkrTxy5VKTgt4IJGbmXg1iK3N2OJAQfx66wTw5yHXKAZePYHNF+zCYKocsk3Fbfh7NOQkoEyLke/GOfBJtf8Z7b4s7D7ysW8PrIVG65mdaKoC0FjB91cspgE7lgfL9mTEErQarAtVE5FIhwJOHPd9IDcu22+FTDV0j0ZodpH+Jk3XN8HW/IxlJ+8APnhM/dt5yUl4AKYw== 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=vBrw4cpyDlw0oCxrS1NpsHrvh6il04b/OpjjP2KEzV4=; b=Vvf6DjwfAliZDYc9m7aL1ZLHKlFGeQwwXXTIHtd+GJ/a0sPtm4FI3wNAinN4+wY5hARulj9q4cx0ek+nyqD63C9YwuDa8ZZ7q5ip/L19szMtQ9zonhjb+pp3aLk7YhfptLlQtdweqGQKck+8eBg19L7qqXgY4U8ZxJbWITt7G94= Received: from DS0PR10MB7933.namprd10.prod.outlook.com (2603:10b6:8:1b8::15) by DS0PR10MB7295.namprd10.prod.outlook.com (2603:10b6:8:f7::5) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7741.36; Wed, 10 Jul 2024 19:23:00 +0000 Received: from DS0PR10MB7933.namprd10.prod.outlook.com ([fe80::2561:85b0:ae8f:9490]) by DS0PR10MB7933.namprd10.prod.outlook.com ([fe80::2561:85b0:ae8f:9490%3]) with mapi id 15.20.7741.033; Wed, 10 Jul 2024 19:23:00 +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 v4 01/21] mm/mmap: Correctly position vma_iterator in __split_vma() Date: Wed, 10 Jul 2024 15:22:30 -0400 Message-ID: <20240710192250.4114783-2-Liam.Howlett@oracle.com> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20240710192250.4114783-1-Liam.Howlett@oracle.com> References: <20240710192250.4114783-1-Liam.Howlett@oracle.com> X-ClientProxiedBy: YT1P288CA0017.CANP288.PROD.OUTLOOK.COM (2603:10b6:b01::30) To DS0PR10MB7933.namprd10.prod.outlook.com (2603:10b6:8:1b8::15) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: DS0PR10MB7933:EE_|DS0PR10MB7295:EE_ X-MS-Office365-Filtering-Correlation-Id: 7d66c9d6-3a79-4840-780c-08dca115b66f 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: NyG7XVwGg4K0zz3f0sgcJjBA3QvA6haV/QmejHWgex0sXiHrGcYhy7K4XyOBxqfQ9SnTyZVsuCs0r5ODuZ4hneQsCNNIOIzSOLEJHW9lt5fLEbGWD/I9nQy4E+Bg90x5fW//QnrHVE7ASzMzKSNJghO756ora64HtTGsxLotkFyYy1EjhX2Xf7ylyaaaGKdb/mZSoDFpLkHe4D0neWTYvIZvE5j86KPgqekMun6rBKyYkwcCN9tmkBzRBqKpGBby6VZ0tyG4zqwfeMlOvkOy7te/o5GbobtGhfg9fW8scJ8qFsvMdBjGY/mlsVX+3RGVpMFioDO7scT/jXxK3VHNvoSEWQmEDVCrbx4s5DbkufCkf0AY23mSvoigIsDpYTtjw1hqAzHN8mO/awgYtdyT4BEvYqmNOgGUG6DJ+0fEdGe7UJp9qRbEGEK1DHc38UbQEqzJu9xEYGOf0iGbjQDULVEQTDoACXfDHqTjth1/sJL9/bj8+3wVsZB3Yivi9A3PeMCR0tnSaVn5/RWbpvV+L7DaU1Ytu3stB6JiuI5VHDL+ZdWDad8+Fx3ta9GXT6MMlVbaBAZvR/58jAoMaDBnNJikyd5TLzT/ty+1vVtHobx3OwjDwktG0DJnjLnaU4Db+9HDodi/Wqc0rxBvXDs60ZDrJKn9ON04s5iz4pQvC2jeqZBjtMlJ8bJyRzKmElxsoVXsxJYg4knPRy1W0WwCO4a9xo5iFLg/BotaL/YwOgvSI55cwfLd01QfNLugBUEVfQOJkd7sNO/++RWYKv0o8pzkkeOCUXw9cFd65rIrfk423LWQdXsCDST/0IZdvkviuCKjrCEK2jqQbY0/YRLRYJKMuBjvVPipEsmY/lGf9YVYBtSPrL311x3eSg2rUVzZOnH+0shMPjZeABHDaYCIXATcqRzOXvvF96Z6IZ4YIEZ578z8pHEtb2gv+3mb513rbVyceYkRlH+esMXicZiujGKgd8p3Rn90IeVi9EKsyQtl6CyZaTvHcZEDF9qnMx5DVh+aAVnnuI/+qCMHPwD3rgEC46ns0GHYLu0pc2Xn23LZHuCZ4hBcTHQAI2Kq43qnhG0x8s2LYmFq1qHALSuaAe+ZNnGJJGZtq0z77csU3R0WVSBrqfriyt7akYexRzhGQeEsVQcCT3wUQeEXh5o7MI7ScqJwu89tpR/nu4YvgtTM67M+Jnr/sKIo3MtT5EQquSHa7yM6zjNTa7uT4MR83kiHXfvi3LcnBV9m+jcE2sksK5aoze4mbvOeG5Psmju+mJSA3/HylkqMWmZjx0RuPYnOuf1hdO55urJyaBfajMQQiFkiZ4dlBwwyZmx5lxEErb5xvs6gpoBsArbDuzfktQ== 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)(366016)(376014)(7416014)(1800799024);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: JTTfaMiqjVhFXO4sSfpxG3o66WsH3Q313zyBqcfzu3e4B+2FqaWmqtm4Z7Ns6UHMevMNJVlCxt24N8aE7M6KTCdatRYYtuFRGUWd17ZeI3E1ZR/ORWC+kcHhlhwZYKQjrbjD2t1FLCxpR6mL1qVSfCd4dN1ilSXtWQtyZCOF4TMLT8KRhs2MeLokVXRYbooU5VSd9Y9cvZZ2T+FNVX5KvV0S6V/sAmt2mvavhv9GB6V6KBIKbrWRoD+SYiuSdbqkhkqb31MDJ/O5fqAXDgR1dM+l14aid+5EGDfexTGtxVI9jtxRfjIFVeozJwbAQzSqCSX+BtCAAlWb5YhAmHlEn5kUVopt1kZ0Eb1OTBqbGv0+kOzvb2FY3WVqsBzR37kULL05Y994MIECV4Yyv3Kc9K2riSYq3nlMMOKyW58F9SbZ5QGYPbKKoJ74E/Xdz2wLLVuskURTcX4ULDkBQY4hsNa/+d6hTztsHuOeJ6BkkH9J6zCHPJidnsIm9i/z0zoycfRAA5HPO1dmTZO1QSpSffOjTaNYd9hSfIVJ+6oS4P76Uh0hCf9Z07xTjUZ35oy2F0qMekYCNfHeq53zp0OFEMIjZeM3ZSUBmYvywKpPMJkBOJa1SoH7pGUNROQeebb2mYQQ8fa+S+6PJXibCtbmLa9wDp8EVev0j/cJ0FtwvV3cHlqjIoSc6Wdjz8QYQHzGHx2f64zGQREmdWkguKzC8YB9x1f8eNJeHI9tfT5tZeXtyKAStvVXMBYkC8x7dPtoM5QXhYRtCr1xM0op6oINKizR5b9/JUMK/g+OeSSM6DvACmYRCrAHjX0TT8CTtXWbkf1xG5hexW4hXNdzIThM1U89bmyu1CieZwtzSH8R7iEHsYUaqD9sEtaPYF/zYz8S0mYLqIeVjOLp/46v+B2wWlTuusvTZJ5z4xa2WI0s93RmDRQwWbx6+1xnYl07ikcy+gOCMNM4wiNFOFWlFPPeuNmC13sSEgjqiVPQjnD0ldMEzrL4IlGqx4mYZ0l+cmf5unLunQR6Kuhx5VEOlaosWB+rkpzCxQxhNmFEn5FSS2mdh29+9lR5gXX8tLjDpNDXV95cdgbMxXJ0DNDMNxhzL/obguQK67DcovwDlYy1MFjJFtmiLulmzqu543XoBWXihA6IrC9LlTaRqyB2iIGDJcAtFqYQ7TH+d/xpsYye4kJuVxgRwlPkM46SbPswICvjLit1gcckIBaX2bEjEjWt8NScHh7+rgm3/FusHtGak1ox/l3V1Mt1+WzcdhTt5r+MOu5Y4WHA7syA7sakKqJOerkG25A7p0Yi19+tD3htxu3a+qsIR3tqQQPFzMzljye0LIA2FnVGlb7L9RYaEABw8ijKH/FMvq+pYqlCXrn5Gud1IcYbxxZP0NO0tBr4BKQzqJ9SerQcB8H7SJks2tpXOzANvP+P4J+0GFejdBVZH+ASFKq30kQUEKF1xhQCEfpgr9rQpQWHcYnGAaT57/bG7Yj3gJg6Sr0zSusVC2Mlffmxodu2JAKCM2h3EDtElPLx9hmWQkJTaitmSlGbRXlipft3iscAc25MmvXYeee3IyTp9n/ab1z9Q1KWSv+eirWtPbR4EXBKcShZRBBtkDhfYw== X-MS-Exchange-AntiSpam-ExternalHop-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-ExternalHop-MessageData-0: CUrOojd6DvH+oDAUHYka1kPdw8Djn8W1cW1c25uVolGB2DFgPcpBEWxbGbfLyrvAXqZF/z+bGm3YKTPH/bEaX69IJ++87vI5I33LRSQ4crB5zVga6agCCCvFMF4VBEI5hZIo9WdARF8h+WZ3BFOfkKw85fayDItNhcn/fY8stT9in0RhiZ1W4SwzgaJsAPavIdOB+ttK164mZHsHR0IArag0sfSKtkCy9xZwtbJ8zUAu5S2ovCDlJxk99BFvmF9L1Z5DMZljgDGnQiPb62gfYo1FYKAxaCsRc1Kn/uhJJx5mw0xUgufXvI909VqmdU83BswiB2mtmuYcjtkX3BBjxVH8vole7169koJp7Vkloi6yuLJrRQR6A5ZOm16lgj6osPJ0psd9nyRZRt+A3HX/i+wRnImkNCgZRJSM0kufaTCSpsCfYd/3V91rIUoVHsO8SQxr2lnq2lUSb23h/TuYT1GmGGI4jq6J1Lq7VTwGOhv+kbC3pJvdjW4O++C1IrbIqIOZSfyBW2P2GFBhcth/NRFxdS1XlAOug+w5uCmCypuLuppdJp8KUN02D0beFTwQZK1tA0ApTxMacNnbfFOUovTSp2ZAnPzKjf0l1D6nF14= X-OriginatorOrg: oracle.com X-MS-Exchange-CrossTenant-Network-Message-Id: 7d66c9d6-3a79-4840-780c-08dca115b66f X-MS-Exchange-CrossTenant-AuthSource: DS0PR10MB7933.namprd10.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 10 Jul 2024 19:23:00.7679 (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: 0f544kQS7ZjVqtGYrprWRTIh7OXSz7pHBm67OgMS3cYRsQ4CdoWIO4RdFTgxIpXB0uXEYqHvMzf1Ka3ksSoiNA== X-MS-Exchange-Transport-CrossTenantHeadersStamped: DS0PR10MB7295 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-10_14,2024-07-10_01,2024-05-17_01 X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 spamscore=0 bulkscore=0 mlxscore=0 adultscore=0 suspectscore=0 malwarescore=0 phishscore=0 mlxlogscore=999 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2406180000 definitions=main-2407100137 X-Proofpoint-GUID: 98Av-8JnF7c0EWe__8ABiz7w6p8sP37- X-Proofpoint-ORIG-GUID: 98Av-8JnF7c0EWe__8ABiz7w6p8sP37- X-Rspamd-Server: rspam03 X-Rspam-User: X-Rspamd-Queue-Id: 1CF2CA0023 X-Stat-Signature: bf6zx3bjm95zrf9hnncbs76raph9w1mk X-HE-Tag: 1720639419-429828 X-HE-Meta: U2FsdGVkX1/5+VQHS0honCDfWnrZqPCH/7R1/7i+gySVPt/ihaN3/i4QyDGoF/w70lIYuYKZJ8aRjlHiRe1GnQvy5usDb8OXWUpgVE0dCjRUMaOvmRugr2TPM2tg3L1BPpoORf0TNI8F4rsEvETqeH5V6etNW0MYNMFFdXzoQBjA0EHCVDS8wyo8cE5dVMCH8Y8PkbD34gNjlhVpB+ksym/l0WQyVlze1q0zEATak49NK/aSLLh5T+tZuUCfjKbeGAyDr9PsR/14kxsjWoayGYg7Eut48M6s8XJ8BFw1EMfVjNcKewQdUobuPTdL23tCPSLttUz041uoW5mAv1NV971JJI4Mca9MfWL6VUKQ8E8wDfbBvheQBualrAEiOhw2xghMJl1TWkcoPrzB23m7ZSGWEr46ImII5dZ6nrSX2N5eX/JNN9B/CHnsV0XEndoTri5sH6bZnbL3j6T1jHTsXAr+Vc8BLe5kDNhCIUnFZRTtBpgI+sWOE77N53EoDFNxGpM8/KMNQ7v8tuG1t8ClSBPyh+osd6DVOEAm/lWh4vjerAnhxqHPr6LzyBMBZCFo2ahTl9Uy4PhJf6I4E/gI0uEYjjc1kmfMF3ozUf13E4BSu0V+dCPOYYwtRKoZ/ehvtq6x1gGwDvAWg0LPmnenRKw5IjcsAzt7lQkCzgXJEnAjX9LR6H2b5QegQugbTIULgAymk1AR4IJTrvj3bTmA2p0V2oyd2k9BtVSl3QKX5lFm1cEwCY61R5QXazGxDxUneXFn4fY14IlafZhXTkmPmTHR6l6lWh5nRivoaYFe72zeGE6uNyCTqvxP3ZGHIKNQdDayJGNo7LzA2k46PoxY6K+XNR7CiwLhDghVB7NYpEEO7mLtfRonwBHQY3bfQ5dxCYA7DvnaNdY9/D2XXBMeAuse0DGyF7RVm549gBSbIGwkkl2jF6LADk15XBc+KIediWqI/Op1E2/dUJrcbvM Lz5wxmTC x9hNOCkaLgmx1qfPuakRk+QXJgfbLTPkC8DMyG38VnO9wx4AfD/hqf1uQghYeWlBMN+f7ASdd8CVgfSnoUiLdpeaYN0AVEwSzKz5NmEDDTNdf3vy21UyzMlvRHk/Z8hlsoHQSyj2DmPUEWg/iR4/fNySAXDB8gkt4LlSp/VyZec5n8g0tfNA5ny3wWFQW4xVBWi7FZ+np+PBOLgPZdwwQMWpzaguY1gbgwgKzM871XWZvJnyxc4AMQy0nqLoL/EQWF4rst0U7wBqdsQN6sBEU7CvDIakl4MYvMK6lWmGk1nCj0IftE/UpjA4E0xafTEhUGGoRvL/aAmTFPEeTcpj24i23XCzrtXrF8sD/kQk40A4o+o4bMAujelFipjhwe/LKv86sTh6+bh9AlXs+OHAR9JD6ICrSeY2Axm/x9ABcPMVmTZVIDLBPCd1nXT12pFd3Z+v+TJBbevkw7P0mUirQPf+dQCVCXfFNhqDtdALG3gekOPlA6YkSJJX2R+3/98cTqRts 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: The vma iterator may be left pointing to the newly created vma. This happens when inserting the new vma at the end of the old vma (!new_below). The incorrect position in the vma iterator is not exposed currently since the vma iterator is repositioned in the munmap path and is not reused in any of the other paths. This has limited impact in the current code, but is required for future changes. Fixes: b2b3b886738f ("mm: don't use __vma_adjust() in __split_vma()") Signed-off-by: Liam R. Howlett Reviewed-by: Suren Baghdasaryan Reviewed-by: Lorenzo Stoakes --- mm/mmap.c | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/mm/mmap.c b/mm/mmap.c index e42d89f98071..28a46d9ddde0 100644 --- a/mm/mmap.c +++ b/mm/mmap.c @@ -2414,7 +2414,7 @@ static void unmap_region(struct mm_struct *mm, struct ma_state *mas, /* * __split_vma() bypasses sysctl_max_map_count checking. We use this where it * has already been checked or doesn't make sense to fail. - * VMA Iterator will point to the end VMA. + * VMA Iterator will point to the original vma. */ static int __split_vma(struct vma_iterator *vmi, struct vm_area_struct *vma, unsigned long addr, int new_below) @@ -2483,6 +2483,9 @@ static int __split_vma(struct vma_iterator *vmi, struct vm_area_struct *vma, /* Success. */ if (new_below) vma_next(vmi); + else + vma_prev(vmi); + return 0; out_free_mpol: From patchwork Wed Jul 10 19:22:31 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: 13729597 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 C8350C3DA41 for ; Wed, 10 Jul 2024 19:23:42 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 610106B009E; Wed, 10 Jul 2024 15:23:42 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 5C0726B00A2; Wed, 10 Jul 2024 15:23:42 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 412706B00A3; Wed, 10 Jul 2024 15:23:42 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0014.hostedemail.com [216.40.44.14]) by kanga.kvack.org (Postfix) with ESMTP id 2347A6B009E for ; Wed, 10 Jul 2024 15:23:42 -0400 (EDT) Received: from smtpin19.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay05.hostedemail.com (Postfix) with ESMTP id 980124022F for ; Wed, 10 Jul 2024 19:23:41 +0000 (UTC) X-FDA: 82324817442.19.EA8A973 Received: from mx0a-00069f02.pphosted.com (mx0a-00069f02.pphosted.com [205.220.165.32]) by imf02.hostedemail.com (Postfix) with ESMTP id 486E180015 for ; Wed, 10 Jul 2024 19:23:38 +0000 (UTC) Authentication-Results: imf02.hostedemail.com; dkim=pass header.d=oracle.com header.s=corp-2023-11-20 header.b=iXqu4pEL; dkim=pass header.d=oracle.onmicrosoft.com header.s=selector2-oracle-onmicrosoft-com header.b=KGdvoCN9; dmarc=pass (policy=reject) header.from=oracle.com; arc=pass ("microsoft.com:s=arcselector9901:i=1"); spf=pass (imf02.hostedemail.com: domain of liam.howlett@oracle.com designates 205.220.165.32 as permitted sender) smtp.mailfrom=liam.howlett@oracle.com ARC-Seal: i=2; s=arc-20220608; d=hostedemail.com; t=1720639394; a=rsa-sha256; cv=pass; b=3z1nasXLoPd1YLoCeH7ELDJy+m2YXfvzjX1yT13yyn6hKOrK5s/1K4B8oaMRD56nhF5Z7d cjFnWb6DSDjqA0kjJfpSrBdDTQcxJy6Q4yfHT8eW4eKzK2X7+s/c+hFUlwCHDqsYzpZcUb jgD9jk3hs2VFtGv2BQYFfzGJppZESmY= ARC-Authentication-Results: i=2; imf02.hostedemail.com; dkim=pass header.d=oracle.com header.s=corp-2023-11-20 header.b=iXqu4pEL; dkim=pass header.d=oracle.onmicrosoft.com header.s=selector2-oracle-onmicrosoft-com header.b=KGdvoCN9; dmarc=pass (policy=reject) header.from=oracle.com; arc=pass ("microsoft.com:s=arcselector9901:i=1"); spf=pass (imf02.hostedemail.com: domain of liam.howlett@oracle.com designates 205.220.165.32 as permitted sender) smtp.mailfrom=liam.howlett@oracle.com ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1720639394; 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=wem2AJBoTGHtBckyqvpen9uiSUKgs9mhKNjHQHA0o5E=; b=M1rEIPry5vK5ue5puhlrDhiIEa3dg/FQ6CjrlQYWYd681aw4lgsPd83dgHcvfGhdePGwUx UILtCsNCXNA0i8Hn/qFwwqXZ7xTEqR9Eg0lYuVZ3eMfvGghz4cbGkIyxQL8tiYeu9DcbN/ I6rdGFi9E86t24rC/AimUfzuxHWdxZk= Received: from pps.filterd (m0333521.ppops.net [127.0.0.1]) by mx0b-00069f02.pphosted.com (8.18.1.2/8.18.1.2) with ESMTP id 46AFjKmQ019272; Wed, 10 Jul 2024 19:23:31 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=wem2AJBoTGHtBckyqvpen9uiSUKgs9mhKNjHQHA0o5E=; b= iXqu4pEL4R3T86JONcL6mO3LUi4elvurQNNkiDIIiwrAUnb5yw88ZY6hSb9P1091 C5J2tcqi6zadycxYUZ/Ltc3hOjjdIulvp1eXOGunqmuXl6kHjgQ/jGeZPqodpf49 fVOXnAVxrcYHKHddo4SF1TkCBMCV9FGxGCoHDnQtE+qlBBAvhG9OGI6OB+NKDAiJ dTALgxTrvvSAjKvUqSxLvPLkIXuWQQCXAHkJRJy2BMcEWiaU2IymRqT4mMbCPO/s lLE3uD4m26S/0U8Tp5pgVLUc79ZkBpc9Tg7Czm6Rt1c6yPxnYdgKkRAy0iTUnT37 jmfYbETenU2aYJptZwEblA== Received: from phxpaimrmta02.imrmtpd1.prodappphxaev1.oraclevcn.com (phxpaimrmta02.appoci.oracle.com [147.154.114.232]) by mx0b-00069f02.pphosted.com (PPS) with ESMTPS id 406wky83q7-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Wed, 10 Jul 2024 19:23:30 +0000 (GMT) Received: from pps.filterd (phxpaimrmta02.imrmtpd1.prodappphxaev1.oraclevcn.com [127.0.0.1]) by phxpaimrmta02.imrmtpd1.prodappphxaev1.oraclevcn.com (8.17.1.19/8.17.1.19) with ESMTP id 46AIihM9033699; Wed, 10 Jul 2024 19:23:30 GMT Received: from nam12-mw2-obe.outbound.protection.outlook.com (mail-mw2nam12lp2042.outbound.protection.outlook.com [104.47.66.42]) by phxpaimrmta02.imrmtpd1.prodappphxaev1.oraclevcn.com (PPS) with ESMTPS id 409vv1948k-2 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Wed, 10 Jul 2024 19:23:30 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=HhpRj9Ck7xN/rILqUZwbcd7jtsAo75m+Rgtaa3by39DpQ2XnBN3Rwal75qDTnM6vCwC2Z2PXtFRu52ivPL1T+J/geTXZemvoWIqIRLY31Nh9ReQQp5cJXq2sGlYuc3Eu7GryNxW2/2hlyzMxXB9L9sn4TXkVytkb6wAJv78EUJofZjE+n+Z3ZLR1sG4vXSjLJ0eNMxSto18yDOZcsSL2KPc1CTZDHbNA2eOEf49/xL0v/CpN0YTuKSarRM5d4F98He9rBt77u+Ly64FG3u5MfGy84GVcTyLAb8mPVFKgq/qxaBI8BNh9LC8G4VYwyk92YQlM1JOjOSlf8WqRgq05/A== 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=wem2AJBoTGHtBckyqvpen9uiSUKgs9mhKNjHQHA0o5E=; b=ZIGrEN6GE6mk3eJLGXKShMCWngDaxw17eUBZGHEt6kojfT32stKJf6w69cp875HQQjV8jXsUOovaLvyWuFcepJesMitgyygKMaqaoMaAunJXoVbZR4WTO9hQFozLyuQIttfqvwIAnwmEyXDQf0LXzLJtne6A+oVwWKIK6+rDxLhirbbewYODAHREotJVK3eMfV/nQxUvCF4I6msR4Mq0d1NbTgiIfxby3exmXHJ2VGEUp0IA1puwDq1bIPFcHKcxtVADA6PqRngpp3bcSOVSmd0vlzTUrMrwqeJ7DMM3/eOXLu0iQEjnGs9EqLM6ZbwcQk1N7w7B4KLwJnIpqdB/Xg== 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=wem2AJBoTGHtBckyqvpen9uiSUKgs9mhKNjHQHA0o5E=; b=KGdvoCN9/XkzDhoxZzbnJpNdPht5sT/aiyHfJgs7a/wys0vcGFEv6JfVyYAtVPn7yzZSoCJzMRaRRHlcLCd6TdjWPClxjOrmfeMwQSCTVP1G4u/GVbimfQR8ONx3Fdxj3eH7Rvfarwh8thuXFuPiOUAYNygNOEleQmCjsu8D2Xo= Received: from DS0PR10MB7933.namprd10.prod.outlook.com (2603:10b6:8:1b8::15) by DS0PR10MB7295.namprd10.prod.outlook.com (2603:10b6:8:f7::5) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7741.36; Wed, 10 Jul 2024 19:23:03 +0000 Received: from DS0PR10MB7933.namprd10.prod.outlook.com ([fe80::2561:85b0:ae8f:9490]) by DS0PR10MB7933.namprd10.prod.outlook.com ([fe80::2561:85b0:ae8f:9490%3]) with mapi id 15.20.7741.033; Wed, 10 Jul 2024 19:23:03 +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" , Lorenzo Stoakes Subject: [PATCH v4 02/21] mm/mmap: Introduce abort_munmap_vmas() Date: Wed, 10 Jul 2024 15:22:31 -0400 Message-ID: <20240710192250.4114783-3-Liam.Howlett@oracle.com> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20240710192250.4114783-1-Liam.Howlett@oracle.com> References: <20240710192250.4114783-1-Liam.Howlett@oracle.com> X-ClientProxiedBy: YT1P288CA0014.CANP288.PROD.OUTLOOK.COM (2603:10b6:b01::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_|DS0PR10MB7295:EE_ X-MS-Office365-Filtering-Correlation-Id: 63d77bf7-a659-4962-a51f-08dca115b7dc 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: nuh+P7iMtc7k8ZTMONoa+l93MPMNWf9+I7dnUFNvNtCwOAuyMe3Z9YrWfOh1cTajBUUWxsMsLK9xT91xHGaFh3cDiDYrjpCOa5cGgFcMwIC42lt291/5oakaEsFqn4Y/IyLH/Th6o7K7vqBVfq8vUHc02tu3kwnPUI0H+ClDS7+JhlDqgdK0p+1AgTsF9hQP9T0mKt12ODmBZ+Q7wBUQcnxP8GziZwflfhyja0sugyDbiU0NrQmAaAZMXL1sV44rmTsVUP+0M5usycDMJRJ3o+KTdxEbebx6LTfuwSCBJiIvadtpF+7V+DUJPu1d0ldHFhdRaQz6AB0d7y99adDchtpCU6gl3DZWieC7Sj87tzLqW9giM6jUVHpWrnMSaB0b0RnpkSkQQmapKX+NJmuoIOFld24lOaI79Rs2U1cH8d/ylZwubqdgQyfTDR03HJXqpw5zDOMeoHaQlC+ep0UTtS4T260MgCFRKsxHpiG22r4okYKCFQWeCHWw0mc/Uvikncu8ke/a/ieupDzmorWGD8pmcR+PaPlhsAaDQLE0j3HnNHBtL59nDA27g+9qmVOPRen9RoFheYkq7fz6o8QnPAP7paXcP1KDGethcoR8SMolJogMNnPTlwmO2OBzTaov4woJm2c5ZJU8jF4ZknO8DbJGo22iMkfpf2i41JMSARmFHIQzEzramQH3KOOP0KudIiiwpeZzHjviNmmBup7GRz6pq9LPjjFDnVopRXxHEOe5xtahQ1cM0tKg8EHNfcdk0l9yqzmSO/4UvK6pcCnn68WkHkZEk4qxH5f5aHtTuYdPAPKZ/ekQkAncBlXDqekzIhYzc8aTBnT4YlUugs9p5gCTGDKnvRAO2aJAPUvgiIcvk9kgpZqMh2xMqRH/x3Cky7wHGEirsbEpb00s/x72PVClZbcW4lE7Vww9bxvwALk8Sy6521Galt6+FTm5bQPM+DqdCbVZTg+tBUulLnTErLK4zPqT+OHLMAFZ5t6OqoWDkvUecZNZTVrhMtyuKnaFd1Fcfz+zPDUpzOdBLPzDCaamUDgbLfmX+ZRR99AAW/wpWSZ+WNWhlDI5tW6ruEE4O2ty2su3Qbe9IIUyA3XI/Gu3wGIbxRQfnD7tHFc1Ej8Zon8eAkFKsyjLzZzXYiG4Y1Iv+vY1U8G5LKD/EuJ4T4ctR7fH5eSP0q6c/ztlNRiIiwpO/DznYTzDn6h/n67VVNecEf+Rln7keWednvdg/Lt9ZvPptX3FuAszztvgmPv02u765sWsnUzp1EGN0t6iFH1UQAKHPqAFWzdiZVeFkF4Uz6r8V/SQhFyQid/7RXwIYW7GU34XZ9213vPcOCthn0nlnrRyAJwodmsGtBQsUQ== 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)(366016)(376014)(7416014)(1800799024);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: n6pza8LVajuptPuGlfLqqCNjcuyXIisIB37/ddANrcu1u4CFjN/rBP3zuMW/RqVXZD/AylwsIUwntshe79Os6ahgp5efzO79AiGRmLSLEK38VA+KfO8Su/CzpMCcmK8Ysl3T952neXqsONMd7gkRaKJN/Dv0xSi0+zH5smCFZQjspC9jCuO5FWaJCmdrGpWStoI7i9QMt+8B1g/bJ5bocaz7hcsTwI5xoOkEEcvrgskn3X6sbf0BJ79US7PqQp4Jg2y5rzetAf3i0Z+DtgZS7yjKIBpMAcRXEk+XwXO/Z4jcs2jpGGtce5DtbPs4CTalpWiLiEGjQxKcbnAwk+f6QNnJF8zNexLZDpdaF51m3/mlXm4gf1I16aYDRDiMrqq3Bk2AUh5I2CdwQgQNh/O8Od4mjHHe62f02ckgTVr+30wTPejPNfyQVWIbdHoKKd4O4OC9Zilzw1oQjpuFx3sbM0uH5Vo+/MjtyjuCwj+ba2iYDrQNWB9ZRCcDGoKZCsw0kHa7mnjXM15nHlfz3rac4wX+ZrLMy4eo8aw1dboSCu/s1srBKY/mc9I8fKC1iMXj5MdzXuWD9liOZcKRvpluemhb8C7Ds/0Ao6Q2PIJWXLnA9YijSCpd62tgEle5vhrwpCEaj4Spv7hKYQDMU/N4baRRx1bWCmclcJ4kHoTEvwz7uK2t6h7SK1UiNnhRULBYC9R5Y1MO5pR/BIQmkasPa1D2fAIc20k4WAqqEKLBekMKuo9LO0pCx1x0wy6cJf0oqmz1hO+4x6m9VmsSvsxgB1uoHItx0Yeh6OHwyUu78lpFlwsFElLD8xYzHupfwo5jqU+7Otoc5ZQTM1wz7/6NSDSVpwSaDHvIbFV+G5HYbTfI8B5uQuKJxGR7QEptlF/JN2vFm7a3B65ZznYkgijq2RY1e/iTdXK0Vq5XHuCMVRFbicG7qysnvEyrxrW3Ore+YPNtDWEDNwxCfM+u/p6FPE2xPf7Jp0pAYI4klkzQbfX8Q8OCbsZYR9iars2Y4khlBl1FMKxgI6AGZXdBGDy5XZe6jvBoWv3FOPqzRrDKaIOxjV5b3plq7ZTh84Tye+F8HhGg1LPHobl1Dq1NyY/IWVYZCQCHft8SVMQhcBD8T4SAwFqaiWFoKMOJPExYqEbfpLV7wc2Bf/vy4AueN0ZtTvflUQzwnOmnbjBtI8WscAfdHlCwiDnwQ77Z2NHdm/kaqqkLyGCD11aL9lVQ7VjFWqzncimcNz18tRxQNsqoH/n3aoG5QC5isurWiBVDsydhBf9oKyns7YFi496tGXF7t1TMefP2IIlW4KqfKSHkz1MCYFFGyVLQ5OHbuNRgwC7W6DLhXdykjl83nJuZgTWgmuLxdEfVKERK2XT//zO6nriWDN5e7FFPaQMvrKT3dPAapuQHLkRLu9unKpbzvtgjPihCEkAkP41bFn56MXLz5FOJ19b9z5R+Xb0hPiA3OW6LzFv19Jx/81zuV6Urtgh41CSPcJFpIqLLgEYanvEetzMP8I3UiPLAmjSkzW70yrJiGd+45PDGlBJuKWtH3d4PmSI7RQIED1llISknQRUXxADV+vbiodo2Z7ES8mcMXioG X-MS-Exchange-AntiSpam-ExternalHop-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-ExternalHop-MessageData-0: 603Xjj5xTHyJJ9HbQVQDT5PXaFO43tYJljLTICoVrtHYx8qnlrTPoK+ecG9Brsd3EyXaQbmoqipQDdvzd8MRAQzDnvaIVI8N8dSrY/rLz1Ez74mY+6TsTYCy97ZEB/rZ6yl0G7bW1luNglUEGduI7JCCLR0cKmnrueAerWuyd//vgVHupq8xltYPxp6ovqM+TH8Sp/zZwPuBy1CEzVW9QvCqd7zN2c6lbbYRsurrZ/KGLQS+zFC9lcidQ1EcuQg+HrV0VCKdzEqv8/pcXmMTSPU29zawysipsfs33DNPcuArvd+4T6zgytoI10cEKFBHqA7sd0p3Rxn83z+KGVKeNsbmQz/z+L7X5S4Dw4Qp3TR8ThXQ3LCQaGXhbaAsC2RqW6YyAUWl+3fJkHzTcJk6OlGIuGFHDBYES2e5YiL2eHLQGk3v9WRMiou0Q4lI0VqqMGb61uc0UcgQb7LAbzTdFFmdh82OQ5BycsHoxQYmfc+iq5mHc3O9NvrqgZbb+GfKoRZ5LqdK8zTmbHI21fytc37fjg4jaXbbwBUp9GnAaKLkZVU80SqetmprcuUrMO7tkpS+IAZaOYm5egx1BiAOS32vX7dbJXQO4+ehKJ+CJnE= X-OriginatorOrg: oracle.com X-MS-Exchange-CrossTenant-Network-Message-Id: 63d77bf7-a659-4962-a51f-08dca115b7dc X-MS-Exchange-CrossTenant-AuthSource: DS0PR10MB7933.namprd10.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 10 Jul 2024 19:23:03.1664 (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: TeETa5Q/eV16ls5AzgbH7LThokvHOBhZQ6byKTCj/Xf7TCpdEXqL4NaKoFJUWF7gjdnUsFfiY6j4Q4xBH56c6g== X-MS-Exchange-Transport-CrossTenantHeadersStamped: DS0PR10MB7295 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-10_14,2024-07-10_01,2024-05-17_01 X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 spamscore=0 bulkscore=0 mlxscore=0 adultscore=0 suspectscore=0 malwarescore=0 phishscore=0 mlxlogscore=999 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2406180000 definitions=main-2407100137 X-Proofpoint-ORIG-GUID: BnDWKDQlDsXSIS-IGiGDdWGUXf6w-iuO X-Proofpoint-GUID: BnDWKDQlDsXSIS-IGiGDdWGUXf6w-iuO X-Rspamd-Queue-Id: 486E180015 X-Rspam-User: X-Rspamd-Server: rspam05 X-Stat-Signature: mbqyzso1mfxgfhinpnh1xjwh78o85cms X-HE-Tag: 1720639418-892761 X-HE-Meta: U2FsdGVkX1/YB+wp1K5xT44HKg8klKpsbj2dha5eNbh6z9r2pm+WsPsXBuS4+zooszpovFzsBz1fP/2G62wYAzU9A6ybFtHur/NrMvXHpAEJv4XK6hFZeElo7QO/9EimxLkK917OvIlMr9J4Vrz9EoLOUQokLChnSeJDrfSKIIEVIapIrfzIIy1+8LgR6rr1onWdk6BHxYRpC+geCsvKEf6FWVYlA9bwvhdqMtkX0E9HDjBeYvNWb9IX+oWZHWi6s1ZCMBKdzQ2SlyQxhLkgj6NP3ZATH2OiJuQGTlYYGuK+5B02x2lsa94k0WJVofoiJcyW/qI5+njxZxGt+JLloU13IT14NBoQvACEpqg+v++Rtgarv+tSa8XpGhCDQjwUOwDpBqqp1UAYlMNoMlVYXE6D4m841eyIc8JrTGeUCnS8uar3KRLISx1c1M5ACXCGl19uhAYo49cYKPEXhU02duGa4F2VUviovlI1t0LwiKEpl/I9nx8o6NcXEWKSFCH/ZdAmMnultdvJSfg7whTF3HznmbQqi7XW9zDctb8z3T6vuDUYNHx+dqsazYLSul/f+BkceSn804RwZk8B4Z8weUmO6UkRzp2/RcGf+WJdkp/0eI44l0C/dFs2KQKqfmsLllAnikVQd1p5zWMzW2HF9XaHCHoTCItUwI6KfrDJMJ+I54crokkK5pKTFsy+ueulwwAI8vuJFrpBRbdlRDtaK+SQ7r9dl5943L1WwNqkSqapj2QyzvMhD1wzNdBO/vNxp3IsU8umesOIuJV6qJTnZvv6JHUHjZwgNXK842JZueCV7EihuUFAfmIJQgNhFjqtQaUVYw47M9Y1l6Xq9DiI/GmQSguYPMoayLvSZ3GlnmHm+WfIm1EHhMJFY4Hx961DEsYmocT5lNNsAG8uLz/+rMg8IxWHbpYercIfBstP58UPWkUQPU8hdSVrFh5Ia7cET5vHZQVsJ4k6u4ZaEAH h4xVs4CE H6n6Z/R0gQL+v+R4pngWd/SOECMBIoVxW5U2J1+2SKP9kE9HYZum8plU/waMjJc4UZ7hvKPAao/us6u+MfYTt38kbYNis0EYTFAcp1a9PTLfepnvvhWynQx/WqMDVoJFHfuMjDxsL3QUOhtyAjKjAj1tZweBWAAQpIq06SD72H/DpOSYz8WN4ehihcD5QGpf5Q4w7Apz4JfFIs69fpzXu7hthcBJVJNnw/1kcsvlkjqIUcMpWpfus0drMrtDtnYOxz+pHCSSg0W4CI0kQ6F6ylJsmcGwVGAsQtGA1O8XfoMhgTMAmwfYBowfdtIotHn7hS24ZYtfm9cYXZLmQCpDJZxQjx7m4GwXcdem7K9P/OyPzz3WxoAPcu1/1zrcKRGjW+WH8EbD8Ts2QQSePy8xun/ofygpuCJeo95K5DID7xX1k5j67LvG7HPJSPobVzEc/oDxvtTK9kxvyvSyeuXOK0ljuXc9jt3eWmrBLiaseQJOgzwLZDlmshoM+sG9dOo2Iki7QtfXJ+Gb8NwAxqZ0R5rrI/D07UhVgdsdL 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 clean up of failed munmap() operations from do_vmi_align_munmap(). This simplifies later patches in the series. It is worth noting that the mas_for_each() loop now has a different upper limit. This should not change the number of vmas visited for reattaching to the main vma tree (mm_mt), as all vmas are reattached in both scenarios. Signed-off-by: Liam R. Howlett Reviewed-by: Lorenzo Stoakes Reviewed-by: Suren Baghdasaryan --- mm/mmap.c | 22 +++++++++++++++++----- 1 file changed, 17 insertions(+), 5 deletions(-) diff --git a/mm/mmap.c b/mm/mmap.c index 28a46d9ddde0..babfa50f1411 100644 --- a/mm/mmap.c +++ b/mm/mmap.c @@ -2586,6 +2586,22 @@ struct vm_area_struct *vma_merge_extend(struct vma_iterator *vmi, vma->vm_userfaultfd_ctx, anon_vma_name(vma)); } +/* + * abort_munmap_vmas - Undo any munmap work and free resources + * + * Reattach any detached vmas and free up the maple tree used to track the vmas. + */ +static inline void abort_munmap_vmas(struct ma_state *mas_detach) +{ + struct vm_area_struct *vma; + + mas_set(mas_detach, 0); + mas_for_each(mas_detach, vma, ULONG_MAX) + vma_mark_detached(vma, false); + + __mt_destroy(mas_detach->tree); +} + /* * do_vmi_align_munmap() - munmap the aligned region from @start to @end. * @vmi: The vma iterator @@ -2740,11 +2756,7 @@ do_vmi_align_munmap(struct vma_iterator *vmi, struct vm_area_struct *vma, userfaultfd_error: munmap_gather_failed: end_split_failed: - mas_set(&mas_detach, 0); - mas_for_each(&mas_detach, next, end) - vma_mark_detached(next, false); - - __mt_destroy(&mt_detach); + abort_munmap_vmas(&mas_detach); start_split_failed: map_count_exceeded: validate_mm(mm); From patchwork Wed Jul 10 19:22:32 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: 13729602 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 2A186C3DA41 for ; Wed, 10 Jul 2024 19:23:55 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id E9A616B00A6; Wed, 10 Jul 2024 15:23:46 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id DFC996B00A9; Wed, 10 Jul 2024 15:23:46 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id AF3D66B00A6; Wed, 10 Jul 2024 15:23:46 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0011.hostedemail.com [216.40.44.11]) by kanga.kvack.org (Postfix) with ESMTP id 780B06B00A6 for ; Wed, 10 Jul 2024 15:23:46 -0400 (EDT) Received: from smtpin09.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay09.hostedemail.com (Postfix) with ESMTP id 3B9CF801EE for ; Wed, 10 Jul 2024 19:23:46 +0000 (UTC) X-FDA: 82324817652.09.E2ADA93 Received: from mx0b-00069f02.pphosted.com (mx0b-00069f02.pphosted.com [205.220.177.32]) by imf06.hostedemail.com (Postfix) with ESMTP id 6D3B9180016 for ; Wed, 10 Jul 2024 19:23:42 +0000 (UTC) Authentication-Results: imf06.hostedemail.com; dkim=pass header.d=oracle.com header.s=corp-2023-11-20 header.b=kBQyoiC2; dkim=pass header.d=oracle.onmicrosoft.com header.s=selector2-oracle-onmicrosoft-com header.b=Iv+qP3H7; dmarc=pass (policy=reject) header.from=oracle.com; spf=pass (imf06.hostedemail.com: domain of liam.howlett@oracle.com designates 205.220.177.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=1720639386; 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=dpHEzn80OIyOxWiBfc/i9nreyp81gPbsuptSnKpNCXI=; b=r8598rTJN0RwEPdeZzwpAVGmj5MUBvu8uI2EnALapi51Ism46ZCJm16/kLvIPbhjDLKzfu OlqlHyQr0h1FC2xDbbmzDPEmax/4KlVXWdj9z2QM2TBy+nK/aMFpjfI1i3M5ThkeqdXtsJ uZ0YGz+qQs5DU6mRyjVLgbsyChqO5J0= ARC-Seal: i=2; s=arc-20220608; d=hostedemail.com; t=1720639386; a=rsa-sha256; cv=pass; b=K/hou7oBRY8yuAsZ6Djg0yyhdcatTe5qdfE/UsjsEB6QtY0ykUDmGUAwxsUGFiqq9GaElS GgU/CBN2DeqrfxDJhyZn1s1Qin15fwW06VvuruPulWieX6L7vrXWCHnj050ukrY6ryqJcG hXmCAK/TLIE9Jt4h7a9tfyIy+EK61pw= ARC-Authentication-Results: i=2; imf06.hostedemail.com; dkim=pass header.d=oracle.com header.s=corp-2023-11-20 header.b=kBQyoiC2; dkim=pass header.d=oracle.onmicrosoft.com header.s=selector2-oracle-onmicrosoft-com header.b=Iv+qP3H7; dmarc=pass (policy=reject) header.from=oracle.com; spf=pass (imf06.hostedemail.com: domain of liam.howlett@oracle.com designates 205.220.177.32 as permitted sender) smtp.mailfrom=liam.howlett@oracle.com; arc=pass ("microsoft.com:s=arcselector9901:i=1") 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 46AGCIcS012159; Wed, 10 Jul 2024 19:23:33 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=dpHEzn80OIyOxWiBfc/i9nreyp81gPbsuptSnKpNCXI=; b= kBQyoiC2HHmufG9EvzwdtNKYT39w4mYERKF2hoBvmdlXQyD6GPctErjm27JMtn1o dUwk4/i+XQsLqpmB5ISFOsaDPiJAio0yB0uc/d3hY8iW23ue62bcyuxEoBt6k4Io 7hx2MMxjN9h/UnkMGFySvsx7PAzEu6ero4otDVTdyKsxp62gNtFR3o/bTsyQHlsv OjjB6/+cme9RFYX2UKxYHHb5B9KFb4eirTQdzGp72tViEkBDpc2ffgrTU9Qz2xQ1 ft9FazpMC2YBye/JNcuM3M8UJqrToPe+NKs/Mt+ZXSsKm2yAEoyoNTddI4HBjHz6 B5uIJMKGz4EtetHZMC32Ag== Received: from phxpaimrmta02.imrmtpd1.prodappphxaev1.oraclevcn.com (phxpaimrmta02.appoci.oracle.com [147.154.114.232]) by mx0b-00069f02.pphosted.com (PPS) with ESMTPS id 407emsyct3-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Wed, 10 Jul 2024 19:23:33 +0000 (GMT) Received: from pps.filterd (phxpaimrmta02.imrmtpd1.prodappphxaev1.oraclevcn.com [127.0.0.1]) by phxpaimrmta02.imrmtpd1.prodappphxaev1.oraclevcn.com (8.17.1.19/8.17.1.19) with ESMTP id 46AIihMD033699; Wed, 10 Jul 2024 19:23:32 GMT Received: from nam12-mw2-obe.outbound.protection.outlook.com (mail-mw2nam12lp2042.outbound.protection.outlook.com [104.47.66.42]) by phxpaimrmta02.imrmtpd1.prodappphxaev1.oraclevcn.com (PPS) with ESMTPS id 409vv1948k-3 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Wed, 10 Jul 2024 19:23:31 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=H23CV8GIgN5iQz2kjaBOskNgTD2zuJHNrFtWGZjBZIEhoCzmOtkl5kalTU1zMfQCxfTaQQjjqDQeXlsDBWlnPl562Xybk2aVCqf7xF6k096dL0jyYyw7QnjQSS2DSeGfqGyqM0PLW3XikE/xYMMr53RpQgBonBJXbqa74WnUPRs7wrsFiOU/xz7xxurHeyyTCtWiYnMzNBJiZzUoPU6dfEkHU0JkYXtirfreSa4GqJfsPHd1fWA/BgC9VwVFIkHwkymLu5+19tak2uote6epb57V1zx8+2Wu4ovhN/fU5bEqhWBp//kc4AMk4j6ADUTyhAmBskTRwOer3RMSuXXg7A== 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=dpHEzn80OIyOxWiBfc/i9nreyp81gPbsuptSnKpNCXI=; b=F/UNTqP+Un2bTcdOOrnTHarkLqVzO0HJMivgTL/8KVr4BdUESiDYg6C99oabNtQXnIdbtq8xS9XBgGibpZdkRdGMf2bR8qHl3fS8S3hGry2DMAhp90uskkphCr1JlQG6eDrmmwVBIF7npFizME7fnwvb/LlSq4xAxnMnOKDZv36qY183UAKN5HWsTV63HpoJSUVle5MhhKGhYPwgomYlsI8csnxAXy2WsUbveT5XImQkOFQL6ci5H18sbnTUIM1CiP/GoXvFg1gYzuQGjCdBtsHEf6uUJKqBzWXjCa/QT0NKh82+i5ME4xqVFcDuWa4KVJcH/MvBaNJwwMi4yrcdxA== 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=dpHEzn80OIyOxWiBfc/i9nreyp81gPbsuptSnKpNCXI=; b=Iv+qP3H7hT+MvNXvsFUKMdclgY1yextneou6O780oDFgmDuU4g+gwVwVy0oojExNmveNCjxFztEzwKqemNWsMFj0UUIWh5EVVCMrM13wPDVSZ2vAGb50KIhq2BkUlXj0zYOWS/XmPQ0HTEB8Vk0v5ung3RE+j9cJT1Kc+sL71LA= Received: from DS0PR10MB7933.namprd10.prod.outlook.com (2603:10b6:8:1b8::15) by DS0PR10MB7295.namprd10.prod.outlook.com (2603:10b6:8:f7::5) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7741.36; Wed, 10 Jul 2024 19:23:05 +0000 Received: from DS0PR10MB7933.namprd10.prod.outlook.com ([fe80::2561:85b0:ae8f:9490]) by DS0PR10MB7933.namprd10.prod.outlook.com ([fe80::2561:85b0:ae8f:9490%3]) with mapi id 15.20.7741.033; Wed, 10 Jul 2024 19:23:05 +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" , Lorenzo Stoakes Subject: [PATCH v4 03/21] mm/mmap: Introduce vmi_complete_munmap_vmas() Date: Wed, 10 Jul 2024 15:22:32 -0400 Message-ID: <20240710192250.4114783-4-Liam.Howlett@oracle.com> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20240710192250.4114783-1-Liam.Howlett@oracle.com> References: <20240710192250.4114783-1-Liam.Howlett@oracle.com> X-ClientProxiedBy: YT4P288CA0027.CANP288.PROD.OUTLOOK.COM (2603:10b6:b01:d3::6) To DS0PR10MB7933.namprd10.prod.outlook.com (2603:10b6:8:1b8::15) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: DS0PR10MB7933:EE_|DS0PR10MB7295:EE_ X-MS-Office365-Filtering-Correlation-Id: 42204ac8-7579-431e-31c9-08dca115b8fe 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: Ic+uJSiYcbJ75Wn43zGt3VTYumQbgm4E7xCfSXnbBWAzu7iAMFN8czzlqmO1MTMPFzy+5EciW5aeqzkl0fckdXIXiK1xjuHZb1nyuV/a5keNvk51kDbS2gfVRBlCkjuTYMbn/GMsnnadB/G7xdgqV0Vq3IjU/XGjtDkwkcqZjyQXJLJUU7tOzqgu3Rh89dMS2EgKaaEGtNbdvt4VMG2NrB9WLvS66M2mB6kyHlT2Pd5v9K0A+Tc6/vsg52pgGrtkZFY56FaFETmvNdevu0S4FqtVeIAyEH1nLx65luVEAiMxvaB6oCDAtRr6x5hKJnZ5EInIbZO5JH/wQty+24L8hmcvntxpB/MXDh1Cbu6EFKSmg1Bf/vbvYsjhso+yCbb08ko2pKrlESltje7Db8P2F1cO7bxR2rEsQOSeqGjRXfUJK50uNlKsz4UWvY3lBYYOLAzhKqIdgy7Pw+mPOK8nwC7i4d3awCzMWN2WFmotEXM60qtqhI0k677WRGekwDrTo3K6a1uAuzy8dBboGbjH2Dgx5IBuqZU8OpddFiJMhS2LLy/F8+E9efupYoslRao6jvFKti4PD5J2SOHgoisav1QwWyO8n2FV6CT+lZ1wU9Mq55S3meZgjhmg6sZLL8Z0FnGE+5003JjpHkXcjVDLSx4UIhydoEBn3Ev8gpAVu4OiJWUDHWSLB0TZdYH+GcBAFV7S2bIZxwARRi54gtxq2OSQX0NJFu0seOodYRtGEiMt1ecZeYVdM5z7knPDn1t5HO73By/wSeUuPXna3DsmmSsHKXzPeZVWlWKJx/amgDObOmLhbv5/xpX76QZsqEQZPp6MBh6tFrCwgyEFlaydYPT18BGjLB2xoZ5xGLKgMbQVKewZgNQASMxjam37uPUNISLg6mYwrh4Ahzsr5BY3rHbvNLaPC2MYP24K8rbkL/aFQwpMxx0f+eA5V4l0xM50XI1VZsv4qI3GzbjSmCIUYEtIeZbt6Q/L37yjXglacIUk4mmLq4UwdIRePzBpGdp4RaBcndwI5agn6Q6irySF9WEMy75V0MSgJUIc1FQpxbQ0JhnZBNsgy9U/2dibsSi6kh1B1vgm2SErRs7HkjTKrteHXG/9xR8PCVE1D4VfkxTORQIhfl7XDbPJ3Ku1XA3YqBhlF8xWm77FjbmRKM3azAsEXOSI8HrJ1BRmIWzYao2UIk6gVN0n+551DtQHR5lCXwkIsu/0JPynGNKtPGiDQMTEoOqSKZKoj1Bde6/eqdkYnU2rZwjVHIWDyDTurWsS5gGvyx7YNAsqiYn0UXo0u8tn2kQELXGlWO9FBtcVdi5YZrehV30Nnyet7Zk+OTI/Tx1WXRxiTjKcUkNMP6Hf3g== 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)(366016)(376014)(7416014)(1800799024);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: U1ZkkvrNydlumj/1ngeAaNBhsXHVkayZ+Z5vgcZx8Fq+tHV2VJL9xL2YruZHmXaxaMNw9J6U3CPAqe/juDSgLwMy67EXncWhLaC4AHPXV4lzRDI6TzEmC2NSSvj0m0cA9WuVIUbPNvPoFBeoC09dABx8Au6g5Bh/jGm7MaDxtwMzfEpoiSsR62CgI0OpyKnJ9H3PDUHQ9ljyz2ZVwtxlQodrcvVO8DizwBKGP1c70b7VdtSGF+92m2PIU6sO+O1r5SshnZHRNVSIElI3+WFuXwd/hTvaMFVJ/TimV+n0HHsWzUZYh6+4GUbeLqWvgITjLQ3m9y4YqQgeBxRkFmY6HQmCMOyX2tzOzgdBkYpnhCnD4HoxpIJGC6X9Ah6yyBf3Se/Gmm7l5Jvxt76zTproBYbZWn8Y+Ep1g7HsMwEKU2BIMoy1RtJajvanYCgCQYSYBxiD/2GN0e1aYtGKhQJBqGKfWo/lUUHHqGhSfedyplDzD4n25YMLD23Lb2WsiErxA4Svnn8xqkvPjuwoZBACs9XIUUQ2ykhmymeUC98xrv1Yhy3CeK5KWZe0eoKUV2r0fVby48IT5eqBkLGjzwKZgV0HAtO0KFBbljYM9wzhLwJ+ShZoKD9HhOOLaXznMmeZEM+mFPklmbHn5sDssHQfVA+RBokROJXWw8TqRcT3fAOpqHMTnLObY7GX2mC2vNNaP1wyW5ZDb+76NTzw2KE4itm6UDb9T1OZcp0CLpbq32ByDgyxAd6KS4dsddvCfiW8iWxhMaa1SUGxlWby7tvA8g8Ckn+sb5IAn/cBHG5D/+gHkWEuRqt0wGYzkD0kObwZ0RkuzrIHQsN3IGK6B+v4mYNLzFgEbdtBrLw7WIvx6vlC8i7X9+B+W5uui5ixstqZkm2J8p4daprfniZpzgGHNGRliquUzMHko0Va/ggVsnN6pPudnkMm9Sl47gKaXHXWDRryzEssdtD8ziwxzb14JSBhUQedvVaLYuU+wVd/WJjNEN0lnSbBM+Nefb0g9r31nmrSAW2Ux+8iUoe2teWTWC7N8fdqqTfB3IJ6QlQDpkj7s7/BMxcpXE3HGTAqf6d5csr6PpcuvhI0A6NsL8Dk+cpeGJIvl2zGCOjdvxUfaJZnJRExp5VzIqDvMdV8TBCcCEGfjJlfh5E00TKj1Dtblsr+hO928oI1NJk8A/e2rP8Ji2LS6KQioGZ1BZ6NB7M53Ns0L6Noizemp+WALq8qZcZGrKcl80Kxly4709cJOyt9jAgdJYWjP7TL+hdXBSJm9cS6ASKViVcOzrkhXAiI8BMv2GAI5eLy3egPM9tZXuFzI0LOh02Gun3a7sLR88TrPR0muyE/rPOEB9L9Lo45fdfWi+BPxVoahdoJmqjJanVSXHAbOMxtbI3WFEBDTNbkMEqOdDhGT/Bx6BLXrjW9GrvVZYRacnnN1S5L+qo3kh56UX1RSQjvt6sABD+wMkrRFnB5XzDd8MJ0qKRTWQP6rZ3P7YRjxqdEEVTc1MtrcGclAtJGJ5BarwjCtzb0OHP+3HNK8+MTORCbNM+XL78tpjnY8zjTq1kXc3sz30n9yg5Av6Nd75lpJOuGNiJLvAxndigAj8dKZpDjn6CMuaYHew== X-MS-Exchange-AntiSpam-ExternalHop-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-ExternalHop-MessageData-0: 3S9A/pPhUD0F3dbLO7zcXKb5eigQe8oSc9KQGTkMHukkZrzasdwCe/7Ys6zLeCIgeiqiRGLJ4n4MnAEBi6m/sxqemQMkZ3DuZlsGvmx7zFRFL3jSt2TngoRH4zejt9s/SQcmMVlc1D2eAdLV4BGE/OQpyO0frTI8mIG5qvKJB+lvXGWI8I3EUetQTuy9K5l29FDuJs+R3A/aNU7D8eXqNvxjsKMz/GSXE8H0xMQiuHFBOM9yoc6PJ6VJNGJgQ45RqwIxV6JKaPe8bEPIv7aVZktMbFh3USONQkl6C/lg49U+zLdwiYElVx/kxyW516GsqSLy7imtKS7Gozl8rdyiSezRSkqfDT7wmhWZEqVASuWqQs8QAbpkLBl5EtvPnAGH0NMVdTA2WyYdaHwTpSMka2SC7GwOn3I61If5YmVR79KPBW9UdhXjf4nDlUo7Zjpe4x3BcwDaVRL6Ls37fpakIuJwlAHH0oqsQV2L3aBihLOKcBjQ+fq0tkvCXkmG2qV5GefG7zKCJ6mI6Jb7XLcM+9KTyu082iSjKkTdEUdsId8/tmZJbGvBmnItq80vQw9LnXk9F0+4/mj67evFVOlob1OPQcJdJe6+khsZ4bhAc9Q= X-OriginatorOrg: oracle.com X-MS-Exchange-CrossTenant-Network-Message-Id: 42204ac8-7579-431e-31c9-08dca115b8fe X-MS-Exchange-CrossTenant-AuthSource: DS0PR10MB7933.namprd10.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 10 Jul 2024 19:23:05.0620 (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: 6rcLADfL3YwzSCvaSTFhEecTfi6oixWLGJ35CVyJ8q5Oom4j8VjefY7T3peaOtIVG1CoBx63tV1v1L+WG2M7TQ== X-MS-Exchange-Transport-CrossTenantHeadersStamped: DS0PR10MB7295 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-10_14,2024-07-10_01,2024-05-17_01 X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 spamscore=0 bulkscore=0 mlxscore=0 adultscore=0 suspectscore=0 malwarescore=0 phishscore=0 mlxlogscore=999 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2406180000 definitions=main-2407100137 X-Proofpoint-GUID: LczQ5RSvOBwM3NNqT1uWXz6mxqlhV2IG X-Proofpoint-ORIG-GUID: LczQ5RSvOBwM3NNqT1uWXz6mxqlhV2IG X-Rspamd-Server: rspam07 X-Rspamd-Queue-Id: 6D3B9180016 X-Stat-Signature: cpj9ko3c5pi3trsoi4muqh6o6p1uzq4j X-Rspam-User: X-HE-Tag: 1720639422-87226 X-HE-Meta: U2FsdGVkX1/HyuSa2UWPc6PGyz/X5cs0HPj+yGN+GcHXrJwb0oqJ08w78Gos2POgYgTkOHkMFy6ez9dZpt/KuvKAu2sBjbzrQscJTYgaalM4gAJp0GElEdk+i7tTFmn3YvoBo/Qh8qovXBmQAi4ZistZ3GXWpnT/Hj8no/437m0YJuJ7ER9RzKh0kuCTwP1MCjRCv/+5Wt/ZH/V8jKrWt9kZM+YlsUefwntk8s0Ls5lsAV9NhAfJfxCJEWZXf26kqPgEVGxzXx1Oxy6Pii7aTqxwWPb27F1Qb/BTo8qZ0giQWNBDeMnSufCttDVICnDUce13Yu/YrU3eeP7brWJlpwLNkg2HxPglR6yOXOjqFixMUW9cmoGMHYTbpQ/jnFkAxW64AbM0/46Zk6tyBw14m8vTOkJ3aCVdNKJoMOVLHEwUmilPZX77rCrAVN6egCPlsUjyeJiEF4z+iLJloy0ZUplbVcOpvyOg28iCK1Brhi/XTGB2YM+pbMkf3NH6pmnPizm2r8g0DL+bh+VKk9inmtRZd47Bl6z/XQ0OxUxV3JL36bayYDUdX0jXXs2E0jgZGCy3ZmaeD8diayVQoqETvQDflUMbDg37J5MAoT/+GFUDDoAhURb/nC/Q8UK95FM2S3AtRRIkbr3yU8W8mdEOO44IyTGIB11DcAV7oFOoFVEIVjoHXy6vIoyvrXQFClzHUKTBuVowxu7HwPuwZDlZ7NIfO4fxt43c8MfMcPRp3zoAD7cjuIUtj2am8nnPNZBMVP1J4U6UUCBesm+IZFee2JoSq1oUm8w0GaNRvajWD+2QuPO7QPIJwCVPoNwO6fG4woKq0Xbz4y/irby48gOUONclx2jRtEn9NH/gTa94AZcR128OUSkw2axS87t/oO5Ilgm5nh41p4bBmOd8Tsrlzn0dsTpd6TzKCsUJZ/VHDWo8qeQGO8OP6hxKQ6pTP8K885V+pDBVPog0tJ/R0kJ BqHyndnt IL5wW01Ab8pO0cn78IkkiPyxAjaAgPjYep67bMBHHiCeItO0bJMCQkQmIXYzJqlw37wooiTCnCvmwMe47IL8VCOUSBB5iyVUqs0WhlWTn3+/cBfK0kN1R240rH9ebh/I2joff60MFjZn+x/ZoqYWf6xcyqGToys2geDWIdLozaR9epzxwhBHZq3YpuFdkoYcoXklY7mJPymstC+7kRmkYQ1z2vWLVckwD9jJKFDhINxxj2AE7hA+tmF16VAwta4HpLnJ+A+40RgOFUbvIWO9PaCaQnsVyeKxdraJnkdTL6P9pdSRHiPMzwHrU95Q2bhEvX2V4eYWIWJLyhMnUTD6WTvktIRbaj2Ua4qCq7rOcjj2Dy/rr0pgPSdcgntPWjhUkGzXhVpn5nAHbUxNZek8JmtLYP81BX11iFoc6YobExtbf9mVPZSWC8GFCS6CwfcucOMvc0avi+5wr1hXDI4rNx8DoqKXeXXJ4or8rqXN9VEl5jANNd5H1X6GWa8t1MCA6HdyosFL3F1YMaYH6DnLsS6YZ3MKYiWL5n0C0 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 Reviewed-by: Lorenzo Stoakes Reviewed-by: Suren Baghdasaryan --- mm/mmap.c | 81 +++++++++++++++++++++++++++++++++++++------------------ 1 file changed, 55 insertions(+), 26 deletions(-) diff --git a/mm/mmap.c b/mm/mmap.c index babfa50f1411..bd3378935c70 100644 --- a/mm/mmap.c +++ b/mm/mmap.c @@ -2602,6 +2602,58 @@ 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 + * @vma: The first vma to be munmapped + * @mm: The mm struct + * @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 @@ -2621,7 +2673,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; @@ -2725,31 +2777,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: From patchwork Wed Jul 10 19:22:33 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: 13729600 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 16A1DC3DA42 for ; Wed, 10 Jul 2024 19:23:49 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 093DE6B00A5; Wed, 10 Jul 2024 15:23:45 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 01BE86B00A6; Wed, 10 Jul 2024 15:23:44 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id D62586B00A7; Wed, 10 Jul 2024 15:23:44 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0016.hostedemail.com [216.40.44.16]) by kanga.kvack.org (Postfix) with ESMTP id AEAF86B00A5 for ; Wed, 10 Jul 2024 15:23:44 -0400 (EDT) Received: from smtpin25.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay02.hostedemail.com (Postfix) with ESMTP id 5F5C1120229 for ; Wed, 10 Jul 2024 19:23:44 +0000 (UTC) X-FDA: 82324817568.25.85F6581 Received: from mx0a-00069f02.pphosted.com (mx0a-00069f02.pphosted.com [205.220.165.32]) by imf17.hostedemail.com (Postfix) with ESMTP id 085EE40009 for ; Wed, 10 Jul 2024 19:23:40 +0000 (UTC) Authentication-Results: imf17.hostedemail.com; dkim=pass header.d=oracle.com header.s=corp-2023-11-20 header.b="R5A/wOOY"; dkim=pass header.d=oracle.onmicrosoft.com header.s=selector2-oracle-onmicrosoft-com header.b=S8wYpHUs; spf=pass (imf17.hostedemail.com: domain of liam.howlett@oracle.com designates 205.220.165.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=1720639396; 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=W8ePtixmHK858Jxwt740eyTinrn/Sv9QWh8NJ5u4sOE=; b=CFt/cPkJU6vMObw4HqgpVXQjlnqxnDwmJBx55SnpygsjnYp6t9xJwNoKemG8TISvC3DWYF aWBWn2B78xgemPPkW8He566iR/vtfSxMzYMqB0Mgg3KkMli3t+FJLGYbnItw5evm/BCxpu 0B9AFPVo3lsQ4AqEsLKCQH2JPKqgy6I= ARC-Authentication-Results: i=2; imf17.hostedemail.com; dkim=pass header.d=oracle.com header.s=corp-2023-11-20 header.b="R5A/wOOY"; dkim=pass header.d=oracle.onmicrosoft.com header.s=selector2-oracle-onmicrosoft-com header.b=S8wYpHUs; spf=pass (imf17.hostedemail.com: domain of liam.howlett@oracle.com designates 205.220.165.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=1720639396; a=rsa-sha256; cv=pass; b=a6+FFgrpRiSpnyREBQdC3fH+rdoHVwOMNYrIegwoBOwUKx9kA4qG1/vZ8YCcbga/17Wifx 8FnlfJSFnAFAHtI+3OYuz5bTmChJacg1LjuVnNPjtl7e1z7M0biFl71KGPJOTPIypaCXT8 QWCQG71dmoIAJRLa5MaXwtk9eNeyv3k= Received: from pps.filterd (m0333521.ppops.net [127.0.0.1]) by mx0b-00069f02.pphosted.com (8.18.1.2/8.18.1.2) with ESMTP id 46AFi5PI019322; Wed, 10 Jul 2024 19:23:34 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=W8ePtixmHK858Jxwt740eyTinrn/Sv9QWh8NJ5u4sOE=; b= R5A/wOOYY8Qatr4JlzU3ePjjPB1w0R/rAO2qJK+MfnF6N5dmf5d/axwTi8vYKfSh 1+KVxMnDt56T6EutjveE3q8j/7+b9l/veCO6sN2k6PEptCNVmwsFLPkJO2rjteQr ZfMhrsnRF0hflKV75iNYQe3EkXzSymw2dXpJDZHX+sBxtTHvl68L+tGeyAautazX Yx1DeEvLClVgdHNpmhbPNEXi7V1l+p7gnOVL9Rsm4K6l4vI/HnlytUR2TmmBAHAy SROli0D+05BOEUGNn6hJ7aCziQfkjvSsargp6wcJkVW+n3f70jolT+BOGocm0qrp QrO9steOzr2oRsqdJtDmVA== Received: from iadpaimrmta01.imrmtpd1.prodappiadaev1.oraclevcn.com (iadpaimrmta01.appoci.oracle.com [130.35.100.223]) by mx0b-00069f02.pphosted.com (PPS) with ESMTPS id 406wky83qd-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Wed, 10 Jul 2024 19:23:34 +0000 (GMT) Received: from pps.filterd (iadpaimrmta01.imrmtpd1.prodappiadaev1.oraclevcn.com [127.0.0.1]) by iadpaimrmta01.imrmtpd1.prodappiadaev1.oraclevcn.com (8.17.1.19/8.17.1.19) with ESMTP id 46AIjker030110; Wed, 10 Jul 2024 19:23:32 GMT Received: from nam12-mw2-obe.outbound.protection.outlook.com (mail-mw2nam12lp2040.outbound.protection.outlook.com [104.47.66.40]) by iadpaimrmta01.imrmtpd1.prodappiadaev1.oraclevcn.com (PPS) with ESMTPS id 409vva92t4-2 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Wed, 10 Jul 2024 19:23:32 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=Vl3xzpuRhts1DvEVy+xkFcdeU04eamOfXqhn4URndKPr46JxhBEbvuTB5zrNEOCmh4fMaZ+m4rYyxbiV80RdqjGUCOmxpxfmeIL4JBJ2bIlAG7pQ4Dq/bW5I8cCFsK7UHJQU1xlXfCzDvW1IOslHxO1le8xtKBWdWZPR0R3XaX9M2e8Cb1iUKM0lFUTay4h2e7+7ljHNd2nKQL0i2amW0WPXhCh3FdHCez3NRKcUF9RSEmHxBgSnJJPtnAmIC1crs76UKtnLt5xCnE5VTQCxjZRctAZd8UtTsMCNfZQyNRHjEOtT9GPYQT9fIw+/vvNmQexlrsqtv7cEGSVjsiw3uQ== 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=W8ePtixmHK858Jxwt740eyTinrn/Sv9QWh8NJ5u4sOE=; b=Ntozs2hctpAFV6qseL7qZTcreXO44Pid74OLpLJp4t6vkvMUPyZpVK+TbatX/Vuxx8Awly9fS16H5EFaQ57+d8Pgf/k4sPptFU04rEQZXnWLAO4AnxV3mSfzubHnWwdQusLEN5mRbKwtSmsa2cpaR/p5KFucBBunFcOMI2rkiBLBiBLVKP0Qe33hXac6plBTJGn8WWZlqcptldVx0GOFq5xfz9+etiX3qxQcO3j6oPhBG59G1qU+mcp2UpmoYNZPkAP6v8x2cLnAm4+cGojTDUzQjh7OlM2UPa+yybAjTV76m7OrmissfixXqlQVKrn45sdnJfUneA74g5pLPolmeQ== 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=W8ePtixmHK858Jxwt740eyTinrn/Sv9QWh8NJ5u4sOE=; b=S8wYpHUsEemp/h0DlJ737ZjXHmZVKo8F0CEJdAzJNwhltLz4ayN3gIa+jQ1KFLXZrnujc66jJL03/Sb7XHX9KH5WJn5NgVJBYzhOjKCOgVBtLRHhcvu6k0xdK6J7Agw5GWwPSy67ticxagJ3yTvHFTfOC53YV/W8gJSjvSUHRQE= Received: from DS0PR10MB7933.namprd10.prod.outlook.com (2603:10b6:8:1b8::15) by DS0PR10MB7295.namprd10.prod.outlook.com (2603:10b6:8:f7::5) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7741.36; Wed, 10 Jul 2024 19:23:06 +0000 Received: from DS0PR10MB7933.namprd10.prod.outlook.com ([fe80::2561:85b0:ae8f:9490]) by DS0PR10MB7933.namprd10.prod.outlook.com ([fe80::2561:85b0:ae8f:9490%3]) with mapi id 15.20.7741.033; Wed, 10 Jul 2024 19:23:06 +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" , Lorenzo Stoakes Subject: [PATCH v4 04/21] mm/mmap: Extract the gathering of vmas from do_vmi_align_munmap() Date: Wed, 10 Jul 2024 15:22:33 -0400 Message-ID: <20240710192250.4114783-5-Liam.Howlett@oracle.com> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20240710192250.4114783-1-Liam.Howlett@oracle.com> References: <20240710192250.4114783-1-Liam.Howlett@oracle.com> X-ClientProxiedBy: YT4P288CA0027.CANP288.PROD.OUTLOOK.COM (2603:10b6:b01:d3::6) To DS0PR10MB7933.namprd10.prod.outlook.com (2603:10b6:8:1b8::15) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: DS0PR10MB7933:EE_|DS0PR10MB7295:EE_ X-MS-Office365-Filtering-Correlation-Id: 008c11c5-6327-4eca-bcf4-08dca115b9d6 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: F/9PaqLKZOucEMDReCZg7S8HIYF5SHe3YYStYeJq8HOPOWeFtO3/fl/pl7Y/W29UkuwyaeJbNPejjuOvfDXqm8cBVCKUyhqYp2ne+QWg15sHs/kBWQNgRNAXZ4VI13FihpXokcH05wHiQTibmNlkC2f699zvZGdxbtuJC2Zs4uVQ92eRizSl8ShmsYRWYxvH3pjkYb61varMORMMepkjXC922/8mnzpCjlTvPL0+EW40tv4onuLy7CaDgVJtq132RP/Cbg/9P0v27gD9WUYeAW5yX6T2pVIOG9cT7I5bC5S1GCK5PUqpN7ElOGpSEAAkbVFLnu0i9jUW+tJqKO3kj0c4Nhu0KWxCR87ReSXUwlrrPr/ut4MzrOj6DHM2nttam2DGAJtP3H8Rw5QAieoULeKP/6582TiWHr5qLo9hLNayedFpdF9OvyAbOttx+5Bv2zes/WUJtKQVvEQ8Sl1+k0HSjcPPq+XVUiRdDHw4z5AFGQhJAh4GTnPqAihwX67QwQSMyIn0iO8zcGqC5CoXc4DkmD2HCOHh7d7XzM6WYTJYpULTolCWohMpehnFKG4uLu68SGsRZvQdwRo3dcKo8PTCMAU3v2a5hbBtuQ//r7E24m2T2bSxbprXWLgocfurAay5E6yBIvtRlNDG6FeGSnzkF/ZuEVpfYb2/5sJf/qM6/m1s3v5Z4zJmiVCIleHpn3RoezUxeJNSRJ7vtyjh4wmYjEFe09gaWVbNtU/9eYyLYt32u0vYA2L2C5vW0S0XWbhS5cIyvGgjJkzaX8sLxNHDzjiGcCl0BErAKRAdC7gO0k82df1C6z2LG5JkLOY+9m//Unk1IOIWTXjo5NvyCLV36vf59r4miAIRvvPg9Y5dogKzb9ao6tMVY+V+0NdxXFjua7nfKfuE3yo8qiMSot5yVEzeMLaKoMLP0XT2gHcEwvFcJngGV7EaNLRQC3/soivaiHaHgFT4enPfSQt5pTyM9UbMjvAYJAg339dDdQjFrqdMg+YnKtfxJwFdzV+quDiZXl5RZn1BVD+nPFMO2RLmOGMa9ncm7VFGrHe0i6jZmK+plG1262TGdC4TPKh1QLlZBN8oZeDuarvK2U2mk7mIFVIXuxRTRdNSP4UGJnJDXSv0+ERh92I0Tg35qzfSTtvVRF6wsy3WuSW8vQswwI7GIRoN+2pNd+HuKoZSt+DNstVLhHFoCGmxmV4DjcC851q8Dir/93lb2JABvMXhmSJZJQSI/ODfRG+qrhP8fUbTWFbdt1Pru64zA66aWOBB4oArgpPdv432eFgzGszOAqj0iu3ghzSRJYbYf8DTTGqMzCu1bBn9A4Ubtz9VlUxQ8QEOxTNxe1ZX0j+RpqSs2Q== 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)(366016)(376014)(7416014)(1800799024);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: mGCCFtVikbShfEpWWl1dHjefbeKNRoO/P3nbBZZ/GptBATTx2eAMEsgpTx0dtwRAOZT9wqssNzWkU2c9TV0lb1CfnNoxD57IbMOYOXhs7K4SdeedjBjqWOya5Zb8MEKqvVV85fT/WzGKtR9fLtSVFAl+pV5ft0Lb4mCojaqDgFn5xlRrvGQIhL9hxH7657vdyiVISpzGh8G3tWJYXXNA5vlVYPgkaC+cXbt74S/7yB+nfIUhEpbUX7/HyWiwvcNqgBPHREffc/aVBHu9rEoRuYvmCkHEp17+RMK/aZk231w6bE7WhRV+fl9+LYKnRChfH3TubjYaewHd4uwj442+yIRUeOsJ9SiuuN+h07NKZ3ctTP91kyaD6hNIn08VFxVYR2crLu9J7ENoUqpoFDqFog/29fsekAEZhKIzJ9uN/sNp9Se9Cz0i0ZyT9TmGMa1/uC+RVyTGmLs84bBNPI79R9qBcMUQrh7VwqVIxuj+vVEL1ax1WVSz5djsHURLYn6eVQrlt9Qk7ncWobY/Y+Kcu6XlOMjjJJSLMwPlopduggatJN/f3S8e78hQvU+3lwGP1DmZc+9rNBe+c6nxW+JFeR2RgKo+0XAlysMrowqi7w5eTjv+a2h7asbqKNDIgqawKRDWfsNT4wpf5AAAj08VEJVLyLbYPCWG+6HCShbC3yderlCDXWWsrJ6B7fR+xwCDlUmouVe1jgLuJfTC/pjoBBpCN9UQ+lNSAgDp+fhnr2gTqjaL79wFxwa3oorQNxK2NULWL5DUdQs+chU5A+8jSMDiIYinWpTH1i75DKnelqKv31LkzvZ2eQONVbHr3haNfqYmLV+XLRcRTk9FxA7iRCJiWgL5T5VsC7afdTDyH05l2euM8I/B0AZrfz7LFB8kihg/yNOpdzpst6PrKnHO+r4unrKPvvKt9JVapC5arDxmCtUBWX6TksnSNvldE8fk5gvFxT/eLkAj2Z/dtGZZvwPhETJWjrFUebWN6pgB6OXZfz+eAD9WQPx/+ZUHrF0yQ23ABsoLz1GWOvlVtBgzx1Aym9QJlVIH4C7OaiTS1jLA0kPNPxKpa3xMgfeNIcqgbAeW4x7e/uANUm42POG0ip7fZlmxk2Q51YQ/Z5SmjofoKVdNFAkc1GDS52BtXcJ6bKHyLfb3ewzE2d+ELBowANkW79t/Wd33oOtVl0Em8f2PERZhu0mgJtDPmYqxFGheqyAiLHa0mF/NBfi1N5WV4vC1uh6usJ1/6gMryHBsDcar/DdjjzysPeTfRuMbsuvd4//7eAdmaVy6Krj+OgtROEpns6DUwk0acRmJa0QpaNyIkucDjVGPiDq7VRhd8l/2xcywwrBRwSAmwDOPS/iiT57JA5033P8tSZ+Cl8D0+WT6AJO+ArGyxw0Tkdkrq0MUdiMVuQh5luGO8Xvt4ziqHYKRxJ62DhssnIfmqvpQiSohDZ3N0MNy9G1akbu9iX2R0nDDy1Hmn6/S/0MwOUkAXqBQKgaErWvv8nMyQsrIF96KLf+T63YeweDobBjx1lckeV113siq+6HSO29Bhjetkw+Pug/10+cEe/ya+VjNFY8Kfn3tfKDOFv8hudBhjmqPt1cRqCMg794y3n/HGD7Tqg== X-MS-Exchange-AntiSpam-ExternalHop-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-ExternalHop-MessageData-0: 4rTPG9VBrLxGjbt6naD39oT90Xz/N0yim7HQM5pUFAJxTMjckqZ17dQwGwvaZFDevmeA5y7k9yBME71XEIjHyxdO71Mqh2NdcQqC45wYnOuIyKn7d6dRF3/B8lzulf+HKmlOpf2Z7p0+hxrqmNQOhs6WypQNFj9xoKH3g1Im+ZZsozsqniSEYr53MIK8yDngSbRb+B6ZRcteC2dCsCfkcj2TmbbC/cpAafusIupxKaDvohsw9TTRaxjbqEh0H0OH57O96V/pIXjqYV9VStNfcrPZa7w42JlZu2IanrYWGvM3tzDGis/JNdrjXlcAM6jxlSHByepgBzGj0FnwOXjXLWt3N+1WaBljNbKZtMW7NTT60tKSJLM2GcxuMJgCpAIARWSiWZUbUnwUbM71ff2NBr9pzooiaeRlBMVDC+weIZXjAFq/b/+Hafhkia+9yiCkbhyX4WBuCxSSd3alwMDiP72Hg8gHigNIwaZZR/l/IrhPqSRiKZ1SqGZD2duzdIiChu0ZNyo2EqetGgO/Ej4jN/QZD/a27ejZ5m8+mP1aBYOSKX8JJtg7azXQVU21vFfrTKl2yR4QF8rzZAnpO84gSw3w9JI1DU13Y2EWZG1jwlY= X-OriginatorOrg: oracle.com X-MS-Exchange-CrossTenant-Network-Message-Id: 008c11c5-6327-4eca-bcf4-08dca115b9d6 X-MS-Exchange-CrossTenant-AuthSource: DS0PR10MB7933.namprd10.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 10 Jul 2024 19:23:06.4909 (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: QWVe3LxpoStddjeTgqamNVRoPfI5zRl3FSUKKzOWRHZWztj+goPi7nKNxk08aqmCaEOtfnQZJ1+B9PHda9ntUA== X-MS-Exchange-Transport-CrossTenantHeadersStamped: DS0PR10MB7295 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-10_14,2024-07-10_01,2024-05-17_01 X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 bulkscore=0 mlxlogscore=999 mlxscore=0 spamscore=0 phishscore=0 adultscore=0 malwarescore=0 suspectscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2406180000 definitions=main-2407100137 X-Proofpoint-ORIG-GUID: D7zIRJzmtCucabQKyIqMWmuOrFFmyYTV X-Proofpoint-GUID: D7zIRJzmtCucabQKyIqMWmuOrFFmyYTV X-Stat-Signature: mi8euxdt653463kaptznx8ijimcpowm3 X-Rspam-User: X-Rspamd-Queue-Id: 085EE40009 X-Rspamd-Server: rspam02 X-HE-Tag: 1720639420-826053 X-HE-Meta: U2FsdGVkX1/eGQafiSurIZPQ5e7ERZCjqIsWzncUbdRLB9MwbICgLRCUzLggWvxCCl5ZYYX4tBl1jjLPIV0bVNxsMtPinw7H4VHgzUuKjcs8uk6rAgh/6neXpEa4sG10bsxGIq2efKWvACCRCU1pcK6w/nLFQE1hnyEFZo7nIQmS+NA/v1nJtEZxOkcj2CzSkJRSKy7gE0KRljeh1T7Pbbz9xVOk97IvLQhvEg1puWfAgzQvceqUU8MiMcWXI4HY9nXKhSDm0wu4tmSo99ZJUSNeqT6aXeRgnaoD2vCtegYg8MWa0P+23mcbX6dzNdhW7TThywuN7x0RZ7JOMXidGkZfB2SCaUD3RB+fkGyjxgrLP3KJuPdKNHs71944+2V07hvV93amc4BIulfie324SQNjXkJCvc9LAbE1I3p7s3TwTnZe2gCBsJKyu6TjOphfdd0CV9A1uUNDhKqnwAqsuSrnxW4R4MxU0zh8fGIYqMzGfxsCPOL1lYZrHqLgvx5ESsIifRLrbqB0VBLJtjxsnZzz3pSLfKf+2+J7oO7dHR5C/pp5arhQeze7hjPlvcNqRrfoRQR237idlWBnUTv86EDS6OK1XLbCdRGHEifO0NRpSiq5Ae+cEPY8ftOi2AC3nXjOB8AKVQpfnUoynHA8uc/uy29gk27dZFdzELREXkxYC7RPxzvffdmilfHBn9W6cHVa2oKFXsvb4enlE7yJdaqBHvKb2WmBtxgPcgCwnDXlugjtwisIxtbxww8SPEohKzwZt+siVWK7x1cJGBSCQQ+IUDTt1tnktXKK3Q9hn5J/0y9aCDgw0TRDsKwrQkVsQEerXiinQ84i3QJ5xgjixZo6r6XTz9sv8/GzFnCwDPCMZMHGgoSBFJaOXLmZ6sZkGZ4EYinw+PGxM11lqB0UO9Qdi9UU5MfGRt69Vv+MhnUQZlgCulZsEtaUJqMw0YxyuKLLpAEz/oziDTevT4J EM0R/Y4j +01+UJVHUww/2INbfrNS/rdTpYA4l2oZcCCKhg4qrO1QzRCV3GBNGj2FwQtWPSuz5WE4WyZ0Pp0ay9UQJbwy5jBRYLOCNlqVeXk0DB0PeNgp0nleHO53XqnFFjKGPdIxpWBX1YEJtClBG77NGmXxzdd1BupnGldWvr6/1i0Kjvi2CjMPFXLaUq8fvKbuqvb1Vm5g3WfWLFsjMrT7lS66Jr+hZYokiOFb9Ot6PmIQMyC1Toty6I3Z+/Rqnw411Bjh447foEpFbLFjL4GwIClm0xfWpUNJDeCWn4Cg+ulQWXQbgsguRiZBcMzv5+WxH5w5xHzugzjOA3eGPo8sv/F/Agci3+AAFGS4Ij8LHBJQjrjPrgBGMI0DgWxnFlsnue9dqN1In4H3ePDe1u2DKJYIdliGueZEyLt7W+G99zars0VO4tKSZSN3MCqkyoJwoFWHomDKcm5zX9MGiu6nGfQCjObyvn/OCdyClTuFK5ld7oX7mXJXFnXwrkhGgFnLkAE0kqdUXo65xJRpIIU4= 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: Create vmi_gather_munmap_vmas() to handle the gathering of vmas into a detached maple tree for removal later. Part of the gathering is the splitting of vmas that span the boundary. Signed-off-by: Liam R. Howlett Reviewed-by: Lorenzo Stoakes --- mm/mmap.c | 80 ++++++++++++++++++++++++++++++++++++++++--------------- 1 file changed, 58 insertions(+), 22 deletions(-) diff --git a/mm/mmap.c b/mm/mmap.c index bd3378935c70..0d03fcf2ac0b 100644 --- a/mm/mmap.c +++ b/mm/mmap.c @@ -2655,32 +2655,30 @@ vmi_complete_munmap_vmas(struct vma_iterator *vmi, struct vm_area_struct *vma, } /* - * do_vmi_align_munmap() - munmap the aligned region from @start to @end. + * vmi_gather_munmap_vmas() - Put all VMAs within a range into a maple tree + * for removal at a later date. Handles splitting first and last if necessary + * and marking the vmas as isolated. + * * @vmi: The vma iterator * @vma: The starting vm_area_struct * @mm: The mm_struct * @start: The aligned start address to munmap. * @end: The aligned end address to munmap. * @uf: The userfaultfd list_head - * @unlock: Set to true to drop the mmap_lock. unlocking only happens on - * success. + * @mas_detach: The maple state tracking the detached tree + * @locked_vm: a pointer to store the VM_LOCKED pages count. * - * Return: 0 on success and drops the lock if so directed, error and leaves the - * lock held otherwise. + * Return: 0 on success */ static int -do_vmi_align_munmap(struct vma_iterator *vmi, struct vm_area_struct *vma, +vmi_gather_munmap_vmas(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) + unsigned long end, struct list_head *uf, + struct ma_state *mas_detach, unsigned long *locked_vm) { struct vm_area_struct *next = NULL; - struct maple_tree mt_detach; int count = 0; int error = -ENOMEM; - unsigned long locked_vm = 0; - MA_STATE(mas_detach, &mt_detach, 0, 0); - mt_init_flags(&mt_detach, vmi->mas.tree->ma_flags & MT_FLAGS_LOCK_MASK); - mt_on_stack(mt_detach); /* * If we need to split any vma, do it now to save pain later. @@ -2719,15 +2717,15 @@ do_vmi_align_munmap(struct vma_iterator *vmi, struct vm_area_struct *vma, goto end_split_failed; } vma_start_write(next); - mas_set(&mas_detach, count); - error = mas_store_gfp(&mas_detach, next, GFP_KERNEL); + mas_set(mas_detach, count++); + error = mas_store_gfp(mas_detach, next, GFP_KERNEL); if (error) goto munmap_gather_failed; + vma_mark_detached(next, true); if (next->vm_flags & VM_LOCKED) - locked_vm += vma_pages(next); + *locked_vm += vma_pages(next); - count++; if (unlikely(uf)) { /* * If userfaultfd_unmap_prep returns an error the vmas @@ -2752,7 +2750,7 @@ do_vmi_align_munmap(struct vma_iterator *vmi, struct vm_area_struct *vma, #if defined(CONFIG_DEBUG_VM_MAPLE_TREE) /* Make sure no VMAs are about to be lost. */ { - MA_STATE(test, &mt_detach, 0, 0); + MA_STATE(test, mas_detach->tree, 0, 0); struct vm_area_struct *vma_mas, *vma_test; int test_count = 0; @@ -2772,6 +2770,48 @@ do_vmi_align_munmap(struct vma_iterator *vmi, struct vm_area_struct *vma, while (vma_iter_addr(vmi) > start) vma_iter_prev_range(vmi); + return 0; + +userfaultfd_error: +munmap_gather_failed: +end_split_failed: + abort_munmap_vmas(mas_detach); +start_split_failed: +map_count_exceeded: + return error; +} + +/* + * do_vmi_align_munmap() - munmap the aligned region from @start to @end. + * @vmi: The vma iterator + * @vma: The starting vm_area_struct + * @mm: The mm_struct + * @start: The aligned start address to munmap. + * @end: The aligned end address to munmap. + * @uf: The userfaultfd list_head + * @unlock: Set to true to drop the mmap_lock. unlocking only happens on + * success. + * + * Return: 0 on success and drops the lock if so directed, error and leaves the + * lock held otherwise. + */ +static int +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 maple_tree mt_detach; + MA_STATE(mas_detach, &mt_detach, 0, 0); + mt_init_flags(&mt_detach, vmi->mas.tree->ma_flags & MT_FLAGS_LOCK_MASK); + mt_on_stack(mt_detach); + int error; + unsigned long locked_vm = 0; + + error = vmi_gather_munmap_vmas(vmi, vma, mm, start, end, uf, + &mas_detach, &locked_vm); + if (error) + goto gather_failed; + error = vma_iter_clear_gfp(vmi, start, end, GFP_KERNEL); if (error) goto clear_tree_failed; @@ -2782,12 +2822,8 @@ do_vmi_align_munmap(struct vma_iterator *vmi, struct vm_area_struct *vma, return 0; clear_tree_failed: -userfaultfd_error: -munmap_gather_failed: -end_split_failed: abort_munmap_vmas(&mas_detach); -start_split_failed: -map_count_exceeded: +gather_failed: validate_mm(mm); return error; } From patchwork Wed Jul 10 19:22:34 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: 13729608 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 A1B0FC3DA41 for ; Wed, 10 Jul 2024 19:24:13 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 455B66B00AE; Wed, 10 Jul 2024 15:23:49 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 3D12B6B00B2; Wed, 10 Jul 2024 15:23:49 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 044596B00B1; Wed, 10 Jul 2024 15:23:48 -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 D0E0E6B00AE for ; Wed, 10 Jul 2024 15:23:48 -0400 (EDT) Received: from smtpin21.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay03.hostedemail.com (Postfix) with ESMTP id 8AB99A01EA for ; Wed, 10 Jul 2024 19:23:48 +0000 (UTC) X-FDA: 82324817736.21.8CFFA7D Received: from mx0b-00069f02.pphosted.com (mx0b-00069f02.pphosted.com [205.220.177.32]) by imf05.hostedemail.com (Postfix) with ESMTP id 41141100022 for ; Wed, 10 Jul 2024 19:23:45 +0000 (UTC) Authentication-Results: imf05.hostedemail.com; dkim=pass header.d=oracle.com header.s=corp-2023-11-20 header.b=PhNxe6Wr; dkim=pass header.d=oracle.onmicrosoft.com header.s=selector2-oracle-onmicrosoft-com header.b=t1uZ4w07; spf=pass (imf05.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=1720639409; 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=l1bikM7qDZXJmibT+K9xa3k5hYIYZogr/swJJwrXmuo=; b=t22c4j9bAWKK3wLDzNji4yd1BVjRdYylX7jjF5Ndhh0gc9RrvAMMOxI4YywCf+ETGFRyn5 KY0CC0svZqYBdAq1qnz2R5mJ5BNq+upOyx/y5SPae7kZeL7Rm9BSumnwdLHqTMUJBAvam0 0CXdKhTFwTyfxzU9RNsBj8ZvzxDdcVE= ARC-Authentication-Results: i=2; imf05.hostedemail.com; dkim=pass header.d=oracle.com header.s=corp-2023-11-20 header.b=PhNxe6Wr; dkim=pass header.d=oracle.onmicrosoft.com header.s=selector2-oracle-onmicrosoft-com header.b=t1uZ4w07; spf=pass (imf05.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=1720639409; a=rsa-sha256; cv=pass; b=ORbvcSBz4WNs1ykz8KKIRBs8bjsdy4f46+6DVBkQK6KbpK130p2OhxnLHk/TGnE0cUkkpT 83OfVpTMy41Dpv5II1q25jCOmoK3F51dDiNIpfugLZ3MzMB1riJx3aeat6kprfYrbextvh GVfYB1UzaeMDP7VuxCZQJwqpE7mH5is= 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 46AG6eq5017502; Wed, 10 Jul 2024 19:23:34 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=l1bikM7qDZXJmibT+K9xa3k5hYIYZogr/swJJwrXmuo=; b= PhNxe6WrhJimgdDnXMYCE0iWgRt1v9klUnXJ6sJqAycID54+T9tszT2UOq3SXQpw o5zooxJuye5+gVu4DWYBt6xv2W91v16Veuhu52UVTcKrhlSeE6r4DEhCBiPo+4I/ ztAcREaIkKpwuNMqBmZH65M0ne1m1vFwEyYNkKrlrhSHObOBI09wl7v5gJJfBQyL A6l73xqIFEdSxz/7FS/lL4Y0hgAdXOLXOVcy+vN8AKQp6kTu/iYjNEWdklYO8PCG WSQyCuen7e4mT6eTtDeNI50XGA3vrd16xAD+Z5S9rdkkwFUuM1eg8+/Rs5/+cVUS OpQiFd4mDdYsy6nkoanceA== Received: from phxpaimrmta02.imrmtpd1.prodappphxaev1.oraclevcn.com (phxpaimrmta02.appoci.oracle.com [147.154.114.232]) by mx0b-00069f02.pphosted.com (PPS) with ESMTPS id 406wybr4d5-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Wed, 10 Jul 2024 19:23:33 +0000 (GMT) Received: from pps.filterd (phxpaimrmta02.imrmtpd1.prodappphxaev1.oraclevcn.com [127.0.0.1]) by phxpaimrmta02.imrmtpd1.prodappphxaev1.oraclevcn.com (8.17.1.19/8.17.1.19) with ESMTP id 46AIihMF033699; Wed, 10 Jul 2024 19:23:32 GMT Received: from nam12-mw2-obe.outbound.protection.outlook.com (mail-mw2nam12lp2042.outbound.protection.outlook.com [104.47.66.42]) by phxpaimrmta02.imrmtpd1.prodappphxaev1.oraclevcn.com (PPS) with ESMTPS id 409vv1948k-4 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Wed, 10 Jul 2024 19:23:32 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=DMgvQAPapRX9JonYseuxzWf5u21EWFMbeCSURODDHH0Yr1YPgOX9iOFkmEufqZEvqYrH4NsotnKkE6RoXoQ4fGXE89PDvGpxoHUf6Lnp3GQh7QdtPF4j+/3iecH7XzBIMLlXYC2JNEvXzXHisQETwo2um+XqyaB9JXQIpxFvUoZpsRbCv82nBhG1hysT2J+kIx/wka1Ik5AlSdICGp9zZYJz0XLa0uKl/9pnLaTHqmBVlm/vdVxDBeuQ7Opj6Vzt8jqYBWhhpWPOk15W7pP+qdp8mXGVzQQ08cCeSna4SzFIUo2e71K2p+h1hN6Tjlae30ARFhYqUcI0IQLZ7gYR6w== 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=l1bikM7qDZXJmibT+K9xa3k5hYIYZogr/swJJwrXmuo=; b=IxNvpqP0y252vjoc+DKo6HfYwPHplLN34f0YqjAfNlJcCelmaxlCqzpGF80tub6/OXH9RL7LTvbNGh1XsAS/hNXK3w4/5liVtsALGwZLPKGEN3AXVPVx+3j5Kz74HielRKL+Xs3Tb/bytP7XIjQo4l4rh0oZ1rlUcO5kUtUs/0GLmXjtte378HV3uFDI+b5lk8pIqoy/oeo0ORGHUkM4WcdJCNetmvwUN+XfrjiBe6qLEUQTXyVF9Y+opCI7yx5YrSacBdOqs8G/fJKr3F/P0+VSHaPeSkw+breDzE7w/LkBWkXSnj3Wo0VF1vzLtFtTCmJX4OapyG4Txfutc9pQ5w== 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=l1bikM7qDZXJmibT+K9xa3k5hYIYZogr/swJJwrXmuo=; b=t1uZ4w072K6lQeI0nI1gVC8yl51YhDNFOS+DGUAiVz9iBsksfr9ZD33q6A2yX/879Zw1+rKv0Fnbjev2zvlkCBxDRL+VXDNckhOuNAjrHMUivxGx4lK3DC5a2Ek9eQqhD4eni1SOYp2+56j9kBX8GQr+5B//99/w7aEhFqg5Jus= Received: from DS0PR10MB7933.namprd10.prod.outlook.com (2603:10b6:8:1b8::15) by DS0PR10MB7295.namprd10.prod.outlook.com (2603:10b6:8:f7::5) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7741.36; Wed, 10 Jul 2024 19:23:09 +0000 Received: from DS0PR10MB7933.namprd10.prod.outlook.com ([fe80::2561:85b0:ae8f:9490]) by DS0PR10MB7933.namprd10.prod.outlook.com ([fe80::2561:85b0:ae8f:9490%3]) with mapi id 15.20.7741.033; Wed, 10 Jul 2024 19:23:09 +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" , Lorenzo Stoakes Subject: [PATCH v4 05/21] mm/mmap: Introduce vma_munmap_struct for use in munmap operations Date: Wed, 10 Jul 2024 15:22:34 -0400 Message-ID: <20240710192250.4114783-6-Liam.Howlett@oracle.com> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20240710192250.4114783-1-Liam.Howlett@oracle.com> References: <20240710192250.4114783-1-Liam.Howlett@oracle.com> X-ClientProxiedBy: YTBP288CA0001.CANP288.PROD.OUTLOOK.COM (2603:10b6:b01:14::14) To DS0PR10MB7933.namprd10.prod.outlook.com (2603:10b6:8:1b8::15) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: DS0PR10MB7933:EE_|DS0PR10MB7295:EE_ X-MS-Office365-Filtering-Correlation-Id: 96bc9b43-5ea3-4725-c629-08dca115bb4b 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: II+BAusK9PAuxsHVAN0kVVzJzDe3V3V5romBY2yyH9nrOTuhDRHopjsOn3HtKy4f+49rUeWbDIsn0qHcSEC8bYOglbFiIUCYjTsF0O8g3TcJwmQ2zX02JtY9Ea12sRPRYt/CnCL52dY1+kBPE0UiraiF8s0PWhX9QhEdlr30vG3Xvwj/HykVvq1m+v5DHFQMMPJp1EueGadtalrH3NufnMW/1aFjF6kCsVH12Vc4daUhjLN40TSSFpgZ1W7Q8xpd1u7sfQO8lGPhjI1OfgMjzj7TtrshLkYqiItYN9uRAijRrcBOFQ9Wck//CwvLVGPK6K0C4knmEY46lxW6fU/ZFYULQAdS4MXj3QnZT8za61PKz8HxO4+tfcXhXAHK9qm3Fn+Gdj3U54I4uO5eWbugWHAkTNRPMblW84kXVWtAG1BGwJZo0/u4dAJej/QT3EAB/zDG67JRfrPXsy9Tbt4Qhn4ei1gxkWVTp4mlkfasXHfllJKzsrvqi56SXxbU2ESHJwsu7EDQlYz6r0eRI68yuQhilYSYLqAX1MuEUf9y7JB9og0yZY6WgZumyrNB5n3m7b9PWDvunL6tw9SJMkaFIz6qyiByVdYoJxwbJDoqqrOXiCRhC0D7SWgZa7yPIrOIflKNHMy8aNl9T4gEB620khuPFKd1eTnDZCZ1dDooOeG3xAuKCfhQoxad+Xh+u58jsoiFlhU7S2PcWVAGP+SWS5zgLQ5214yP/7M40bAkXQA3oSs1eekGjaIpwlGli0xxrwbHUSht0+tlXo6HGMSXv03AdLog+6UD82ywBw4O6us5JvyH2FmdlkJIdT77Igkp+YUOhqwKW7u7ViSZY0JF/9mcUCYIHwY4LDuuJhJsQEDEOuBA8Uy16vwneyuzZbT1i6kcah6BJUnC6jdCFl8nIqDnNNWs37xrMkmw/GZZezN3ScYdPuDPjR5sZPbNzGOhHN+FUJHpagP22irkf+CkVdyH54k9ALTKC+ruH4PCGYCGJTiyd3D/uHVd0qYaVHAISjMaEU90Y7DNBJofXfL2Yf9aZywHs301EatvQ2cie7LPUkfMfsbrwqlKvjGKCdKiCoE+QJGu+eZSKQ6b5+51bjVB2FslKYgd6jfaJuKYdfZ67r/r6tQeikpDsm5ODjvYOHScHf0ZGuCIzOr95SmDMLtwet3H0AfaiJOWf40+irkkJFKJatKve7FOpHD2dB6ue7v8+eP+BvmtCZUXLdIAvWNNYusiOKUCfsF2kKv5t+sRfRWZwmR95CPhpFw2TUmtBHgoS1k6j9A7OQfx95YX4nKUi0VTbz60RqGtpebu/Aj983tlfAZIXa0wYqYDVSxWI+E/gaF+v5Qe3yxOnlSbpQ== 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)(366016)(376014)(7416014)(1800799024);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: bS6TzQ/LMTLvoAbmH7ZegUf50gV0WK/ePWk/SJ6YKMna9d508/7JcGCc6J1ljfe/J34/mQCSPXByxGN+0oh3I67H/ZwupJTam3nL0/pyDbL6OkrShOjH4vk1E+q2U5LbKHEamoqXcu38E1oMiPmV5kfGYAr/dPoaIFoj7TgOCuarDzzMqfZy3CiBSi3ZGZb/H1JkMHFfr7rpVp0jBW38bmeJh0AkyrNAh/OnOk/CypYx6a4cGvWQp0L7mdiXL1By8xAS1a2TQ27YwCVdAo3zvGHmXZy4DyZumi26xHm10Z+GeBRi958kJUV4Uji3nuwcUGnLfsmKtX9+tYx+uf+nG4HnTs9ebNYfc50lQ3BMtL8kHH+JmHM7DG9W72/i2rrdtgAZopz1+8FcOdTHjlo55sRH+cl8EiyjuZb/UQhcpJEKeCdPThcLm2426eOnuud8ACgJWx7YVSgntoTrhRVahQvPLAKDJywXE3GbDssaKZ5Aj6rVvKy2rRGWrQfRE9waWQVBJBvn1Fh9zn9HkRxBfca/BMrH+b5HMeASY0N5oauIVZNnbIHqmtpQHp7LQsoWYzmOdW0sfDt+yuNr/zEASDiy4QuGcWS9lYMnulYo9XAq+/sOCpv9GPaUYXTaUovrSNeldWtDtgxptmpUYVTGCFUv9CegKzOALTMHuC5tPkPQFhDWid/HVdWEQni8xnyFGTs8cELJ8nZEf+jy0lXCP3nWge/PXNjRKhLB4USm7bFcWAW97Kwg7kklf7r4Ly3/B7QpDqfHmQEX72B/rN5IYUfyfNH8Fvn3SKXJNh4fJd/1m9wGCJ6IP/KQjnPE8463X8U5VmRFqAVtcVX/naL+1zW/NAbBg0BQl2Opq991wA96W31cc3mmnfBK7fucipLrnvB+P+hWz+Rm58L13pqe6XWVVO0jrqyMN7n8swn9mN0xyoP35knX7NCQqLcuDGbcIgOO2eZwftu3mm9RnHF6iiWeS/cV+JICmhoZNQha9z8ttB4Bh/WmMLzoHNmSDRDZ4dqfqJSKr4tLJAM5j/5anOXj4TcKcpmRVccLUn4U8HoLm28ABOyIjTq2+pujiI7taAshoauKDSDNB26xshwE0U1dM4FVDVzGuMPhr+X8hRhkddafN9gn22+eH6siFyvRYTSN7C+/OQyQi8BddfQBHAeBOXhuiWCauMeg9CHf2dXPR0eGT6EANILBkInnUeZla8h7dvOpSgCNM1dzGzH83eYfd/fQneh9yJFiKdzaa/OlI8A8Y1DYw+kDKZ9hEfZpEysxWGGHMQYd8yiIPUqZAphTlH4ddEJbsEAyU3roJxmm3HFIiIIgSRTxL6qN6rI0ZoRf/TnZSbkEMLdYjwGujyYCvVd5QWkXTTohF7HXrtqB9v/1Cvcm3ryP/TisYxicHTfJQOfWrm26v39Rhquc4eXLVCFx7kDWxwG5FOXedrYfB8+ZAQQhY44xjwdyG4v4K3PhDFMwpbeUXkhKHep9VyaOhV6Pc24xwSVLDjVwmIuwweV4BuPlt3Ku4UspPvpOCNbeS2qnlG7E9TxgABKVIWFu6S6EtD0PG+tw452VWFPBtQiWpNHw8ullBDbQiYyuIMNS8CeC4Xto2+dZBSOKqQ== X-MS-Exchange-AntiSpam-ExternalHop-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-ExternalHop-MessageData-0: Y4lz4BfC6GTQ6/XUw6FTkyD9XJsrV/DfWqWUFTjfQRVOYGJkcaYE86U/UrsAMTtx9GNp7edhaBzBN4uZU/LqwGRjc/xAdQN6MXCM9Uv1j9H1jkyXlFWg/Wh13KUf7MZtSYuGT7urrPNMCE6+MS27ZTcYns3PWNw+/ttrvi2veD3ptKlXDA8Ldbhx5X+qJslAcvy38wrhBMfrBM7OctgBgLE5x3JxZ4hGJ1N+TrAycoQXXuJjVT/0cJSuAG4IdFioC2zqHJJnTt4mevvBy9quBOnuLVNNbgFZhOEF8rX13qoOO1YdT2fSRj43h49THqojzl4mLo4jlU/xg4mQgbgaEQ0HC0qsDoI+SW/mh+5m7TocQbuze9WWpIf4bJ26AJ4SpvI6qgLQnYtP6er1BfGv3cSNzQTjGKfraSHjP/5Pzy2Jlk7yKPqh3nccnI/H8pGECaFYMqWdyCKodvLjwWcph/ojpzsBdnXuyPwziQGAUa0wpZH2iMTOua9xNUDXFMYeayIclad9UW7zXNhsI63/T8at1ztY6GVHoW1YLjomc90BGAiFHe/6BNKI+3bJcuZBXV6Iv5SpH+IXbaONMQKjBoTLi1+YLSwUO63Y5iYZY8w= X-OriginatorOrg: oracle.com X-MS-Exchange-CrossTenant-Network-Message-Id: 96bc9b43-5ea3-4725-c629-08dca115bb4b X-MS-Exchange-CrossTenant-AuthSource: DS0PR10MB7933.namprd10.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 10 Jul 2024 19:23:09.0085 (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: 3ftYL95aoAmEhSzOOgCSHo/VsrE6StNAxTNIgbr2vMcm0CLHuVnSlBzCpBZgzJPPJnES4T3meTL/uy9IncMPPA== X-MS-Exchange-Transport-CrossTenantHeadersStamped: DS0PR10MB7295 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-10_14,2024-07-10_01,2024-05-17_01 X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 spamscore=0 bulkscore=0 mlxscore=0 adultscore=0 suspectscore=0 malwarescore=0 phishscore=0 mlxlogscore=999 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2406180000 definitions=main-2407100137 X-Proofpoint-GUID: aSbZQNEFBktszQSSddDGRI6RXCAPM04t X-Proofpoint-ORIG-GUID: aSbZQNEFBktszQSSddDGRI6RXCAPM04t X-Rspamd-Server: rspam03 X-Rspam-User: X-Rspamd-Queue-Id: 41141100022 X-Stat-Signature: 8i5a6jxprzcqnakn6sjero9saexodqe7 X-HE-Tag: 1720639425-405737 X-HE-Meta: U2FsdGVkX1/JEzz/7NPhqSS5dM9dJvJrld4gxGvGtOhCL7na2jXCvPElxjiR5MKPaOFwPJgHnwEsRgtk0nInB0KHOdX8wot1os9SUjZ+anvSSd4tGFvP6UNKB8k0JzFaHVPCHiVICYsMYfVCLJDY5KUuA7opqXj9jjgLUBQOGgUSpXjyJpUY1ORG8vAo3VLUZKzGBYW4qwL2UZ9rgISi8AV5O1C5guMuuWc+ywaabrz7/RUDSfNY88g9ipHLHKBHDx3O7/iSHGhBJBXlmPmf1krelkho5id0i0LEqIZrUMiUcR3zq6dpdg0XWEvQ6tYSLjjTHd/SEOnOHbV1BXtuqNa0rjlfKllWaHfeiwWM6SVfKRFibdUoVb9RwagSQ/vmjOpsn0DxrOfv7Y7ljXkCAILSWuzmFoFdG5KhlPLcXtlFL62eCKkWLiw+FBjZcYnP4piDdm/GIB+awgvLcdlFhZOmQNREOxZZspC88qWqyWS/y/+0T7jcVf8/Au8RwnFb3kdmW42dIJWhqymqx9EBw+Dl1IrgD7DCvH7XYHrMW2vGJRL+cBwPwWOUNfUKtkt8MnJHLtLXZbC5Fb/R3KztWN9VaAlK+nMqbI7zSrPyBIH08EXZNN8g+FwYIjSUykYWwNUSMg0cJ3Utxu7KfH0/Yb1nTtmZ4iamLHvozswlp8dCQp57nD6cKriCzSZ2IlSyEoTBhKatEnkb1HuHQpNTv8yOwRPIdIVoaqNm+hZrg4Pbkgz3edAWtgmAED4Lq0wTmT8zl/l8H4rcKTpNfqLhQnegj9aexeVowAR6RHjy9lZKWw9vW8z7mqHIPFup1Drx5ENRPG9iBJt4u21ibfjCZyrs3cQAbFLB8Xi9YTOqyHCzH6ms9St+iYrEGZGrfsjlubML/rDTG8Bnt1OmwcgYdzmPdxA9JLb2VAInEFKVuAmaNJhHzNFXxQD6kY6je7fXEgnG/n7bIJu4wNhD3MB Mzur84r8 7697HT2SZmeMKVTUNg6+axagqc5sV/nqtg/YVWoGeuKRc2ZgGNVz/gwLMZpGDZe8y5Jw6prK+M9r8EtWXdezGEHdQJLG2AIJE44O5dS+50eIwvJiwr6h8yo9jDNx73zSbTorksocMLnrvjp3iXIumt2VTK7LcCcjvQL2b9x3SlTQQaAc82F7wiYqSCZymrcApGwKwMfH/o6BZgrFf2WYEdVRrbT0tOMZWK5iXjP7SNNpT1V9sgWfuU2qmch0c+zsc0MYziADt66kbKhPbnaOF1S/3KsOXpe7/7vV+Dxrj3B9mUUvNmZJsqMoGRSVjIAO3OFTht5J7PyYvdPBiEJvh5rJRj4BDTba+g6kwU5YY5+UADCFpCyH9r5pqyqNyrrtryApaBGZ6PjvjoK2D1d9WLxZJ3tayuS04IAp4gqq+iGj677jXd+DodCB2SBupQF80WGQmc3RZy4eSO4zVC7NM6U17xmPLl4pbJaZzi2ZVkSv0Mjmhs501KjNCT50Jqy54P8HyiGQjZI0hRPwmb6adR2rCXqnA+2BF5lgF 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: Use a structure to pass along all the necessary information and counters involved in removing vmas from the mm_struct. Update vmi_ function names to vms_ to indicate the first argument type change. Signed-off-by: Liam R. Howlett Reviewed-by: Suren Baghdasaryan Reviewed-by: Lorenzo Stoakes --- mm/internal.h | 16 ++++++ mm/mmap.c | 138 ++++++++++++++++++++++++++------------------------ 2 files changed, 89 insertions(+), 65 deletions(-) diff --git a/mm/internal.h b/mm/internal.h index 2ea9a88dcb95..43b3c99c77ba 100644 --- a/mm/internal.h +++ b/mm/internal.h @@ -1481,6 +1481,22 @@ struct vma_prepare { struct vm_area_struct *remove2; }; +/* + * vma munmap operation + */ +struct vma_munmap_struct { + struct vma_iterator *vmi; + struct mm_struct *mm; + struct vm_area_struct *vma; /* The first vma to munmap */ + struct list_head *uf; /* Userfaultfd list_head */ + unsigned long start; /* Aligned start addr (inclusive) */ + unsigned long end; /* Aligned end addr (exclusive) */ + 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 */ + bool unlock; /* Unlock after the munmap */ +}; + void __meminit __init_single_page(struct page *page, unsigned long pfn, unsigned long zone, int nid); diff --git a/mm/mmap.c b/mm/mmap.c index 0d03fcf2ac0b..1ed0720c38c5 100644 --- a/mm/mmap.c +++ b/mm/mmap.c @@ -500,6 +500,31 @@ static inline void init_vma_prep(struct vma_prepare *vp, init_multi_vma_prep(vp, vma, NULL, NULL, NULL); } +/* + * init_vma_munmap() - Initializer wrapper for vma_munmap_struct + * @vms: The vma munmap struct + * @vmi: The vma iterator + * @vma: The first vm_area_struct to munmap + * @start: The aligned start address to munmap + * @end: The aligned end address to munmap + * @uf: The userfaultfd list_head + * @unlock: Unlock after the operation. Only unlocked on success + */ +static inline void init_vma_munmap(struct vma_munmap_struct *vms, + struct vma_iterator *vmi, struct vm_area_struct *vma, + unsigned long start, unsigned long end, struct list_head *uf, + bool unlock) +{ + vms->vmi = vmi; + vms->vma = vma; + vms->mm = vma->vm_mm; + vms->start = start; + vms->end = end; + vms->unlock = unlock; + vms->uf = uf; + vms->vma_count = 0; + vms->nr_pages = vms->locked_vm = 0; +} /* * vma_prepare() - Helper function for handling locking VMAs prior to altering @@ -2603,81 +2628,63 @@ static inline void abort_munmap_vmas(struct ma_state *mas_detach) } /* - * vmi_complete_munmap_vmas() - Finish the munmap() operation - * @vmi: The vma iterator - * @vma: The first vma to be munmapped - * @mm: The mm struct - * @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 + * vms_complete_munmap_vmas() - Finish the munmap() operation + * @vms: The vma munmap struct + * @mas_detach: The maple state of the detached vmas * - * This function updates the mm_struct, unmaps the region, frees the resources + * This 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) + +static void vms_complete_munmap_vmas(struct vma_munmap_struct *vms, + struct ma_state *mas_detach) { struct vm_area_struct *prev, *next; - int count; + struct mm_struct *mm; - count = mas_detach->index + 1; - mm->map_count -= count; - mm->locked_vm -= locked_vm; - if (unlock) + mm = vms->mm; + mm->map_count -= vms->vma_count; + mm->locked_vm -= vms->locked_vm; + if (vms->unlock) mmap_write_downgrade(mm); - prev = vma_iter_prev_range(vmi); - next = vma_next(vmi); + prev = vma_iter_prev_range(vms->vmi); + next = vma_next(vms->vmi); if (next) - vma_iter_prev_range(vmi); + vma_iter_prev_range(vms->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); + unmap_region(mm, mas_detach, vms->vma, prev, next, vms->start, vms->end, + vms->vma_count, !vms->unlock); /* Statistics and freeing VMAs */ mas_set(mas_detach, 0); remove_mt(mm, mas_detach); validate_mm(mm); - if (unlock) + if (vms->unlock) mmap_read_unlock(mm); __mt_destroy(mas_detach->tree); } /* - * vmi_gather_munmap_vmas() - Put all VMAs within a range into a maple tree + * vms_gather_munmap_vmas() - Put all VMAs within a range into a maple tree * for removal at a later date. Handles splitting first and last if necessary * and marking the vmas as isolated. * - * @vmi: The vma iterator - * @vma: The starting vm_area_struct - * @mm: The mm_struct - * @start: The aligned start address to munmap. - * @end: The aligned end address to munmap. - * @uf: The userfaultfd list_head + * @vms: The vma munmap struct * @mas_detach: The maple state tracking the detached tree - * @locked_vm: a pointer to store the VM_LOCKED pages count. * * Return: 0 on success */ -static int -vmi_gather_munmap_vmas(struct vma_iterator *vmi, struct vm_area_struct *vma, - struct mm_struct *mm, unsigned long start, - unsigned long end, struct list_head *uf, - struct ma_state *mas_detach, unsigned long *locked_vm) +static int vms_gather_munmap_vmas(struct vma_munmap_struct *vms, + struct ma_state *mas_detach) { struct vm_area_struct *next = NULL; - int count = 0; int error = -ENOMEM; /* @@ -2689,17 +2696,18 @@ vmi_gather_munmap_vmas(struct vma_iterator *vmi, struct vm_area_struct *vma, */ /* Does it split the first one? */ - if (start > vma->vm_start) { + if (vms->start > vms->vma->vm_start) { /* * Make sure that map_count on return from munmap() will * not exceed its limit; but let map_count go just above * its limit temporarily, to help free resources as expected. */ - if (end < vma->vm_end && mm->map_count >= sysctl_max_map_count) + if (vms->end < vms->vma->vm_end && + vms->mm->map_count >= sysctl_max_map_count) goto map_count_exceeded; - error = __split_vma(vmi, vma, start, 1); + error = __split_vma(vms->vmi, vms->vma, vms->start, 1); if (error) goto start_split_failed; } @@ -2708,25 +2716,25 @@ vmi_gather_munmap_vmas(struct vma_iterator *vmi, struct vm_area_struct *vma, * Detach a range of VMAs from the mm. Using next as a temp variable as * it is always overwritten. */ - next = vma; + next = vms->vma; do { /* Does it split the end? */ - if (next->vm_end > end) { - error = __split_vma(vmi, next, end, 0); + if (next->vm_end > vms->end) { + error = __split_vma(vms->vmi, next, vms->end, 0); if (error) goto end_split_failed; } vma_start_write(next); - mas_set(mas_detach, count++); + mas_set(mas_detach, vms->vma_count++); error = mas_store_gfp(mas_detach, next, GFP_KERNEL); if (error) goto munmap_gather_failed; vma_mark_detached(next, true); if (next->vm_flags & VM_LOCKED) - *locked_vm += vma_pages(next); + vms->locked_vm += vma_pages(next); - if (unlikely(uf)) { + if (unlikely(vms->uf)) { /* * If userfaultfd_unmap_prep returns an error the vmas * will remain split, but userland will get a @@ -2736,16 +2744,17 @@ vmi_gather_munmap_vmas(struct vma_iterator *vmi, struct vm_area_struct *vma, * split, despite we could. This is unlikely enough * failure that it's not worth optimizing it for. */ - error = userfaultfd_unmap_prep(next, start, end, uf); + error = userfaultfd_unmap_prep(next, vms->start, + vms->end, vms->uf); if (error) goto userfaultfd_error; } #ifdef CONFIG_DEBUG_VM_MAPLE_TREE - BUG_ON(next->vm_start < start); - BUG_ON(next->vm_start > end); + BUG_ON(next->vm_start < vms->start); + BUG_ON(next->vm_start > vms->end); #endif - } for_each_vma_range(*vmi, next, end); + } for_each_vma_range(*(vms->vmi), next, vms->end); #if defined(CONFIG_DEBUG_VM_MAPLE_TREE) /* Make sure no VMAs are about to be lost. */ @@ -2754,21 +2763,21 @@ vmi_gather_munmap_vmas(struct vma_iterator *vmi, struct vm_area_struct *vma, struct vm_area_struct *vma_mas, *vma_test; int test_count = 0; - vma_iter_set(vmi, start); + vma_iter_set(vms->vmi, vms->start); rcu_read_lock(); - vma_test = mas_find(&test, count - 1); - for_each_vma_range(*vmi, vma_mas, end) { + vma_test = mas_find(&test, vms->vma_count - 1); + for_each_vma_range(*(vms->vmi), vma_mas, vms->end) { BUG_ON(vma_mas != vma_test); test_count++; - vma_test = mas_next(&test, count - 1); + vma_test = mas_next(&test, vms->vma_count - 1); } rcu_read_unlock(); - BUG_ON(count != test_count); + BUG_ON(vms->vma_count != test_count); } #endif - while (vma_iter_addr(vmi) > start) - vma_iter_prev_range(vmi); + while (vma_iter_addr(vms->vmi) > vms->start) + vma_iter_prev_range(vms->vmi); return 0; @@ -2804,11 +2813,11 @@ do_vmi_align_munmap(struct vma_iterator *vmi, struct vm_area_struct *vma, MA_STATE(mas_detach, &mt_detach, 0, 0); mt_init_flags(&mt_detach, vmi->mas.tree->ma_flags & MT_FLAGS_LOCK_MASK); mt_on_stack(mt_detach); + struct vma_munmap_struct vms; int error; - unsigned long locked_vm = 0; - error = vmi_gather_munmap_vmas(vmi, vma, mm, start, end, uf, - &mas_detach, &locked_vm); + init_vma_munmap(&vms, vmi, vma, start, end, uf, unlock); + error = vms_gather_munmap_vmas(&vms, &mas_detach); if (error) goto gather_failed; @@ -2817,8 +2826,7 @@ do_vmi_align_munmap(struct vma_iterator *vmi, struct vm_area_struct *vma, goto clear_tree_failed; /* Point of no return */ - vmi_complete_munmap_vmas(vmi, vma, mm, start, end, unlock, &mas_detach, - locked_vm); + vms_complete_munmap_vmas(&vms, &mas_detach); return 0; clear_tree_failed: From patchwork Wed Jul 10 19:22:35 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: 13729703 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 27EB6C3DA42 for ; Wed, 10 Jul 2024 21:05:53 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id B40756B00A7; Wed, 10 Jul 2024 17:05:52 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id AC9DF6B00AA; Wed, 10 Jul 2024 17:05:52 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 8CDBB6B00AC; Wed, 10 Jul 2024 17:05:52 -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 639906B00A7 for ; Wed, 10 Jul 2024 17:05:52 -0400 (EDT) Received: from smtpin22.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay08.hostedemail.com (Postfix) with ESMTP id 1B08D140205 for ; Wed, 10 Jul 2024 21:05:52 +0000 (UTC) X-FDA: 82325074944.22.A225E0E Received: from mx0a-00069f02.pphosted.com (mx0a-00069f02.pphosted.com [205.220.165.32]) by imf30.hostedemail.com (Postfix) with ESMTP id AF9F380027 for ; Wed, 10 Jul 2024 21:05:48 +0000 (UTC) Authentication-Results: imf30.hostedemail.com; dkim=pass header.d=oracle.com header.s=corp-2023-11-20 header.b=WxYut9Nq; dkim=pass header.d=oracle.onmicrosoft.com header.s=selector2-oracle-onmicrosoft-com header.b=RzOECqxY; spf=pass (imf30.hostedemail.com: domain of liam.howlett@oracle.com designates 205.220.165.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=1720645533; 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=krst5Gkm7JY0suARBFyucKPoaXoJgRFwa+fItqdxLmI=; b=gzzDPKldxQDsrd50VW0dZXY+vwHAWxZNDWalOtHaVd6ZYMwhqdxpBh0Va+rY1btYbUXS3A WhPswsx6D8JDBOIN2usmEbQAgvoYN388zdcN0ZB2jbkC7q8gKI4WCDTNZJ5kM6aH0wOwUo Gjgf6eMoDL27ytF1o2EmCrTkFLH8h2Y= ARC-Authentication-Results: i=2; imf30.hostedemail.com; dkim=pass header.d=oracle.com header.s=corp-2023-11-20 header.b=WxYut9Nq; dkim=pass header.d=oracle.onmicrosoft.com header.s=selector2-oracle-onmicrosoft-com header.b=RzOECqxY; spf=pass (imf30.hostedemail.com: domain of liam.howlett@oracle.com designates 205.220.165.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=1720645533; a=rsa-sha256; cv=pass; b=Q1mxO9g3zZDZYpOTa4DLmYM2hjhndaM8GqW/yOV3VOTY92G8FEXQTH1B2zeCaiDyctDbz8 KK5iUGlDJzOtKAswXxFVeKqCj8dszWOCE9T5f9zyf6/ixQHmrl0IdrPIgq3nDll6Iz3H4t JgwSq6WwDPK9ZeP1nW2Bfi0ILF0aDVc= Received: from pps.filterd (m0246627.ppops.net [127.0.0.1]) by mx0b-00069f02.pphosted.com (8.18.1.2/8.18.1.2) with ESMTP id 46AFo7Jf029670; Wed, 10 Jul 2024 19:23:34 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=krst5Gkm7JY0suARBFyucKPoaXoJgRFwa+fItqdxLmI=; b= WxYut9Nqu5LOZZdFbF6t8xW6KhmkTwrjYXeAwQQ8AN+9XTd/azF0isBuzXRd3wbH 4geDGk3reuqTDXM9Etw5iW8N+rflht0ZW3WDv0YMRrdGukjkvlJNOUje2G9KwiWx n/ufetmNS+3LdE2Xeot1htVI0zzLAgk3XnovNUFYakYMn9vIeKgLdZpcRGEqy03O e9NwLTlPOtBlG8/q20tvsTHcqxH8+8mCBae8YOf8ZM87ksq780wQBHvDuqPEREmf Ojt8NpsILiGVfvDmM7Oqt4k/Uh8w1evNB0f/ni6LFfy8vgV2zgm8ivSSrrGqkBSQ F5Woc7bIZX2NJnolF/N0Qg== Received: from phxpaimrmta02.imrmtpd1.prodappphxaev1.oraclevcn.com (phxpaimrmta02.appoci.oracle.com [147.154.114.232]) by mx0b-00069f02.pphosted.com (PPS) with ESMTPS id 406wgq02f1-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Wed, 10 Jul 2024 19:23:34 +0000 (GMT) Received: from pps.filterd (phxpaimrmta02.imrmtpd1.prodappphxaev1.oraclevcn.com [127.0.0.1]) by phxpaimrmta02.imrmtpd1.prodappphxaev1.oraclevcn.com (8.17.1.19/8.17.1.19) with ESMTP id 46AIihMG033699; Wed, 10 Jul 2024 19:23:33 GMT Received: from nam12-mw2-obe.outbound.protection.outlook.com (mail-mw2nam12lp2042.outbound.protection.outlook.com [104.47.66.42]) by phxpaimrmta02.imrmtpd1.prodappphxaev1.oraclevcn.com (PPS) with ESMTPS id 409vv1948k-5 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Wed, 10 Jul 2024 19:23:33 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=BHegmWjrH0CWEgb1FJXTQdQztNBgZsXHWOFFosmxQprXIDyDMB0MtCuKKkoAc9NQU3DMFsT/S/uS3AvPdF0rOP2jcyRL5TJaY7Y4KaSKQ7ruQetdOWknDKRjjSTafurVzxshQKzcA9Mj8LkBnYhh6HeaFaKYiOa213ViRKRtTVRh+9nh+oGElyDPBgirs2GO91QYy2kowfzsq4jUboQgZOV8HUhke1jKU/YjqBMgqxN2xIR0GfVkY+BdWcyjBaEp0mtA23vmsBp8pu6Cw8pMZpTtHGEAdyn2I6jirHjniUUv/e+453tEz2ItzvJfvuff/9GjYP59BFkgvCGnHdziwA== 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=krst5Gkm7JY0suARBFyucKPoaXoJgRFwa+fItqdxLmI=; b=oF2GqXNVN0+ZXk7V35laZsJz9rVpxA5JbGKVh6Q59+bmjj+8ipMgfbR1h5oXrH+LMULZtj72dhkN2dmAsQO8ENpFtr1pV2NjsHP8/EyqcJ9NOVkCW3JBC8632548+m56hVRDNHBPb0ZnwCOjWjZVuuB36s99W2c+fkiAAQ2nxkkNyvBJ0U+qaacD9tc7M2po3rrPOj1eoVW3LKO0TnfXKnUeBX0XDHTmFOp7MFlWA4hdxgduc4ScB8DbZ7F2OsGlcDL15zGm+RrstR0hgzbAW48flyETM/kVsS75/L/4hpE6XzaInP6fY2xrT7wy6o6olZbovyhoyM1NioX4PbbXFA== 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=krst5Gkm7JY0suARBFyucKPoaXoJgRFwa+fItqdxLmI=; b=RzOECqxYZ6VYkZrRy7cUJkMdR7je6PYXfMcsPHMxyNwtzPRLMmyPP2dAPL9PPmswXZBlNizozbYc3Ulc6eIrViPxSVNIem7r/aXhKZK+9vLzhZS+fMZWcRKbPFHJ+BH2yMvuorHuc4mq88vuKul9PCQDBJv2YfHGVAKJLf5TH3g= Received: from DS0PR10MB7933.namprd10.prod.outlook.com (2603:10b6:8:1b8::15) by DS0PR10MB7295.namprd10.prod.outlook.com (2603:10b6:8:f7::5) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7741.36; Wed, 10 Jul 2024 19:23:11 +0000 Received: from DS0PR10MB7933.namprd10.prod.outlook.com ([fe80::2561:85b0:ae8f:9490]) by DS0PR10MB7933.namprd10.prod.outlook.com ([fe80::2561:85b0:ae8f:9490%3]) with mapi id 15.20.7741.033; Wed, 10 Jul 2024 19:23:11 +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" , Lorenzo Stoakes Subject: [PATCH v4 06/21] mm/mmap: Change munmap to use vma_munmap_struct() for accounting and surrounding vmas Date: Wed, 10 Jul 2024 15:22:35 -0400 Message-ID: <20240710192250.4114783-7-Liam.Howlett@oracle.com> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20240710192250.4114783-1-Liam.Howlett@oracle.com> References: <20240710192250.4114783-1-Liam.Howlett@oracle.com> X-ClientProxiedBy: YT2PR01CA0016.CANPRD01.PROD.OUTLOOK.COM (2603:10b6:b01:38::21) To DS0PR10MB7933.namprd10.prod.outlook.com (2603:10b6:8:1b8::15) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: DS0PR10MB7933:EE_|DS0PR10MB7295:EE_ X-MS-Office365-Filtering-Correlation-Id: d15f6b1e-83df-4032-fcb5-08dca115bc9b 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: awF/FkNLjhnlny0gicOkOh9wYoSO9ANd/5n59m0l/lnMhAQJHQCyiYY65/HRHLGmRhsmQbjeDiXprA2Ao593a6hS8Y8wURCKia/Qww74p/7TLC+Eg1egATWzAINd9C/CxG49Isw3ywhE3BBkhRhN9MyqtcWZIXZbqxc6AidupYQyM1UmCO+yoss9hcqQKUVmcTkSzW6BFfWvGL+uWh9UFzBW1wQOwz9s/+ScVUP18vJQotwFwiHlMYsaN3XYc7F2KHhOQfkqB0FIruCr5gEH4tXixE4KKhvCss59HWowkOuCMwNXfvZgqn9BGymct8fLFrPnR0P4uVKtVDIqAUakrcW89IMZEC+zPY89vndaiNN3FTryz54q/yQLYadnqHi9qOLuQYQX+8glQdXYyugqXosAs7vJ57+EC1mWGg7m0aV1uqmyTJpXIjP58YpatMhL5WfE4H3JuWJtx0RngA1x0qlYE++c6OMUf4CCAkGlAg89tF2q8cgLutnD/xH8o+aKr1jUB82TAJEd5LWs2+fM7AOItQt0da2yw1zu4mzmAbGgXzfKCIet/2KVPuVxUIfUcmr5esdXMZ9JUoT1nfAX3OjCYuc5SzvPuMWI1O7TXb1Q7cDr3Vg9/l1LwO9qpzS7O9EhekSfAySmvta9H6Rj3nyjqoQVM/Oot2ZKQ67OgrlkmbSKgG2sW3knMw0CS0bNley889b48rM2sb6jMVSZmmTvk7jF6LALxkstCp20KaULWPIkvtzZyg1DcHlXHbgsJVWCgou8LxJHcRC+BEDJG/ylQuhdq3k/4Stn/Klzq4IY/7Vxy8fFIxxi5TzFEXyTQ9+9t+PhAO5swyXLiu85rdvk9i6hXlovKZ7pDILKB81jW7fGZAEri3f/7na/PntG/JDv/eqMINlFui0nPk77zUsms5i9sD9flGUR3z1AMfXEovmBY0EEzd/h6xTsY+ykpgoKy4yU7qOSgE9RAwNQImCvYUYDFNPGwaXWV9ANxIXQYnqgtg24ZcLzOef5e9HcAkfikt4UNne6LjoTbkbpW4UKzLTV3kfYbXOAnDkhhEjlVaM2bvXh8i5kDLuzwwqlrJq75TmPY+UEM5tiYv+wWcOhabQtmhu+N6pzzOdya893pwxorBKayLLfk0hr1A6awvaxQnjpKP32a4NJ/wgokQQqzJkZxiPUJBLhMGGgp0W+E+sS5PxRW6sx8cqyYSmnpBVrLL7NAk+oHfkpGPvu0+9pdmN8C+3CjXQ+AakTqdjkVuUa5C9KClSUMfU8Lvo1e2k+3TeDOFm1LDBDFXXWt/sIJbJZII1m6cAxXuZw1haMKSjGzDPM1cA8QvkBGYSpoXGC0cnRqUzro3oA9DTL3Q== 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)(366016)(376014)(7416014)(1800799024);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: iXHVtov7Cyhh+aVNr+AGtHpnddeimGLmvKnzR8YdfiamSQq66L76q9byj7VzHfzmLGzaoEb66qewQ8YXVfmrOkVdeb7GF/3/LmuuK3vU5bwCwRMVMwXjbdyuntz34/zIqbhJKIs1eTTciPTN/kR9xDIMPW+GgtKtAKG/JGDyl/W0Iu5qQrG+3EmUZIV5J99Wtq2y2zEinQKCTMxmPx3eJpt0o482wXnk1dIdfEqqoRXvfZuZrcomfZvWDagor5jqOpvFpLwrnuhptGBBVz4jsNFqjTOuLY3p9sILM6bLOVjrDqlgCp++uYEhe2HMJmi5p1orIIuV4mZgy6OFR/Ly8ofVgLyAv32S4zV8ALyOv27gCM1JLSA5us0lyYg+WsSnw2xMQTVe44Ny4HOscno3hsC5PyEKNmCpxD5c+6ksFYQ0GxNasc4HmdaDAj9s+YxLZ8eCmwtTaK4r9nA1xsXRis686kMDb063CLzNiRMGDmCPpe2FiIiAGrei/Dr7k4EXdq4K8ICmum2WvOIzLnBmyS7i6FQFAfWQ5WZHU3QTqKYT1ycef8vXvt1g3RM51/MBoNzrdoBA0M2cj+fXd5JsqBvvWhs1ZEyfrRoXq9A/bAJy8V88X8N1iBF4zF0TlnSN1AOCJD4GiaYEZlE7L/PU1pWBmc3JS7AkHr+sPEsABK2uLfaLlQLOPVgl9NNVuCCXaGAbmjOXGWWkaqPZTuFeIEABPnVruqwL7LFv4Z6fUnJPimfDMHnbpeZs9nbu/7FpFREvoZEa3wNoJnZTSdq+EbRtneUe5lNyhNprPMfhZcpLRDUCpZkTb1nYCPwkF+a2mRWN04RrIvHgmdkqysleeUoVBAH1gBiFY03ZgZokRod+wep/H6TGTfP3jrompJSNnoHXODNaKtbtf1G6PCUTPvYstvDzMvngcQ8ufe3Vrko6x/3nf+sr1uCl0vKG6KBLZZQZAkU+KJo9DzCysApxLvOuPw+9C3QkI43iUbEkRDCzZhKbwcOYz4EPHUtNilc5hahqIhsbu3uJ2ZFukXL2yYH8yv3X4N5dTEldnDUqRo6MPsBLyrqw/sPw3jbRJboMseNos7e8DVM0onjHi212aOtUhlHrgXdVOkzn+AQXAR8azm9dhHDnwR5poPoeUCwtnhwTo9MIf8JDFYG89PvvWVvui1jsnwtMRWPxYswLTCgSbsMYyaSvuoykxgh3CUHdS/6IleCTXOwVJnHWGHqP3oifAqfSwtygjzsWOEQOgz03B3fzHwf/cel4JOQyBb7uknm/ErDy6Sp1ml+AEIpXrpLPXB0vF2L2Bj7L4OxzMD3erMKrOSaHYGgafww8WSa0CRBVabrY/lIWj4zqgARhHGoccD+R4yuJ5pTF1ZaSuw7h2av2DbrVoV5iZy6g2KujRtrgxYTmUjrD6MCS1J4r6UEUujiGBKRSkusTBY8FX82iHxMB6nkhZsYvETtdesjc3g0WhRBNSVdackx1d9Tu69pBu8tR1aitqBKY2SmisxOlINV41/IVWKYCTVaMzj4g4tHvxRTYSzI1JrN66WeYeSJX9NWWjFxVAJPC7QvFj6J973jbjTg5761vq3qUTt8SEv6T4xZoEhOkk/2TCUh+ig== X-MS-Exchange-AntiSpam-ExternalHop-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-ExternalHop-MessageData-0: 47OrMqAA2zP+jTvIfxczwVnlWFqNkZfe8ECPtKgepKVqbJ3n3jVoojwRKPAtR/X5tVu10nikptAeleeAhmJly4Cj+xKc+9OZavOFJdN9g21rhegSaFaHKhaVLD80eqtONE3F0l7EnOlHnVCY6ZhreYuGTLHwAW+eOO8D4QOi13Hjbt7AFPHO0iusuHuIL4Iv0deQv4/gAChuBmiLgkcxBUsTTzMH0TWv4b9LPfan2kHIsrD3/x2zfmpPIrWWiKweiZaqW68ImspUF/04HQG/ZX9m2beLrgo4ivuQ6esdyzWDCTzNkOTtXYq8FJnw9o7C6ZHT80tyIQRU/Y+L6Q+zPpsP8j4rFfTLGBDpiuXhBDwFD18tiuS+aRqNp+H5t3fpYnols+IjeAYLVYpxGK0QKNVJ6ya5Ky3LhjHKfNwGMdUwCibDSTOgUMYY2FMLVwID2hNLV6xWECLc18DJMVa3J/9AAvTfm7AO1q9nXozNn4D+6o6z00WVLP79OCv1GoaZpFymWgZ7RZ1mrFrOyhJ9RquOkrYyIDLKujIbWmEKz2J9kd5Gn5mx7ubHkfUuKuVvmlctsgJju9EGFGhXpVEyrQOPLawhX14woqqTKzNearI= X-OriginatorOrg: oracle.com X-MS-Exchange-CrossTenant-Network-Message-Id: d15f6b1e-83df-4032-fcb5-08dca115bc9b X-MS-Exchange-CrossTenant-AuthSource: DS0PR10MB7933.namprd10.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 10 Jul 2024 19:23:11.1365 (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: h0G25c6OMp3yWJJBiCbWUyPHESvhpxRv32O8MU9VAl48rZkA5Wm6irO+7jaD4QKtcsI/pkTCQtw2nIQcw5SLkg== X-MS-Exchange-Transport-CrossTenantHeadersStamped: DS0PR10MB7295 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-10_14,2024-07-10_01,2024-05-17_01 X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 spamscore=0 bulkscore=0 mlxscore=0 adultscore=0 suspectscore=0 malwarescore=0 phishscore=0 mlxlogscore=999 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2406180000 definitions=main-2407100137 X-Proofpoint-ORIG-GUID: 3042VwgN2bpGVj4wW1pPnVHq6t3aR_cE X-Proofpoint-GUID: 3042VwgN2bpGVj4wW1pPnVHq6t3aR_cE X-Rspamd-Server: rspam03 X-Rspam-User: X-Rspamd-Queue-Id: AF9F380027 X-Stat-Signature: 8cukjrdg7ctx7x7bixr4df3z9dq8o1wt X-HE-Tag: 1720645548-285826 X-HE-Meta: U2FsdGVkX18z8K6R6DZISB6i+m8BrF9CDmXsHfHkZF9SNXSOHnM0E6G1a/1Gw10bi7E4Iu48OfbdvT+QodtvanJb9X6W01OsSvb7w0hzx7aV9k4rhI0i435n00JZq/e6QfQiLaQOqx5LiiRS0vqzinHeKDcH/WaiMOy6+a3O9F62wJyFBpVs3BmgegU0J/EFwC6Urg6sdAMOXfWieiLs7Ms5bxiEW1rtu3ooezpN7TxXzyi3i7TLdDFm2/to71WwVnpY9QST4eBB9LijgEM/TaNgiMMKVvsMfRrLD8fgDz551XN/2mzNPi8j3ze1r/YZejKvGvc/5sPa0GIRzrbJoLnO96FQNdJ7R6iivMSutsI17X7nE+/TTGG5giH+shzJt42EfxfPjkC+EXMzo1ewVCh6BpgY/VpJhlaJGkZMGzzMLXPXjC4q95iuSwXh+1GA1+TAJiemKhudSST4Ht3m+wBcJSOPxUilVewuCJK/TeRGykVu/rNqErukIJs5SsIWfowCt3b5FuPAeEPdj0+1PJd8o9TDIVppyZ7VE/kC4GrSs0tc7qGmItFXOUtyoD7mCnhNpKW3T1vBE0MUADrt3kosI1UOaZU0PGXXyNrJFD7pdWWQoa/le0oZpBXbhMNhOwDAzahCrDSPp+6iw8XlSKWqvPFzebBZ8uXE8JZszOjCX9et5dsdKnGiXYipuULBcLkvHg3cciSiw3aAIhjgKeJpriOCZaIUYDroRRRDANoYmO5NL3lXPp4NLXxbZzGziAcxHLcdgTkn/SkmUGEY19gX8D7pdC+0Mvab4sbfkrVqVcmKrk5vUaeAtlsRDjiLS2eWoOD8rW1GKtqcbZCbzgL6Z9hkD5vIVx9YWSicMvQVaKVgW5ssOsrtu3e3a1HCRb20E9VEcWpMxEc5qatUgZ+6vOysqj4BAIkB7jMLeayyDyPCMpL5rTHz0jtfjUr+VVwPxDP0DCPXGCxtSNV /d2bC48k V0PPUkzQM2TboWtvoUq7oPOE6pIqEWteGzacAh3qYutwEjZR3q3Ov9ssLVUXx97aOIEug/SZ0MJp7+JTrpCY734M6L0eUbmke2gXWQ4Pa7WfQSua/eQVeuZAMW6T5U2VcYgt7fO/tTo5x27h0xBg4KHGlC6pky1GYt3dQVdQM/7InOTybiC0JmQFBBbdsOvQQhX/PLiHUyNmAWXKbUzqyIRo2x+jvPNJ65plm3zG/dUAXp3XaWcI7XHDLK+Ih2NcwvEhGvN3GXJ9T69utbWe4vvyyIUlC0vJk7KljXHVkvI2UxzdJZmlUcZj3xhO5qUEHDXvMJhv6jgG875km09g8ZSV5vVYtEhRy5UcOnL7U/Z2br2SpMN8ys9BT8C2q8sAJaGHrGHIyeQ71G+zDiRBl5nxMnUV4uXjYnOiPox9sQO9w8NNkK/nME8fZVCyPo4SsmLhBkzJbxiJfw1BByprzrhjwTF3CjzBalX3WbaEdJk4paAERBqJ4XVJx+pJDem6ip0RLFkmHKMTqqJBDBffgxJOwuCoUlRNFPa/H 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: Clean up the code by changing the munmap operation to use a structure for the accounting and munmap variables. Since remove_mt() is only called in one location and the contents will be reduced to almost nothing. The remains of the function can be added to vms_complete_munmap_vmas(). Signed-off-by: Liam R. Howlett Reviewed-by: Lorenzo Stoakes Reviewed-by: Suren Baghdasaryan --- mm/internal.h | 6 ++++ mm/mmap.c | 80 +++++++++++++++++++++++++-------------------------- 2 files changed, 46 insertions(+), 40 deletions(-) diff --git a/mm/internal.h b/mm/internal.h index 43b3c99c77ba..a22547125c13 100644 --- a/mm/internal.h +++ b/mm/internal.h @@ -1488,12 +1488,18 @@ struct vma_munmap_struct { struct vma_iterator *vmi; struct mm_struct *mm; struct vm_area_struct *vma; /* The first vma to munmap */ + struct vm_area_struct *prev; /* vma before the munmap area */ + struct vm_area_struct *next; /* vma after the munmap area */ struct list_head *uf; /* Userfaultfd list_head */ unsigned long start; /* Aligned start addr (inclusive) */ unsigned long end; /* Aligned end addr (exclusive) */ 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 */ + unsigned long nr_accounted; /* Number of VM_ACCOUNT pages */ + unsigned long exec_vm; + unsigned long stack_vm; + unsigned long data_vm; bool unlock; /* Unlock after the munmap */ }; diff --git a/mm/mmap.c b/mm/mmap.c index 1ed0720c38c5..62ff7aa10004 100644 --- a/mm/mmap.c +++ b/mm/mmap.c @@ -523,7 +523,8 @@ static inline void init_vma_munmap(struct vma_munmap_struct *vms, vms->unlock = unlock; vms->uf = uf; vms->vma_count = 0; - vms->nr_pages = vms->locked_vm = 0; + vms->nr_pages = vms->locked_vm = vms->nr_accounted = 0; + vms->exec_vm = vms->stack_vm = vms->data_vm = 0; } /* @@ -2388,30 +2389,6 @@ struct vm_area_struct *expand_stack(struct mm_struct *mm, unsigned long addr) return vma; } -/* - * Ok - we have the memory areas we should free on a maple tree so release them, - * and do the vma updates. - * - * Called with the mm semaphore held. - */ -static inline void remove_mt(struct mm_struct *mm, struct ma_state *mas) -{ - unsigned long nr_accounted = 0; - struct vm_area_struct *vma; - - /* Update high watermark before we lower total_vm */ - update_hiwater_vm(mm); - mas_for_each(mas, vma, ULONG_MAX) { - long nrpages = vma_pages(vma); - - if (vma->vm_flags & VM_ACCOUNT) - nr_accounted += nrpages; - vm_stat_account(mm, vma->vm_flags, -nrpages); - remove_vma(vma, false); - } - vm_unacct_memory(nr_accounted); -} - /* * Get rid of page table information in the indicated region. * @@ -2632,15 +2609,14 @@ static inline void abort_munmap_vmas(struct ma_state *mas_detach) * @vms: The vma munmap struct * @mas_detach: The maple state of the detached vmas * - * This updates the mm_struct, unmaps the region, frees the resources + * 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 vms_complete_munmap_vmas(struct vma_munmap_struct *vms, struct ma_state *mas_detach) { - struct vm_area_struct *prev, *next; + struct vm_area_struct *vma; struct mm_struct *mm; mm = vms->mm; @@ -2649,21 +2625,26 @@ static void vms_complete_munmap_vmas(struct vma_munmap_struct *vms, if (vms->unlock) mmap_write_downgrade(mm); - prev = vma_iter_prev_range(vms->vmi); - next = vma_next(vms->vmi); - if (next) - vma_iter_prev_range(vms->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, vms->vma, prev, next, vms->start, vms->end, - vms->vma_count, !vms->unlock); - /* Statistics and freeing VMAs */ + unmap_region(mm, mas_detach, vms->vma, vms->prev, vms->next, + vms->start, vms->end, vms->vma_count, !vms->unlock); + /* Update high watermark before we lower total_vm */ + update_hiwater_vm(mm); + /* Stat accounting */ + WRITE_ONCE(mm->total_vm, READ_ONCE(mm->total_vm) - vms->nr_pages); + mm->exec_vm -= vms->exec_vm; + mm->stack_vm -= vms->stack_vm; + mm->data_vm -= vms->data_vm; + /* Remove and clean up vmas */ mas_set(mas_detach, 0); - remove_mt(mm, mas_detach); + mas_for_each(mas_detach, vma, ULONG_MAX) + remove_vma(vma, false); + + vm_unacct_memory(vms->nr_accounted); validate_mm(mm); if (vms->unlock) mmap_read_unlock(mm); @@ -2711,13 +2692,14 @@ static int vms_gather_munmap_vmas(struct vma_munmap_struct *vms, if (error) goto start_split_failed; } + vms->prev = vma_prev(vms->vmi); /* * Detach a range of VMAs from the mm. Using next as a temp variable as * it is always overwritten. */ - next = vms->vma; - do { + for_each_vma_range(*(vms->vmi), next, vms->end) { + long nrpages; /* Does it split the end? */ if (next->vm_end > vms->end) { error = __split_vma(vms->vmi, next, vms->end, 0); @@ -2731,6 +2713,22 @@ static int vms_gather_munmap_vmas(struct vma_munmap_struct *vms, goto munmap_gather_failed; vma_mark_detached(next, true); + nrpages = vma_pages(next); + + vms->nr_pages += nrpages; + if (next->vm_flags & VM_LOCKED) + vms->locked_vm += nrpages; + + if (next->vm_flags & VM_ACCOUNT) + vms->nr_accounted += nrpages; + + if (is_exec_mapping(next->vm_flags)) + vms->exec_vm += nrpages; + else if (is_stack_mapping(next->vm_flags)) + vms->stack_vm += nrpages; + else if (is_data_mapping(next->vm_flags)) + vms->data_vm += nrpages; + if (next->vm_flags & VM_LOCKED) vms->locked_vm += vma_pages(next); @@ -2754,7 +2752,9 @@ static int vms_gather_munmap_vmas(struct vma_munmap_struct *vms, BUG_ON(next->vm_start < vms->start); BUG_ON(next->vm_start > vms->end); #endif - } for_each_vma_range(*(vms->vmi), next, vms->end); + } + + vms->next = vma_next(vms->vmi); #if defined(CONFIG_DEBUG_VM_MAPLE_TREE) /* Make sure no VMAs are about to be lost. */ From patchwork Wed Jul 10 19:22:36 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: 13729627 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 24979C3DA41 for ; Wed, 10 Jul 2024 19:57:17 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 47DE16B00B7; Wed, 10 Jul 2024 15:57:17 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 42C696B00B8; Wed, 10 Jul 2024 15:57:17 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 2A5F06B00B9; Wed, 10 Jul 2024 15:57:17 -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 0D6916B00B7 for ; Wed, 10 Jul 2024 15:57:17 -0400 (EDT) Received: from smtpin25.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay08.hostedemail.com (Postfix) with ESMTP id 67A72140259 for ; Wed, 10 Jul 2024 19:57:16 +0000 (UTC) X-FDA: 82324902072.25.C6DB9B2 Received: from mx0a-00069f02.pphosted.com (mx0a-00069f02.pphosted.com [205.220.165.32]) by imf23.hostedemail.com (Postfix) with ESMTP id 09280140021 for ; Wed, 10 Jul 2024 19:57:11 +0000 (UTC) Authentication-Results: imf23.hostedemail.com; dkim=pass header.d=oracle.com header.s=corp-2023-11-20 header.b=kH75C1QG; dkim=pass header.d=oracle.onmicrosoft.com header.s=selector2-oracle-onmicrosoft-com header.b=QhtIYVJN; arc=pass ("microsoft.com:s=arcselector9901:i=1"); spf=pass (imf23.hostedemail.com: domain of liam.howlett@oracle.com designates 205.220.165.32 as permitted sender) smtp.mailfrom=liam.howlett@oracle.com; dmarc=pass (policy=reject) header.from=oracle.com ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1720641399; 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=R72J2Rq+pSM7hD2A/i8y70d9fRxZSFkCgc//56gCKE0=; b=u5qVrHQpBF15osqVpvZoJBbZn+rfB1aEYKgPNIS5eicbcx4DVY4LC0zddIPCsIlWSnwPkO YQuqwkwV+SbGS9+S1EFddEHFLADvH2jzns/2GoQhv5M7omHCar3SgPKzDJBFA9tbYaCAk+ Lfs5h7YurPRkOla52sK/2NzC3+gft6s= ARC-Seal: i=2; s=arc-20220608; d=hostedemail.com; t=1720641399; a=rsa-sha256; cv=pass; b=mWL3vwJmIO5Y7gfNfw7XfzTGz8JJOnQXsxWzwgMfCvIoOEJf5peoR1q7kYlGKkNAtDFqUp La6SbBQVlxaAc0TPiD55b19QuU6NT3awaDQaQ+7pBpBQ72JTuo7hBqqPQEh8QnPqlKUWcj 6NZf3WtuVmh46z8ReMiozw4jV9j2rGs= ARC-Authentication-Results: i=2; imf23.hostedemail.com; dkim=pass header.d=oracle.com header.s=corp-2023-11-20 header.b=kH75C1QG; dkim=pass header.d=oracle.onmicrosoft.com header.s=selector2-oracle-onmicrosoft-com header.b=QhtIYVJN; arc=pass ("microsoft.com:s=arcselector9901:i=1"); spf=pass (imf23.hostedemail.com: domain of liam.howlett@oracle.com designates 205.220.165.32 as permitted sender) smtp.mailfrom=liam.howlett@oracle.com; dmarc=pass (policy=reject) header.from=oracle.com Received: from pps.filterd (m0246627.ppops.net [127.0.0.1]) by mx0b-00069f02.pphosted.com (8.18.1.2/8.18.1.2) with ESMTP id 46AFqOb6029616; Wed, 10 Jul 2024 19:23:35 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=R72J2Rq+pSM7hD2A/i8y70d9fRxZSFkCgc//56gCKE0=; b= kH75C1QGYiqJh7JsZk5E/VoCsVvp5/pZvaD4eup3bFhaQElIoSYdeLUPZzwsOy3g EYviTh3TL+CV0wW4zLIyPqFdyVMv9G/rgHIN32/iUBMz9k3eYfG3Mecq8Nq0yEeX mozO7i4TmGeBjtNli20D+fA/DIWE3M5l4XdSm0LUW4SsE0MckHFhsSE59V+5w1EO kzNpOXMSUEAHOEWVU/6GZ85gUzQGi35WiNLyOjID8a7SGNOH6m81HmVAIGEuNdxt Hujwuf9KBIpzmhqW5OiUgklDoO6ToXF1jRGRATbhk81CHQZOzDRl8GmR9JLxQsYs M383hYncMHNDxdTj9pEVgQ== Received: from phxpaimrmta01.imrmtpd1.prodappphxaev1.oraclevcn.com (phxpaimrmta01.appoci.oracle.com [138.1.114.2]) by mx0b-00069f02.pphosted.com (PPS) with ESMTPS id 406wgq02f4-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Wed, 10 Jul 2024 19:23:35 +0000 (GMT) Received: from pps.filterd (phxpaimrmta01.imrmtpd1.prodappphxaev1.oraclevcn.com [127.0.0.1]) by phxpaimrmta01.imrmtpd1.prodappphxaev1.oraclevcn.com (8.17.1.19/8.17.1.19) with ESMTP id 46AIs3bf022604; Wed, 10 Jul 2024 19:23:34 GMT Received: from nam10-mw2-obe.outbound.protection.outlook.com (mail-mw2nam10lp2047.outbound.protection.outlook.com [104.47.55.47]) by phxpaimrmta01.imrmtpd1.prodappphxaev1.oraclevcn.com (PPS) with ESMTPS id 409vv1gwv5-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Wed, 10 Jul 2024 19:23:34 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=hXJSVk06BGL/re7ezazeKpybX9q1PoATPkV/S6K6vhpKo3qxcyiI4CIMDUnxJJcuxDfapBHPDj59ZVU9/D3JKZlo7P4ntlOLrFtw9PIzSujvcpoLWeea+Dw6jjgJwUfMeKuNSM+rFWvRNyZZl8Fc/KyXMdPKG5dBSdYwe+i9HeZfDrDvE73oXiCH5yHUoHUOe+7dpDdH75aLDLJgKr95DCdCCpYoM2p0dlGqrTRKVA+zl/xV+WTd9mZDlCIdGKRIq168qSxgfQjsCirFXx2c+0ZKDtS6uvWzTaeBr+kdVf4vx6XHGhHZKnqKdZyFwf/E4H+H6Cn4p0WdT0jzWfm48w== 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=R72J2Rq+pSM7hD2A/i8y70d9fRxZSFkCgc//56gCKE0=; b=l6ZwNhzV/AryAvn0coknt3pUkKL7yKuYwi/MBAk5bsLYZg9ns75Np3I0fAcirzlZyUNO8HXovhaYstOsufA3Sad0lAOyzWNTmSlTn4/Eyu+Ju/12CxkouDt1WB5b/IpZ2MEY+GmRKzFYvRyewA0wCTZZbvF4AO6Pj7OGkCML0YgDEt81wrSMurn1uVJ1EauB4hlv/dAuvtTG4uOWgh5DSNquWOebInHJ4FImaVVe5bCtJVTcTAYLI5rcL+t85fRqmj0YAhmHRpWSV4g/jfHtRpAjc9mRqLedUQRjCerXGo7a/pdHV3KB6bEFgWv9ZUBfMR9MqvBjCYaNStaCLuDC5w== 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=R72J2Rq+pSM7hD2A/i8y70d9fRxZSFkCgc//56gCKE0=; b=QhtIYVJN0O7XXGVvzx8OkSwBYg+Ez6hI1RaIXoPP81cBYSVuQ8NqIDDBWsDI3TFMeEvCJGEhWSpiKcnHdmfGE7u78E+V5pW3TCfMBeOf7h+o7uP3/p+hsbI/WEiOfcf7GTLPoA8tyOgFpE13DIXsXfAtYgAqkdlztgKCbjQ7AwM= Received: from DS0PR10MB7933.namprd10.prod.outlook.com (2603:10b6:8:1b8::15) by CH3PR10MB6833.namprd10.prod.outlook.com (2603:10b6:610:150::8) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7741.35; Wed, 10 Jul 2024 19:23:12 +0000 Received: from DS0PR10MB7933.namprd10.prod.outlook.com ([fe80::2561:85b0:ae8f:9490]) by DS0PR10MB7933.namprd10.prod.outlook.com ([fe80::2561:85b0:ae8f:9490%3]) with mapi id 15.20.7741.033; Wed, 10 Jul 2024 19:23:12 +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" , Lorenzo Stoakes Subject: [PATCH v4 07/21] mm/mmap: Extract validate_mm() from vma_complete() Date: Wed, 10 Jul 2024 15:22:36 -0400 Message-ID: <20240710192250.4114783-8-Liam.Howlett@oracle.com> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20240710192250.4114783-1-Liam.Howlett@oracle.com> References: <20240710192250.4114783-1-Liam.Howlett@oracle.com> X-ClientProxiedBy: YT3PR01CA0118.CANPRD01.PROD.OUTLOOK.COM (2603:10b6:b01:85::32) To DS0PR10MB7933.namprd10.prod.outlook.com (2603:10b6:8:1b8::15) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: DS0PR10MB7933:EE_|CH3PR10MB6833:EE_ X-MS-Office365-Filtering-Correlation-Id: 913993db-e462-40fb-3f62-08dca115bd62 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|376014|7416014|366016|1800799024; X-Microsoft-Antispam-Message-Info: qpxRz3lnXqCWo85Py7wuPQqo3tHZKh2aTXeX9w6aNsehFIPOXnr+KxmN0m0paxsIQvcK7vcAfx4XCIu5oHcxzjoMXG5LfofcZBt6q9VeDhLrpcTZzYq84xNDE7als1tmz5q3tQbU3EZeZAhn3FEmo8pRpP66qSbiPLZpzlCoz7kyQfQhZhjIO9/N4vQNRpMEA45vcCrd/bMJgBgrXdjHp2cI/QKC15bATsv8vfjbnUFoY4TiLoytHOH6u8WqjCoIKf+BPFbAV2sGyBPn1LqM4ZoHvSdjSkB/moGYZRc6w/sMceQPIM1P3mwl+56osvIp1/nEknDqFQe832SMYHXxtbpzVWWPMBIkYjLtX5FDQeSK7azS76n87249zhCCpQxf1eBBc1rkojxChXto+PpxWPYUDp8eeclhGU8ewR9EMKqrDw/VMGT0RRstzScrAnuV2qrfBIob5wJ5LSjVbXQY0HaEwP1hT5EyATAOeyKwr9pCKQ+vUAIyfcEA9K1rPOV/orXMEy1Ugt8qa80P4ycVS5Qa+oIozYPT6L8MFGjZffdI0weohF5bf/BPL1EfnhRbqOj6sW9f9mvdPIHBFxtC1yODlDvuQgJ6D6g9xuPQKMy6JdF3ZFcP782aAhw9RwxQ0Ns1wb1xY3/15aAXJjbyrERCNkNy9grKiLThy1DQn6uXhQ+sjct0HqF6jzUQgon8p9p50sEGrxWMCiFPd7lZD59M1cC+372X+p9I2uYQWfG3TQi8fXsU/RyDOjydTeV+XL3V+15dy755Aqy0zjnPnwUX0gVzEHOpv6HKYXAhqwxI8BnV28FNdUcron4wv6efQ7CesvSpasfQgTuHDs3NwSoLYu9EzwCUGUXjo06+tyTdq6Kl2DPBH5/ghLLtmIPppgwO00sF7MvQCmW4+ml4MnyeWVos4fc3wsfz5KCI3T9iIDRHZUlvllmbufCrwpWCLwI55pmo2SisqpKZj4aLQ9isHz0olQ3wJHFgKEnxuHGN1st1A6tLiA0mC1tbtywKyfTawtZgCbmm5iI2DJPb1vM/aKVVCpg7ot4b5U83wjMuCYPm7658wwYCTX8uFLgvISyhmabV8pBN1XpqWZ5b0cgf6+ryJWU1NEr+n+cSh1pZJwRrxEo885i+bA7nv01wJRhNWGj4Y2z44AHBHXVSRIb/CIgn62kVEhoxMBUYeLnCvqK840aqfOFaaixwQzQa1JHF4lglfgIliJ1XqOfkK8vxT5/XF7Ih2asiTqw4nlu71NO4ypcdGAjkRS/0AeP5ahOJd1H1jACua5CkJb7gjfNvtao26+V9Qm1trRDD76rPW5lGt6eltw59X+c9ZhJcNeJrtZH9DzTDw1Qe7Sb5rQ== 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)(376014)(7416014)(366016)(1800799024);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: 3GXi1P14dsee35q0A6tu4L3vftdQ8r/8To8OT8IAtIM3EnMqIrhz4FN+cxpNXhq/64klJW77eDdoOYiQQMydc+e4mDvhkvZXD20gCM9Q3zAcni4JXGoy2L+szrE+NSzFZIv20QAhfR6h7tildrWzE9IemgHehA31VeuFIEe3dvl1U2JvICRFLv4Vd5wQNTwgJUS2KuFJ/7et/8gvuUDZeOo1vf/No2Sv2Rf6Nbd1+RbBUrdjPyiSS9Hl9xKR/WlI1HJrQDXvi2AWhZqz6dFruNiOfxXb7EkyrossIGgdxFmCm197vdcd37k9W/ubFHS2cj2PZDfPqApIQnMTqQZWgujcs64oIUwQXxJkO9FFC8iuRedlV7m31MfngfWs8XiYBvwJYsV58vI1lNUyZNo9V3+rVzubTlJdVC1We9SiY6ddgYh2Ig8QWVFL3/YMg8AdoHRm6Ct7lDTLEwxEolT3krqe3IWeHnMvmGLhZY6W8BhxC5sFDoU2kuA13UfKHoEvrXuSPHzzt76s5FJq745CfmOVbQlgKt7sVHnjnKI1GGERWK8p1UWMbrjqXBRj2pekNTkEMivCoIugrLrub06lAiCsV9e8J23EThpVZCE4u0scJb1n5COmoW8gPmqae2Mb9iuj/1OLDwgQhMbwzJCVA4zd1T44T7GD866j+a2wd7G2R5GEZQX5JISFL5NJNUnH9anSodcEAnAhv6ILYNR5rkd8oK51mUwRE9H/3H+Gvo+wRLJcmbYGt805IvTBivs6XtGu6GYzPLuhwQj57qZJZ4DolCrhWJ9OavNHW6rjqSLLVsAk1UAi2XF9I2YY3zL1Q5ED1reIKQouKMDcAS8HY6Nq6j0bqDd8nCjl/s+XbF7INJtQAn8M6JhWpAZfj2oytdU8cEYz//1SjbwIL/sws6O6KASGK98tUaVuwf9UHA8UVgJm4JC8h8hZpsc0sgFwuKqhLJedSrg2qbGRNvqx9Ww2NfWcAgxn2+lOzHETZnvuYgc8tPk0F3DO5thHzESgYIYTKuvSWhebF4BNDocYyblmZL9GyfSrY+HPq8hTSSQml4cPqcwxqvFVxr95TSq1dxVK7WFAbTOx/x9lCtKC/zXjUNKezgZefbBHgyKFzY9u1mOXUoYWXpzKmWMT5BOPqxKQwaEXHksD6hNnPI0Ck5DENPwaIdvgKEbp6O9dma5RPdIeoxNbEI9D0CJ4ZWex5Vj8jrD36nrtbv5SUgJmzjzyukOt9yh4jaXJvSx4V5WL2448VI6cMnRbnmB9H3vDlp37A42YHzHB65d537kECbQu1puZwHvN9XQ0raT/yPSk03hdQ9NEd+k75wVQ4lpZR6BacuZ2g3sg7xybSOX5zzy0/VWZv9c2aQkgxsd4aMfvljP5Y2+8I9jGd+tBrTwvz59SKg99A1eZbUVg2gLdIxq2dNhoRTvE/J1er41UslYy+f/I2ZFps8klMDWZVjylU5ja6FY1BNo/IxrsRAOOfeGDWVeqgv+GRV5I0716wveZ7I3xVk5IgFXuqpiMl7SKd9+/bJWfoj8Rbq6jmi0lWeVBTU0GWxGAa4UFFxHpm+kQNXArjCmCe0NmK6+9zt6tB6sNHfQgvUJjkM/tObsH9g== X-MS-Exchange-AntiSpam-ExternalHop-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-ExternalHop-MessageData-0: PRKu89PPurl9w6qEoyEUVf2JPRwnc/K8W1McNoo1c5a/6fW01RVMX0YR5R+PSTALha2G+42XKrxwwGoZqvrnwcW+AyLE+tDQFHvBPYW0G0V9aCIkyOlS9L7xpSRWNONLIecc6vw50SkvEu8x8yscIPXLwNtNzOKU8zlJYwWh7fchWnTtdsxY+KVrKqltSq0vbUvKrtxUN32fkaTpbLLha2Ad9D+z1fNybRgbkkg10KB6bTwTpLF0pB9ddZq2VqxJL1yfW3SomtnI45rgZnOGTmEAlZ+uo/UClQ/PwSbMfPX0pySyYC51ljVa1joEM09BZA6WEI4TYHPIfgS5MGTJR38hfSheuRwpJhx2J1yum5kSJcW12qkDtAs96cLfaWW+AF6kCNIkyTG+L3uCOAKXR1DueTwnKjlm6tgn1uypEGih/VBtSeLeQ+q866/6VuuZn9i+GUSChuTNMlpz3Fg3odh1AP8USAhqHt/zmNwAkN8oPPgP+f2FgsabQKHCkq3MxfCa5TQBOH54YAgRYSVuaJFCo57wJ/j5vdxCgOvHhvqFXXl9hWOl2Lq51oej4lOwbxJrYnlfEI3gzoEPgFBZbPkJ8Rdiz4/uXjwe8ylIO0U= X-OriginatorOrg: oracle.com X-MS-Exchange-CrossTenant-Network-Message-Id: 913993db-e462-40fb-3f62-08dca115bd62 X-MS-Exchange-CrossTenant-AuthSource: DS0PR10MB7933.namprd10.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 10 Jul 2024 19:23:12.4276 (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: gs9G4uTv6nLBU+h8/F4NIE3JnTzije6TnGKzOZnjZ3ESc9ObXv1Wxd93RUyUvenuWGHBB0dXlCsb4NXbauDzvQ== X-MS-Exchange-Transport-CrossTenantHeadersStamped: CH3PR10MB6833 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-10_14,2024-07-10_01,2024-05-17_01 X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 suspectscore=0 phishscore=0 mlxscore=0 mlxlogscore=999 bulkscore=0 spamscore=0 adultscore=0 malwarescore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2406180000 definitions=main-2407100137 X-Proofpoint-ORIG-GUID: MCn9IQfe5Uz7v5Q-FWv99Znj6zJzbt2S X-Proofpoint-GUID: MCn9IQfe5Uz7v5Q-FWv99Znj6zJzbt2S X-Stat-Signature: x9hjksr65hbwxmgccuosf4mmkhyh3kbp X-Rspamd-Queue-Id: 09280140021 X-Rspam-User: X-Rspamd-Server: rspam08 X-HE-Tag: 1720641431-144710 X-HE-Meta: U2FsdGVkX1+nz3iEBfz5SuPJ8W2cRInkKQmnggNOJ5ckN6rqTACYnX7SYtGA6yZJeC8Zvzkx4B7FMiEH/96/nJdgciWrB8FRy6eAUs14Yzu9ccFDgSqlEuoCpwQrXXURg5fXphZ/PFuTs7GQwlkzWEKSY1UtgGy6sWQTPA4twvo0HiAjI6bFuv9SojiC4zzwiTCAHZ9iTc1vbw9eDpqu4wFnRhx7Th0m3fX6ja0MXlZG9L4UWkfuizk6VuTdJrV9h2OOsb+89I4MxCfLem1gfTmxoW9EhTCpnmJeHlk/tP5myk5iknSq3jZQIkmij6cS7oXq3YwsK3ZUSrpQXJbhntlXu4rG04lUD3rgWaoF+TINCPHIdLJJN3O6OHWEQFM+ie96DWoxEheIWUHnpGTTMAvTo3NnUGUOXE/DIf7a6tVCX35KZE56X/2OkfVf4he3VG/GdR1aYqmghqg4aABhzFMH3Hs9d+ecJVkIQcgftx0bEz7ZMKVCnaDCLqPRvlaxo/4KHEkvN1E9LTPIivyyq+85JwDpuEtJarci5mmvPKGYHDsA7frxnHl+5yqDU4vvzg7SNn9FouofIG7PuUSBmXlKQcmAYsjF6b8RLYi/TuTbr6uWBA5Ayd3kQtMjD1QIJTv0FNd2D0P42W83Kght4pvfkcmp+GtVqiLOKHdJMpXt0frI6MJofp3eNiR4+26EQ9OhrcGMPbNjEZxDchiuUCB3D6LsqvZwje8ywnMBDaRH5oS1PRlH5umnve3uTZuWSZvJDXf6ShN1YT0oKSzG+GCTVNJggsJRqdTBsEvRCLyWHC/jdAWyyFtnA4BcwTqZqtZoe/7V/BMEAvR0NIWvWAVBWZe7XxD09+lB+FuPL3mhzj8I+tCoeinwz6u8y/D7RHyiHSzsbcjqKRPkcpnyI6naO8sep1mCHrTAZBTiJ3etAVOuheO4VB0lZBBBFUWkMAy7SIKwvyYdtTHNFAY Q+RUioDs KmoALZsgmiJtojVXoosi7HGlewBFjDiS5z9bZg3wDDA8fmN0o+Y1h2YtzJFU3gKrzp7jwrjieN16GcsDcLHYWAVMU9DH03qjq1zy8AxABPzwviUelEjMeouSOGIAXaEx+3R+Z3UVgW8vWmLO+V/0bvN3Ww/o+/P9XfSQ2p2tbbXDOnwikotFGafxzwytCPYcQQ38EG9oADL+htoeEqeNIHlBO0vVkHT7kOo6g20MRApqP1ZGnjYvdBpt8jboESiOQwM79gpveMMUlvbQ68tChJ9crQR207yrbL8xnZJmq5eiQpPcfWGSB+TVsJeIjaufygTknOnxdeWQjpQUUnhX8eZQ0tByN2xokgDqE6RrUwRy5sqw+RIJv/GecWL4u+mfdtX4h/rftuqYapJ+X6sflwOTeFoO/pCasxA42hXKUvkoAoggf675Zy7gEwo+slsmrwh5bAhAOqOs/w9bbxUzBZlhN6bZsRxh6HARaoR+CccR2zAr9c/s/VG1mkYg1a9STuNew 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: vma_complete() will need to be called during an unsafe time to call validate_mm(). Extract the call in all places now so that only one location can be modified in the next change. Signed-off-by: Liam R. Howlett Reviewed-by: Lorenzo Stoakes --- mm/mmap.c | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/mm/mmap.c b/mm/mmap.c index 62ff7aa10004..1c9016fb6b5c 100644 --- a/mm/mmap.c +++ b/mm/mmap.c @@ -646,7 +646,6 @@ static inline void vma_complete(struct vma_prepare *vp, } if (vp->insert && vp->file) uprobe_mmap(vp->insert); - validate_mm(mm); } /* @@ -734,6 +733,7 @@ int vma_expand(struct vma_iterator *vmi, struct vm_area_struct *vma, vma_iter_store(vmi, vma); vma_complete(&vp, vmi, vma->vm_mm); + validate_mm(vma->vm_mm); return 0; nomem: @@ -775,6 +775,7 @@ int vma_shrink(struct vma_iterator *vmi, struct vm_area_struct *vma, vma_iter_clear(vmi); vma_set_range(vma, start, end, pgoff); vma_complete(&vp, vmi, vma->vm_mm); + validate_mm(vma->vm_mm); return 0; } @@ -1103,6 +1104,7 @@ static struct vm_area_struct } vma_complete(&vp, vmi, mm); + validate_mm(mm); khugepaged_enter_vma(res, vm_flags); return res; @@ -2481,6 +2483,7 @@ static int __split_vma(struct vma_iterator *vmi, struct vm_area_struct *vma, /* vma_complete stores the new vma */ vma_complete(&vp, vmi, vma->vm_mm); + validate_mm(vma->vm_mm); /* Success. */ if (new_below) @@ -3354,6 +3357,7 @@ static int do_brk_flags(struct vma_iterator *vmi, struct vm_area_struct *vma, vma_iter_store(vmi, vma); vma_complete(&vp, vmi, mm); + validate_mm(mm); khugepaged_enter_vma(vma, flags); goto out; } From patchwork Wed Jul 10 19:22:37 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: 13729598 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 91A78C3DA42 for ; Wed, 10 Jul 2024 19:23:44 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id C7BA96B00A2; Wed, 10 Jul 2024 15:23:43 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id C2A996B00A3; Wed, 10 Jul 2024 15:23:43 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id A55676B00A4; Wed, 10 Jul 2024 15:23:43 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0014.hostedemail.com [216.40.44.14]) by kanga.kvack.org (Postfix) with ESMTP id 7FC2A6B00A2 for ; Wed, 10 Jul 2024 15:23:43 -0400 (EDT) Received: from smtpin09.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay03.hostedemail.com (Postfix) with ESMTP id 3A7C6A01FD for ; Wed, 10 Jul 2024 19:23:43 +0000 (UTC) X-FDA: 82324817526.09.492CC13 Received: from mx0a-00069f02.pphosted.com (mx0a-00069f02.pphosted.com [205.220.165.32]) by imf11.hostedemail.com (Postfix) with ESMTP id DDCF140027 for ; Wed, 10 Jul 2024 19:23:39 +0000 (UTC) Authentication-Results: imf11.hostedemail.com; dkim=pass header.d=oracle.com header.s=corp-2023-11-20 header.b=BlYHKinr; dkim=pass header.d=oracle.onmicrosoft.com header.s=selector2-oracle-onmicrosoft-com header.b="Xa4/BQHy"; spf=pass (imf11.hostedemail.com: domain of liam.howlett@oracle.com designates 205.220.165.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=1720639377; 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=LArHVtRPmTnLL4Ka/8b8U968Rn79AaiiLYmA/o/M1Rk=; b=LEXzL1tS4WjoBcRYnlcF8BVp/D40ZtbGhNxX7GnBucpdCOQGS+6orCu/K7IhVJYm+eZ4Yx MBa0F2h6F7Zj58WQ/jMGqHR3cgIBHULVImEoa35yHLxlVHzqdEg/txqjf7xfPsczo+9m40 E5wELFxIJ4efOPdhIJNEVEk1OMm4zhE= ARC-Authentication-Results: i=2; imf11.hostedemail.com; dkim=pass header.d=oracle.com header.s=corp-2023-11-20 header.b=BlYHKinr; dkim=pass header.d=oracle.onmicrosoft.com header.s=selector2-oracle-onmicrosoft-com header.b="Xa4/BQHy"; spf=pass (imf11.hostedemail.com: domain of liam.howlett@oracle.com designates 205.220.165.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=1720639377; a=rsa-sha256; cv=pass; b=ouzWZD9D+pbnBpI4K2NHyHGKNYi5Rw5CedptNVUOFYP3iYfmS0h2gzJthAU9GrJEqZ4ARL fAMGtHUR9aWLOM6MmqCO+gF7k3WjaTM49Ut4MSzIH1OFiigGz3c6bffkybJQAoNnNUYgZN 8n3O0Q5xYZLIVCYYg3Ds9oe5NFFmlcY= Received: from pps.filterd (m0333521.ppops.net [127.0.0.1]) by mx0b-00069f02.pphosted.com (8.18.1.2/8.18.1.2) with ESMTP id 46AFqbUf019840; Wed, 10 Jul 2024 19:23:33 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=LArHVtRPmTnLL4Ka/8b8U968Rn79AaiiLYmA/o/M1Rk=; b= BlYHKinr82YswGyrcvOyNb14MaPu+zvsYJdpdUufMcVtbJdelLgRUzplSzlOotNu ep7JianDBtfn3XYubnjyqn4htnHlcCsBCYmgFgEquU0bX5sUY9coRzl/OuO7Vcl6 Zg7zwM82+zEPBepsQziaxRFpXC0yAFuJdH7JtgrWHk/+LjSoRquqEmV6gUC8+PRc rk1VIivCDTEWx+64zENn33aiopdduvWQ7MPF2IDQpIJV5Ig+MHZCJVFVr3ldD/SA Zkl9iRAzti0XkTYsSiMCavXWcUG0rnZO2IioDZ46rOSpUbdkfIMx9rHOf7U57+Yo qkVxvygLSIYD9qJa2SvdXA== Received: from phxpaimrmta02.imrmtpd1.prodappphxaev1.oraclevcn.com (phxpaimrmta02.appoci.oracle.com [147.154.114.232]) by mx0b-00069f02.pphosted.com (PPS) with ESMTPS id 406wky83qc-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Wed, 10 Jul 2024 19:23:33 +0000 (GMT) Received: from pps.filterd (phxpaimrmta02.imrmtpd1.prodappphxaev1.oraclevcn.com [127.0.0.1]) by phxpaimrmta02.imrmtpd1.prodappphxaev1.oraclevcn.com (8.17.1.19/8.17.1.19) with ESMTP id 46AIdNi6033802; Wed, 10 Jul 2024 19:23:32 GMT Received: from nam10-bn7-obe.outbound.protection.outlook.com (mail-bn7nam10lp2042.outbound.protection.outlook.com [104.47.70.42]) by phxpaimrmta02.imrmtpd1.prodappphxaev1.oraclevcn.com (PPS) with ESMTPS id 409vv194ff-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Wed, 10 Jul 2024 19:23:32 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=A02j7e0iojj32mXhLwH5dqIplgiu8KPFri9UTEnZ2Wzi561bU+J2bbLA6uXoP+ZeIlCFlFq4h1J5ud+za1u7wNQ231aaqYuI1HmXrbT64xHIyRb1S7VVwa10RiL7oujCUw28AXQvR0ENvu6O91glNDcAJ9vgU1yyhQTRawd2B2GvmG3yzmakQU8JDFhTofxprAIPg70ZpxaTVxKnsJ8NDsfG9wEb1vVuY7dpvs/u1ortAM4DDZYrAObIDOE9Xwgmpmudckv4ssguu0dHcb8JvLSr59GoD5g43rbU9fPOm8dvRUq2fQhenYsVNgfwfd3nHr4757QrP738aPhcw3CIMA== 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=LArHVtRPmTnLL4Ka/8b8U968Rn79AaiiLYmA/o/M1Rk=; b=ipVH1ZFf1vSAv/vxWz+54RNijxYUIQJtf0LveApiU9tdUrUon5TcUCxnuRD3mSB8PaZuUDNa/Qs24vazLgWt7GLWXJf0vhv5SMqU0KTo6o9VDyZ55rRX3dkXgqh9i7vMpv8yx5yCrs30fWRDOBDV80Zsi4D79bIapyudsp9NvyWom6gj+4aXZC8bATtFaNTNOlS8X796O5g22it0Tw5s8Z9s63hMIO7Zs8FbF98q7KGu9Qn1Uvzw4unEY5+pnCkcdOtWGmq9rnkfRklJCdjKpoUHuHlA614Vh2f9YkHUApqXQsLiV90xZUQQylpe+IEC+pcbbXs6v1twWZxTVcIo7A== 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=LArHVtRPmTnLL4Ka/8b8U968Rn79AaiiLYmA/o/M1Rk=; b=Xa4/BQHykvbbeG5SNfeiBaykc4q7y3YayV0YHXWhQJYpkdE8W17GfjC1KXdzu15pYoQPMKkQLIbBnPhpFVJAOHxFPLkEPznGnF4J4f3wrwM71cdH6DRlflmg3brmVcdCWORDxSSzU5XGEJskdxIwMIYF7mM1ca8P0EB61E5A8xQ= Received: from DS0PR10MB7933.namprd10.prod.outlook.com (2603:10b6:8:1b8::15) by CH3PR10MB6833.namprd10.prod.outlook.com (2603:10b6:610:150::8) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7741.35; Wed, 10 Jul 2024 19:23:14 +0000 Received: from DS0PR10MB7933.namprd10.prod.outlook.com ([fe80::2561:85b0:ae8f:9490]) by DS0PR10MB7933.namprd10.prod.outlook.com ([fe80::2561:85b0:ae8f:9490%3]) with mapi id 15.20.7741.033; Wed, 10 Jul 2024 19:23:14 +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" , Lorenzo Stoakes Subject: [PATCH v4 08/21] mm/mmap: Inline munmap operation in mmap_region() Date: Wed, 10 Jul 2024 15:22:37 -0400 Message-ID: <20240710192250.4114783-9-Liam.Howlett@oracle.com> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20240710192250.4114783-1-Liam.Howlett@oracle.com> References: <20240710192250.4114783-1-Liam.Howlett@oracle.com> X-ClientProxiedBy: YT4P288CA0031.CANP288.PROD.OUTLOOK.COM (2603:10b6:b01:d3::9) To DS0PR10MB7933.namprd10.prod.outlook.com (2603:10b6:8:1b8::15) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: DS0PR10MB7933:EE_|CH3PR10MB6833:EE_ X-MS-Office365-Filtering-Correlation-Id: 77060ebb-325b-427c-7863-08dca115be9a X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|376014|7416014|366016|1800799024; X-Microsoft-Antispam-Message-Info: rTXd+9saBLgDXe9JmUOdq2KJFBVlQXs71CJKuBADWgkQYjDqqA/rUUK13cBWTQUSf87h5hfV7xHRKahWUJgBLhk2o/aZCTG123folqAdFywHkIGtl+P2BFvPH0nxv26wj0Zg4MDCdCjYLFaLKmF46m+otLA25/EMduuRcOSmfDfDJyAHJfiDgZruu0N94G+fZD/XVNtXdJCtUIy+WlumiwbCtKD9taHN1IPVD6zODX1MKoghwPZq+e38/YH3HeAe5YG9NKurEk4gNse1yZFTpNKPOrAf3F6LAOmEQIakjAdC3rSVdLDAZobNwZxGETuUrFPISH0O/K0KvZaIlCHxKZkFfK4+G3ZOivWK2J+qP07W4gi3XBMJHRMMvykWakIzIELRoOtvhJ+G4bRjkJdp8wqNNPZj1geI9JlErgAySdIaYKjLeRsRkX5nm4qt5nbHMppjbpQ6CVKq1PX4aEJXRY3iDiGui+zZt03C2R4F/uDWcYiGocKhyU/iBfMx9+66lKPXbDkeli8WoyQl9c56DUpNVb4Stg285pWH5QQj2H6LqBIx7nbzv5XmrXBXOB9xnNtbfMJ8tSFPBBcWP2QzAiqsS3wo6TZAt96CF5TpPG8v48r7tHRPnPSfoZZZ2Gfv9J+iDWco9WXPOeXk+ks0e98DgHMbjqLoaHZNBeAi+VmxVPZlvMSVUXHhEqu2HEOx7XQFzs0K+fu2nMYTnUMlZy8lSpxu0vN3MsIK35sg0L6eculimMKmBKbKBq+ypVJN4kWOctyYQfdUwGZu3VbHuz4h/ceRGjjzgTxSBb2L7MH9YPHfVbigh/7kkINXMww9CNx4yjpCYjzqvX5sY6aAXdNbJ0df7o15X5nkfR4YU6M5HPCCwV7cYObmr5ZVEqo+IujDA1/58EH6Hzq1exP4n5iGuQa+PZ9K82rDRbqM8xWzYz/9ikRuIg59eC7UJPJoPB9KacxNN0k1lqwaxMiQK90qMLvCE8N2Uzd8wwX9cocm4mTNdwgN15bkDcufeAvXvB9C/OA2x3BuQMSMXOFv6lJkeFQLuvZuGxTZxpyta39P7LcHO6YAW+g7Re+w6IVIVUM2IaK54zm3tsntXwjnRgLhsx/bZUajVyA8rbMzL6SVNDls8rS0wCurO00UF2dYRi2/NddLMNnOvjq8FOMTlgsrsySzeoY4DDyora6m2zW5iVHufK4A2UWHgcJfCmGYMkfwZ0P20vXopwQDDT8Cbugw6unjOt3dO/HsOFZFS/upxS+AD1BKW8Dyo0pFlugOSDZj6Sx5XiatrOuO+P+/khh+bjpNuWw0tgO3g4XYvXUFgKun6as4MwGTD8mDy82OQY6aBSCD0GWFTY1E0zqigQ== 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)(376014)(7416014)(366016)(1800799024);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: F7q4+GgKpp+cJbeqwFiEuIAhB1AKM4OLAnO2Ig0OiHrsY3y+hhn8xBDZ/V1RE91pS2yUd6TYETl1FVRPidEgk60fmLCtd8PLRTiHivpyTEx9lZdaekOTasA6NCjQAe6duPRY/fFWnZGT6ReXjqQNz8ZYO3TRSAX9G+0sAgJbNYY5Ap5hZd2bp0iIN+6+AOpJ+Ff+HhUp/Nrl6/ZcoAzwHhDkn8oVPNbstEC4bNLDeo2VBM0BguHzr6sbCPM7Jq8XpGt/1c0lrYnjwvi1zo/S93tp50jPfIeDLbimoh56h1B8rh9szayhrrhrajxpW+6yyjgrFWlLbkLjYaWlVPawrT/Lp1PVaRXPK36sg69Bv1VlH9wXFPUqRDIwZw9EM9yy8tVn7LHgqs0O0ZHSODhwdGo6/54MYIEkmWEgFd+wU5veLx5i2EJDeNlQfZRlrK0m9qTCnEpneUFuMBKxNNLTOEp+FafRTwvXfzcGJFKLnvtzQU5phDujtSwpPHMDIEKrG32Ufkg/7x7enf44r8kcK2hTosQfOi/TMDNihNiFz1TymiNdXCbkVEAwqHVS/kcHGkhpU0BoPIXa5UN6hSk6L/pQ8PR5kv9B8fQlEedQhWOwdT+G0HGeMWMwXHEHDsEMPKnJ2Bx0vfhdf+Ua83FI3uf3RF1GxO5xENTmr4813C/uZnvzmz1g7yxXs34YJ3J64YAVcbC7rZ2k13q5NTXpo2TcvNwRgzk5Ge9aB4iD8mwlW+YwDY5GIyJZelFhr0gbwE152XUroLAXSEED2DNyOU4dV55ZlZuO7iLW4cM/tu4AbJ2RIB4KRrOrbkofTZh9LCs72ul0XGzfCc+Bz67RGyy/22zcb6LAD/3Rv5PLvUMLxJJjSJWaKlcuX16ByKEAjMCQmYbzMg6IlkZ+u1v7Uv7DBuIHAMMW7fBZoBfN2UIOqPQ0Q1mklC9bPKZ9T/KpvFEU7QQ7PpGGsPNKMmo8PBaci9+EkVGuWU+O6UV/UoTnLiuMUSU3suCDqFhPVZvOrON36F6A7swl17qQfjt3PrVGzPQwKauBqJEhClH57DmjAIFi3DvAcqBwhQzFM94xixo2G713n0elB45X07d9F+DzGuwdweucwlruLn8vX5wF1cgqTdT64oK/lYUGA5qr6E6LYEE04iLrc1RUMRHCl4PQdGywoNeH2CZMl2y6tRU8sHLD+3Njk4NgEjnzG4sGVt98AL2WUdpwriGwZk8zCwf0JtZTi7TYRNxel5qUSO2M53h/EHi0rEPMGUc9R+zdLDpHEK3yFD3SVwoelInApfeUj9Ms8XgrtWiRcWHnbkKuV6HD47X6G/PztKXp39y+H0x5T3I/OZ1fUPSSW+/ed9pBRY3K7Sy6iAF8GZ6WNBEUdl5U1FakM6ZsBRYo83f/DkEE/4iM1tV2lIvlPnCaHvhzldhkWwYaIAajrIsK78gcDTQczQZPhTWn8zclTtMKSzLw0Opx9zVn6JFKVcYBl+UaPumaFTNZK90YJG3fhC1Uob3yYU1SmuQeFqTyKnxLZGHfrKU9JL4QbggUQUbwMPhxXwoRc1MOvITm1wa8YT/M7SPLRysgSQq8QrxlCXw3jS0/+m87cBjC2hNAJkGCjw== X-MS-Exchange-AntiSpam-ExternalHop-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-ExternalHop-MessageData-0: 8xqp2jHzeIPjsYY8wzqu0qQyk1jUH1diznUqwM6N5UMuJNV5LcZHFN9Y7k83s1X94hUpPP04sRjKshZuf6uQP1F/f7EHPoj6ntx7I+PnkeDY5Vh5UTFfF6tNRdpLLrKodv7HoEiaoTIRvi63wZfQ02E6J4YselSeQi/Z8p/7NCzcA4IAjOK8eaMJvIG5b0gU9R6W6MRp8YQ8Q7P/n/gtj2Ln33aHofC1KMOtwhi2iMoygkw9UL6L04ShIf0E+unGxB4hfrbXOs8JvaKQ62hLmlNNVuxFz5lAruj1cvN6QRszX9KHit00lbUBE+le+BOV9Asp33Mfa6lBgs/wA6xE65U4bnpzwMWpk9TyTo75Y39ZIRssvY3osgYw6uT3DZb72GS4mI5+8AySsU1GizwwJpOYarJKEjXZIuwFqsxiBPat223tSdQcEQY6gYR/j80h2mCmtqou9u9jbggO+yvVE8M/NwvrvLqmsw5CEa/ywiE+CrtWadK+IjNSkuNsttTcbbglTxckrc1+3tn+wujhyf4LzRikc+DH05rFVfk2tqdTM2ecawnT2EXTcBoxh2Zo3jNe7jn/FBVrBa/KDKdaKzQiT6lTtp2Iogp2vLAIAMs= X-OriginatorOrg: oracle.com X-MS-Exchange-CrossTenant-Network-Message-Id: 77060ebb-325b-427c-7863-08dca115be9a X-MS-Exchange-CrossTenant-AuthSource: DS0PR10MB7933.namprd10.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 10 Jul 2024 19:23:14.4756 (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: OIA8rkUZpur6leMIEaKvbAWfwNSk0P3no6T6RQ7iLNWTSGtuxZWKta+xF4Gl6LSbXlH5eXJbO2yFx38EId5KyA== X-MS-Exchange-Transport-CrossTenantHeadersStamped: CH3PR10MB6833 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-10_14,2024-07-10_01,2024-05-17_01 X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 spamscore=0 bulkscore=0 mlxscore=0 adultscore=0 suspectscore=0 malwarescore=0 phishscore=0 mlxlogscore=989 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2406180000 definitions=main-2407100137 X-Proofpoint-ORIG-GUID: h64IlDrb024vwkfQzkZDau3q1xp2pUri X-Proofpoint-GUID: h64IlDrb024vwkfQzkZDau3q1xp2pUri X-Rspamd-Server: rspam06 X-Rspamd-Queue-Id: DDCF140027 X-Stat-Signature: 39uemocjixqssh8z44wzsr1mj4pxrqn9 X-Rspam-User: X-HE-Tag: 1720639419-659346 X-HE-Meta: U2FsdGVkX19XWgHazNnF3tb0RGn0LJBLxI8PWjIWQOIqSku+8U6f3FY55qZCILlc1iBs8kcoRh85d/xkhicO/NGgZ5NT9R8/qr04ug0fS/Br14LrdafKx1fdJm3nPWv7Wqws9vMpqIymOJ9n0ub6VOk+kY9FMSOMCRbS/++R9Ejn6SazH8MpeKJtntB4niIjHrgST5u2B/tDoY88jCK39baTKU8BY3BhoAU71/qM3rfK5V6U4BTMo+H7aiRUYSfXrWwmk5UBlwf/yFd2tPrDCcRvIU0BFtJnKyQGwdSO76d4+Y9hFAR1zv8Yv681oXVPOf2QzD7A4V6TGhtjoCS7xybi7x4SWdzotiV3OX+pC2zT4bGsB0ZlHIHuYx+e+5MrHK5QY5Qiocmk3eDW6C2bV3EGyGjMZt6Q0pUvmEogyH19MjxjGkt6FXx9y4QHmJWujxtnOW3ctvwKCMGHTm2y9sI1ao7T1SbD2W5HoihHl2Awkd1xgW2Kmv0ClLL/+r89KsevwPGeMFPsCdC25TGjtSGHwHiR4f/LbnsSZHFTzjRGZhjGw7nLGThO91fy5ZPWjDZC8KHwmXSimTSCHyKBVi94DMKeO59kStOgPzjyn7HNIxJtjW4h23Y7VgC9WWauKrCrP04H5wE1uCHLfS7k+b2uCLYphpoEfq3Tg2pabBHdr7o6jpjxAyH4c51PZ+LUDnzql7NXjLfjxRkGMNyONFJ2MSQ6xUN0xy3J0ZbRZnY1TYKHualZHpAG0B+ePvlwN7B9vR4zWSYt3FcRqvlgf7eO8nEfW1Py0E/ShwrRZzuLu0FvMDY/OhHahgoB9oLcgKp0A215aRoGs7VNXN2vjKQNJ/yX2bf1wAn8bnEoFadyF2zbRdBjjDKhjyOg7UGlLGoJ3E2UBkEJ7o1PFdFrLeZh7E2K6AQ33PVmwzMLje/f77P1L7SHoAkyS4gWN7HbvsrDtFfDszO6rumsSn7 Ohma25da qVaPISFaWUDBNVPWuhQydv56S2dp3i372oClqbMI2GP9DYdWJkCb3ULtfE8Udm6rM8YXpEJRDCI7yIMluUItsp4RGJ3FfbGm8p7zbkxwyvsavKg7bAxfaN9nostzcMV8O+9j/qUR73ykUV6jdRC8Ssi11OxuuhJZuvDblltPXSrC2VdX/Kh+1KJATSajK3d0nqWFMuSKFrSHeBNtucP/b0+60iZHaTuFh81WpM9MyyC+5YrINg85+5V0Bjs4qd8ivyEx5cxWatn04CDSSiBq9iXqNADC/m7FT+h7cnMTZiT0zwY+G8Rwd5lw6fHNtAiO7SjrOoVoDEaZP3zHEvQbDKsnbhA6UQzPWHu3uCFtCUBGWp1vqIz9VMoH6IRn2ud5eh+tJMKs1mIRvRPskwrT69nkiM3YY2LiuDVanDoOg02tYy4P7VpatmCx32v5SBCOI/q6IEK/GYe01QkiArTlHyjffFauq1H+gEVuXC7gviR/RXYE+Npb51VN2TiT5y9VMRbxPpJV0mAcSNQVw9sv/YpMG8k2vd8U42ZORp4M0M36biSM= 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" mmap_region is already passed sanitized addr and len, so change the call to do_vmi_munmap() to do_vmi_align_munmap() and inline the other checks. The inlining of the function and checks is an intermediate step in the series so future patches are easier to follow. Signed-off-by: Liam R. Howlett Reviewed-by: Lorenzo Stoakes --- mm/mmap.c | 21 +++++++++++++++------ 1 file changed, 15 insertions(+), 6 deletions(-) diff --git a/mm/mmap.c b/mm/mmap.c index 1c9016fb6b5c..49b3ab406353 100644 --- a/mm/mmap.c +++ b/mm/mmap.c @@ -2938,12 +2938,21 @@ unsigned long mmap_region(struct file *file, unsigned long addr, return -ENOMEM; } - /* Unmap any existing mapping in the area */ - error = do_vmi_munmap(&vmi, mm, addr, len, uf, false); - if (error == -EPERM) - return error; - else if (error) - return -ENOMEM; + + if (unlikely(!can_modify_mm(mm, addr, end))) + return -EPERM; + + /* arch_unmap() might do unmaps itself. */ + arch_unmap(mm, addr, end); + + /* Find the first overlapping VMA */ + vma = vma_find(&vmi, end); + if (vma) { + /* Unmap any existing mapping in the area */ + if (do_vmi_align_munmap(&vmi, vma, mm, addr, end, uf, false)) + return -ENOMEM; + vma = NULL; + } /* * Private writable mapping: check memory availability From patchwork Wed Jul 10 19:22:38 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: 13729609 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 CDD4BC3DA41 for ; Wed, 10 Jul 2024 19:24:16 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 996C76B00AF; Wed, 10 Jul 2024 15:23:49 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 8CE7C6B00B0; Wed, 10 Jul 2024 15:23:49 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 60FF06B00B1; Wed, 10 Jul 2024 15:23:49 -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 33D356B00B0 for ; Wed, 10 Jul 2024 15:23:49 -0400 (EDT) Received: from smtpin30.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay02.hostedemail.com (Postfix) with ESMTP id C8804120214 for ; Wed, 10 Jul 2024 19:23:48 +0000 (UTC) X-FDA: 82324817736.30.CD3A66C Received: from mx0b-00069f02.pphosted.com (mx0b-00069f02.pphosted.com [205.220.177.32]) by imf18.hostedemail.com (Postfix) with ESMTP id 7C8151C0016 for ; Wed, 10 Jul 2024 19:23:45 +0000 (UTC) Authentication-Results: imf18.hostedemail.com; dkim=pass header.d=oracle.com header.s=corp-2023-11-20 header.b=SE2BmYm1; dkim=pass header.d=oracle.onmicrosoft.com header.s=selector2-oracle-onmicrosoft-com header.b=CNDuBIIW; dmarc=pass (policy=reject) header.from=oracle.com; arc=pass ("microsoft.com:s=arcselector9901:i=1"); spf=pass (imf18.hostedemail.com: domain of liam.howlett@oracle.com designates 205.220.177.32 as permitted sender) smtp.mailfrom=liam.howlett@oracle.com ARC-Seal: i=2; s=arc-20220608; d=hostedemail.com; t=1720639401; a=rsa-sha256; cv=pass; b=S4D0SwhxdQtQ8zH4FFgxCnTKc+09uQAFCcV9kqwj9+t4tG+20U4EBqcfe6QQeVBJLEMwKC ZCaNZIcBppFn9IuVhh9RDLjXz1gn+/f9af1lcqitsEKcLViCd2I/uu1BclQbpbPfmPblyh 2rnZK6bDk6U0tqmitwcpJw51nvZBepo= ARC-Authentication-Results: i=2; imf18.hostedemail.com; dkim=pass header.d=oracle.com header.s=corp-2023-11-20 header.b=SE2BmYm1; dkim=pass header.d=oracle.onmicrosoft.com header.s=selector2-oracle-onmicrosoft-com header.b=CNDuBIIW; dmarc=pass (policy=reject) header.from=oracle.com; arc=pass ("microsoft.com:s=arcselector9901:i=1"); spf=pass (imf18.hostedemail.com: domain of liam.howlett@oracle.com designates 205.220.177.32 as permitted sender) smtp.mailfrom=liam.howlett@oracle.com ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1720639401; 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=nNu/B6N42Yk8627RuBq6GJzGSQoxxNJoP3M3uv7oJ/g=; b=iRpH8Cvvdpsbnc4LYVd2NLhoAmR10OBD3tUOrCFKbz12jsqGHwVpx0W9iv0x9HrwUrzHdw WCjmfvLSvcI9GabinN2YOgnMOIB4HYQEqlrAubsHFi6SpKKLUFIOMyVvVFxXqtIhDfKESW K//5oOM/T6ktyrty1i8jBdPx6Xwf9FI= 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 46AFWaku012654; Wed, 10 Jul 2024 19:23:34 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=nNu/B6N42Yk8627RuBq6GJzGSQoxxNJoP3M3uv7oJ/g=; b= SE2BmYm1Z0SivcBTto6WpWaQDtjqOUD6M7+wtupEvX05cwF2fW2Q/ds5yJPuxQ/S 9kvlOxt+ZcR4v5Wfr4n90Oiz4JOhjs8EfuVlP0p9Q+e5O+O4UAP9fFgKDmiDNOfb Oysy+YFszMjUN5QPbKc/Qjx4asFWE7DffKQUsT1JFadzCcsI+B8G6gwesQ7lo5x/ 8yELvDReWKTDsu7lRcub2YagrId1ObKeM74fmyZ12wlp9fMG9J8eDQlLskov28lv yDySyu6606qPWM7LUszcfv9IhmAyqv5KoU3Scy7cT18GX/CPQurKcMoZpiq9TqTT DOuGEDx/lqukdn43RaoiRQ== Received: from phxpaimrmta02.imrmtpd1.prodappphxaev1.oraclevcn.com (phxpaimrmta02.appoci.oracle.com [147.154.114.232]) by mx0b-00069f02.pphosted.com (PPS) with ESMTPS id 406wkcg0bk-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Wed, 10 Jul 2024 19:23:34 +0000 (GMT) Received: from pps.filterd (phxpaimrmta02.imrmtpd1.prodappphxaev1.oraclevcn.com [127.0.0.1]) by phxpaimrmta02.imrmtpd1.prodappphxaev1.oraclevcn.com (8.17.1.19/8.17.1.19) with ESMTP id 46AIdNi7033802; Wed, 10 Jul 2024 19:23:33 GMT Received: from nam10-bn7-obe.outbound.protection.outlook.com (mail-bn7nam10lp2042.outbound.protection.outlook.com [104.47.70.42]) by phxpaimrmta02.imrmtpd1.prodappphxaev1.oraclevcn.com (PPS) with ESMTPS id 409vv194ff-2 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Wed, 10 Jul 2024 19:23:33 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=eVY14RMkzwNE6/z+fhtJRRAFL5nWjrf5RBggq/Fo4vUlvgUWkDaxfGOtnCCTiMVoPQZNZrwdtnPezoc/96CGW4v+7I5MPSvDiOcQAvW4bTr1ALDURwP7Ih4/dUtMhxlO+AHc3srEFxmlExUmEYT3Pg1YQmPfwj9bksdpQ855FXFy5Pg/qaoW9Xol47WLtmV6EqS0lr+2R6UO0su3MWwcksGsg4ISzbMpJ96lSQyJgrIUYnDm/TMNWvCyjLApDHwZCTLS9rUMDRACmL0c9u8BYA+8TS0/Rf+WpbZVy7H5FJXjltgtwZ8j8Yw0gOq4lCA7lUbqa+izWTE2Q3rbAVQuQA== 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=nNu/B6N42Yk8627RuBq6GJzGSQoxxNJoP3M3uv7oJ/g=; b=PjRaA84sAdyXt1vy72xut0BteNur3em1abhDClf62InBt9JXmCosBZ2gXOpE3oa74xoCtmlRiBde0yNqnr5RG3/lMmS5KW1sU/ifsgH+5S0ht9iqKasLgegknywXNIRND/fH8tYyM0dmsjtL9BgJt+Pau0iqXxHZOh7krCTEJuNzsPxglQLIQxSxAhvspH6n8yKX3QNIhxnsk8bH4sMqrd+p6stUlRENpqv/OPk83umP4fiP8bDXGbFqjKomJqutuN2+0OnCtC/coQnBz8S0SLKNNIOi/oR64BNSZvaeLfXXtONci/mErOXgQeQlJyeCz6axftqAGxYO761/3lSKeA== 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=nNu/B6N42Yk8627RuBq6GJzGSQoxxNJoP3M3uv7oJ/g=; b=CNDuBIIWn0zRDjhFF4obJwdF/HOLT31eNmj6ut/yDNidY/cnnRDCXm0EPNpjJcaD7WRjphoaFDtbRP1YB8OGId5pc0q19DYSoyE1/9r+KMXE5mxQ2f1harmTTMLJ9qp03/xHGXkDccqrN5FEeitV37uU/Fl3CxsJUsD0ifxfA2c= Received: from DS0PR10MB7933.namprd10.prod.outlook.com (2603:10b6:8:1b8::15) by CH3PR10MB6833.namprd10.prod.outlook.com (2603:10b6:610:150::8) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7741.35; Wed, 10 Jul 2024 19:23:18 +0000 Received: from DS0PR10MB7933.namprd10.prod.outlook.com ([fe80::2561:85b0:ae8f:9490]) by DS0PR10MB7933.namprd10.prod.outlook.com ([fe80::2561:85b0:ae8f:9490%3]) with mapi id 15.20.7741.033; Wed, 10 Jul 2024 19:23:16 +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 v4 09/21] mm/mmap: Expand mmap_region() munmap call Date: Wed, 10 Jul 2024 15:22:38 -0400 Message-ID: <20240710192250.4114783-10-Liam.Howlett@oracle.com> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20240710192250.4114783-1-Liam.Howlett@oracle.com> References: <20240710192250.4114783-1-Liam.Howlett@oracle.com> X-ClientProxiedBy: YT3PR01CA0055.CANPRD01.PROD.OUTLOOK.COM (2603:10b6:b01:82::23) To DS0PR10MB7933.namprd10.prod.outlook.com (2603:10b6:8:1b8::15) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: DS0PR10MB7933:EE_|CH3PR10MB6833:EE_ X-MS-Office365-Filtering-Correlation-Id: 27c2e7c3-52b3-49fb-9d7e-08dca115bfd7 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|376014|7416014|366016|1800799024; X-Microsoft-Antispam-Message-Info: gRga06PGR9lUVVFlpYyfJyfWXmmCQfQo/BsrHXuN4ZUHBQi2+CEONq0so7pjFU1bnQck79iCy10cp8v5OL+Uxgy3rw9LHbfAZqFyUs91WFDCE6OQ4aoFVIVUd01pOXpbjkkDi4uJGcsiwUW3/nOW32wC0CzbidZeGzogb5JQsBMB98JRfhEU28EuzMPl0XchpD43Hruooj3Hw3nX8HhBxtmLOuhT8tQNEs5RcJe9ofRo29kXy8ofuHSBJmKDu6msYSol0B2BVAv4qfrABEaEzLlOb8BRisx8fY+XH+9Pn74JdFfMyRBym9ZzQS8OIAtY999sF/7KiHWG3wMOuzhi/hvzqotQel5vZKRIFsvsQmRrZ7Sa/ZgpRXeicJF2Z2H2chw5OH/9458ubENXpvI1F6iMeUrJN8ln73vTTCwmQ2jBqld8BzIs2TpjEFBwCSJkgyxxYCAmlsh6KmfAgm/llCexUTEUAmkosqnCFsmFc9u2nUbHSTljbqOB39iwSJMwsl1KOvCAwBSNoKGLN5zpY8RikSNOXMr3h92EEvPeyL6IJcl0SxVZ6yUwpk9JGk859sFEPpWdSNUlRbkMW8+nGA55dFLThFwwgOciudctRxQi5Y3HCyeOHm+XavN25iaeN1Wrj5pHTjBjGLZztI5o+VF9HzQqmircLM3igYk210heGTIIzotJNNIV9UzV6kBUc1F07Py0/BXjHlFMJPRMRZg8GxtXFlmwrhyt/zs8E5KtbEYxcqCV0LE2zCFpreZ1eJkrq4I4mubX9viM/LgIu4mvP+d6pjHzNAyjC8gB7CnAiuzLtvkWdoSzBXBKjrhkhfy2OrUq1ycicItjD2kZsafSZ5uQ7CES4/TkI0q/F5gia7XvtSm56OsoNhkdMWssjXolExrVMKS/bS30lk0VPXoIFjlP1MKxjGzLlK6zXay8tPX0/Lqv41B8iZf5xSfETay+xwc0E3kmoPPaIDhPhCOGV3SMQZuzeQUQuDZRIWdCfqtdh/0U35iG8S6maNjFaOd+QetfpakEReYU9ymZTZOrCC/sjiJdms8J9DMvXvZxUohbxYUj5caAyZDwahKQh+i6lfKgFAYLSxkoXwFIelxJt4JLOwCvIONXvLfTMf5tCQ3CPqAKnhXI4t1LBY6bdeDwE/LGIUZ+JmqkulASFKz5D7t+INQhrGAJiU9QA0aooNsqypt/rmvEpLsdyR6NnnkqkF90nlDZTSVuoZS4wTPE7avkOkLbRCiVZfYmdhvb5WOfo/h7TmGpUwVsWxWSAC60zeVneis3FzNHCfXJwQCQbjv8HEGj+FfPiwkpyd95k22bemq/cVGmq8MAGRJIwYOKp9O/gBXWqj2Lu2Lu5Q== 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)(376014)(7416014)(366016)(1800799024);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: l0SEPHUio2p0mPtm5r8IzxtWzmizbzMWTF7/ykaim4hR/YC8k03wKPWqHBXbpS1NGGgu9GhX2KT3PO7ksVRsQqvwa3W/wYePAZvHdf0cfsZSslnIt3nl7ZDoAczqq3qEHvrRzqt9Ha3Sdy9leM8jRsU5mrCcU44SYmb5WHfW06znPVUU6vvFn0OgxIHNPnEhjVpehfoH+bV4/yZ6IFTNKbUD5yAKwQcjU2TYnLaNK1zPw5xzWhYWAaEsyhy6P+LEPdYOvDaKMXlC3gR9aIDNwY2B1MSgjIie2N8pdzpxnXpeU7wgQqkmIwmHN5F2wNnjCbbqo4G892TnhlpAKVaRSVautxSmzRXzNAgWvumv39/Z6slZo0nCP1PtUIL/t90z0qD0S8aZd8XJ1L5QDxnDA4MDh6jWgJl0g/VncYQpcnNcw4IHme+3HwFlE/Zg/d3cWYbm/m3K1XTNb1OEWrHI64T+TIBRG6PNbEOn+0MLFV8hHqwhnp+3rO9luBmuqFwP6B3NSzmuhelwE58S5F9gAzj9oRQyN3JC7/1hDxmv/U5IZo7NbULZKPL+JGVLxgF8kwRaxG4V/hYXMADSjdyRP5BgLyRHRrg9lGGK72BA5HeZlzfE6bPZd+L5psvvPpYRd39Mm0OYaKavfFhyJiGEl2fPGVfSflP8s5N1bOlHYFKVIE8cLpPJIZIxeVMxutS+ZIW1Tzi3M89g8miMKWzNM2gczxNbhynA4UR8Ohmg0LVNoMexn6FotqiT6eDrWNTVWQEi/cCBF9cI8wmXFNybI1LT2Hcodhdu+QpYOFBxfHT46c79CSeqU2PUOb90YVxP2F/f8UPGyJRL4bXoOaFk1GxE/A2EnzXPLwPO3fFgaDJaHvvDuc3uu4GapWDRAps2Z4qqrxHmYo/1SNpqvf24SYinn+pz7nPCmhIwExIIQK3YvxmlnJJDu8NOvbZnk8THu+dg5PQdnH4KbW6fUVpdC0gV+VLEUqrBlgR02YLkKxETFM3a+FpeEO2Y0JdJ2KhboMOaghlUToPVm7rsWzGvyZNB6TTNddu3eYlBUpqGla+ep2B/hTf5PqMGkA7QHNW47QvSpzNx9qiyaLeRQtPCyH0O2vwSwpdDVHcIlWuByOCAOHcCAjAg5QrjL+SuVIDTmtt/kEq5DgHUdCIfGNnuDutnro+bqCuDnnJcnX7wPemdgeTvuIwhixW9DXXz/m4iLoTl/nyJngbCkO+dC6VR8RTIWxig2PFoxZes/HV2OqbgiQhf+Haitra+V1S3gujXUjPlSj8Ayt4KhnP4A0rjhR9u9XEKhabLx9DX5dKshL2M1ZEVjYQMZLE+QNVGggxDuA7u6LjhGoa8WwcpCU4B09IV2muS3fiTcSAdC43sSJG24xMcUTfvBrOJ+k85Sr4Zg+6TWknlz/OkTr9kWf6A4Do6RuQfS1KLT/tOXC0BWNDvTAxxQtpBm9x1O7QpDrYfvN20kY2Tpfp1UE74uXaE+iWZnb+v2K5nroS3+9jHtmOdxX69q7LJLS89e5/SZrqAuiDbdOxXk8nPeHEtA3IHJrr8mIRNHzg5rKkJ9zuPjFTRnnWzN6ENx8mbrpSi7LuYBs8cy0jKYS+LRiLPRx2PlQ== X-MS-Exchange-AntiSpam-ExternalHop-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-ExternalHop-MessageData-0: Ns0XvRO1iGEBVOMWAUfFaUc4dNur2a5ATSe32QDmrAeM5iqZftAasazaFgkk+nVaA7gzUdkEnamtyQ1lC2/EgkAET8pNkJDogVfW1j9Xbi0rPFyJJyvqU9o2J9BMp+z8xzCQFTjXZhdk1Irq0fJoRZduIAekQfNciEqLDTp44DI6THok/yba3AeLeWhvehbqhlQy3MV6nDH/s+I5xzLYsGKmHrw5COKiQE75FmGlz0rQUaQiOGBnVk8h97EsR4NeS6W/5mB8005/8X4aDvhbznCxX14Fh1rW0E/PsQT6rFp59BjqIYJIm1YaUf6zuGgxHHz/9vYGiMhfslC3OSXtm9/VcFFiXUIOaDkSx5wn40AFiiP7yhonjYgqZVqoTtZGYGMSI+KelnFpJuIvk1Afx58X5ow0qmAU7b+HjhxdWL2UetSV5QphevDf6Ecs80w1ta75rcNPPhhl7EKrZw7JlvA+mO5dZPapdsf9wCJ3wBkY1VwoY+g0aIJhKlCvcz4OEsRnkp/eoL364FnrNU8YgBe5ccdhNdg2Fjh4eZXQ8dGtxdVl7o7TUGE9cA24jCWHbHc6eEWewGRjbtb444HVtBeF9SWSKeisbrWd18+y5qY= X-OriginatorOrg: oracle.com X-MS-Exchange-CrossTenant-Network-Message-Id: 27c2e7c3-52b3-49fb-9d7e-08dca115bfd7 X-MS-Exchange-CrossTenant-AuthSource: DS0PR10MB7933.namprd10.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 10 Jul 2024 19:23:16.6051 (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: WR+b9ezQe/AF3wgCAv2gPxgW4kb8QUgAvW8I233fyEi86ShTf/tthzBTFgdgboD/VHyQ9LtCmPMth3Cqmo9oaQ== X-MS-Exchange-Transport-CrossTenantHeadersStamped: CH3PR10MB6833 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-10_14,2024-07-10_01,2024-05-17_01 X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 spamscore=0 bulkscore=0 mlxscore=0 adultscore=0 suspectscore=0 malwarescore=0 phishscore=0 mlxlogscore=999 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2406180000 definitions=main-2407100137 X-Proofpoint-ORIG-GUID: mMk98T6BYbX9vl-0_GVSLWRA9kHs7TXH X-Proofpoint-GUID: mMk98T6BYbX9vl-0_GVSLWRA9kHs7TXH X-Rspamd-Queue-Id: 7C8151C0016 X-Rspam-User: X-Rspamd-Server: rspam05 X-Stat-Signature: kozt4i4iaqxmufmtr5h913sf4x7bbefy X-HE-Tag: 1720639425-849924 X-HE-Meta: U2FsdGVkX19dsorEVWT0EfUE5rDh1TzoR5NyHhW05vL2Axp+F68u9zkGwGYaD4YAqpOkb+4T8M7Y/3idpG2lgxiLncg9FlFrxINYQC1bHxmN71ZaQnldmzMtrOU3pQyXyu+gkdmaRTH4KCk8T7QtISz82yZKxoaa2Zve/4VGvmkbKKkRWxvN5C3o4oTBU3RGQNEzMLEDqkXwyLqxXOuCiaG3ssgSKwSrN01dqsmHfQVAkGnMgv7Ya/wQpc+Z1s/OVltWHBFIOfIX4FPcjEjpZpL7/8VtWhGY6x2sV36aTenDIxBHFytT/sVQN718WQb0cq4H2o3FIWTpH6UiIJUfNGAfWfaiqY3+rC3eM0OGnBOojRSAor6R1MnK+j0CVBryrUPR6MNz/7wl2Ryh18R9HCULrWR+dUN7KsLCsu/Atu6S4oHoIObF2GmJgvpphtj58PkUZ32zcYFSMrds66DSF3rD3ujGsVtYQ6SwRowNqL0/wom6Dl8yDQ1Jrmp24udx6JwoTcmZIJPYhTtuTBT2NNPFynHagi2xsYZoWU0JkbAwZgBlTdS7WwyFDoEQemjEtMlyedspo28ripBzv5HeLsDyjOPhJ5VDJaiCt+xYBqn43KSkmPuQRBjDVrOnl86MNq/KqDV6FsVv95xrZXTuWQaytilKfrcyumM+WqSAPqIegc4SCogWGXe2+pzTSBhabVT0iqVLy0gI68ZiPCXPdK78T0terSI+bsReTP6tRb9Ubiy77+toFiTkkgf2Ad19cg6BeP11wbptauI1rv2O0FvFqKVEZZlvGwISx57fv1Hd2fQJMnlMcVx4IEBotgfU+2Pzm0ULZprHe/KcR6L3xgvQEvjfK9wOG4otLVeQ1szU/se/EtOkdENAUCgh/73/K6zP3WTWVaNA1eblfgTcHCY7Su/qX7Aw0VbgiHkHPqqCZG0MWD+O9xP+p58z7vPxX9139/JvLMbNDXXd45C q4XNIMTO bW6MfxGSBI7/My7O3Gwo5m3zervvc0NU+/DqjGGwCI9+EAsz0kxN3blXxEEsq49vHbVrN+C88jZNe828Q3CTwFs9hdetuUFlrOdheTpGdtz+ib20OSTJfgbjSKQdsJl6XZkqUpG89ZFHeTU4mj3zbjHf3tgCsvmLCeRFfQL01sK1+9J+u3VGv3EnzoNM20IZXmiK5YM+G8evMdGNQNKCXv8k6ofgPhvJVf+Gel2gnK2ggJ1hBGlZcApLBKYsLALzyfLY4rkeuqpAS8kTi3yxVDIm+kBCx0nGxvP2xeOoTxHOjmc2JyGojARxka7YSm9HYRkWvlzmucAqVvqP9xCpTpp+FrUcRMWt6fwSvXN0Xa8mPIgcZv8Y8sUk7g+zGF/FCZDR/tGjFwJuVSeCnoiVb+76tO0m9T7Gj5UwrFZVXDE6DigDG1kneusuJhdO6jXAfWJQSVZEDVWpgW6ni0p1d3yW6LpobkYB1dSfwwJ/i7IrsKabEkG3R5RHZiLn9vXJ/hn5Y 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" Open code the do_vmi_align_munmap() call so that it can be broken up later in the series. Signed-off-by: Liam R. Howlett Reviewed-by: Lorenzo Stoakes --- mm/mmap.c | 26 ++++++++++++++++++++++---- 1 file changed, 22 insertions(+), 4 deletions(-) diff --git a/mm/mmap.c b/mm/mmap.c index 49b3ab406353..a1544a68558e 100644 --- a/mm/mmap.c +++ b/mm/mmap.c @@ -2916,6 +2916,9 @@ unsigned long mmap_region(struct file *file, unsigned long addr, struct vm_area_struct *next, *prev, *merge; pgoff_t pglen = len >> PAGE_SHIFT; unsigned long charged = 0; + struct vma_munmap_struct vms; + struct ma_state mas_detach; + struct maple_tree mt_detach; unsigned long end = addr + len; unsigned long merge_start = addr, merge_end = end; bool writable_file_mapping = false; @@ -2948,10 +2951,27 @@ unsigned long mmap_region(struct file *file, unsigned long addr, /* Find the first overlapping VMA */ vma = vma_find(&vmi, end); if (vma) { - /* Unmap any existing mapping in the area */ - if (do_vmi_align_munmap(&vmi, vma, mm, addr, end, uf, false)) + mt_init_flags(&mt_detach, vmi.mas.tree->ma_flags & MT_FLAGS_LOCK_MASK); + mt_on_stack(mt_detach); + mas_init(&mas_detach, &mt_detach, /* addr = */ 0); + init_vma_munmap(&vms, &vmi, vma, addr, end, uf, /* unlock = */ false); + /* Prepare to unmap any existing mapping in the area */ + if (vms_gather_munmap_vmas(&vms, &mas_detach)) + return -ENOMEM; + + /* Remove any existing mappings from the vma tree */ + if (vma_iter_clear_gfp(&vmi, addr, end, GFP_KERNEL)) return -ENOMEM; + + /* Unmap any existing mapping in the area */ + vms_complete_munmap_vmas(&vms, &mas_detach); + next = vms.next; + prev = vms.prev; + vma_prev(&vmi); vma = NULL; + } else { + next = vma_next(&vmi); + prev = vma_prev(&vmi); } /* @@ -2964,8 +2984,6 @@ unsigned long mmap_region(struct file *file, unsigned long addr, vm_flags |= VM_ACCOUNT; } - next = vma_next(&vmi); - prev = vma_prev(&vmi); if (vm_flags & VM_SPECIAL) { if (prev) vma_iter_next_range(&vmi); From patchwork Wed Jul 10 19:22:39 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: 13729606 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 D50D4C3DA42 for ; Wed, 10 Jul 2024 19:24:06 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 997766B00A9; Wed, 10 Jul 2024 15:23:48 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 9201D6B00AD; Wed, 10 Jul 2024 15:23:48 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 643236B00AF; Wed, 10 Jul 2024 15:23:48 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0016.hostedemail.com [216.40.44.16]) by kanga.kvack.org (Postfix) with ESMTP id 1A1C76B00A9 for ; Wed, 10 Jul 2024 15:23:48 -0400 (EDT) Received: from smtpin16.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay09.hostedemail.com (Postfix) with ESMTP id C8F5580235 for ; Wed, 10 Jul 2024 19:23:47 +0000 (UTC) X-FDA: 82324817694.16.39282E5 Received: from mx0b-00069f02.pphosted.com (mx0b-00069f02.pphosted.com [205.220.177.32]) by imf08.hostedemail.com (Postfix) with ESMTP id 907E8160021 for ; Wed, 10 Jul 2024 19:23:44 +0000 (UTC) Authentication-Results: imf08.hostedemail.com; dkim=pass header.d=oracle.com header.s=corp-2023-11-20 header.b="AX/xobzN"; dkim=pass header.d=oracle.onmicrosoft.com header.s=selector2-oracle-onmicrosoft-com header.b=VKP4w5zX; spf=pass (imf08.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=1720639408; a=rsa-sha256; cv=pass; b=dfC9xzhL4EyWFYCByHoJfgsh/4B8JjI06KTz7P+kcmvYCV7jUXbg42foJN7GDyu5hvJ7tO v3ly8tYQ2rDM/tPfpgNiEyBbErqsNtQu/e6Z8RU1IWyrBjo20S2wRfKqDWiMTrcQLjOYZr JElaacEapEJ1r0vkKHE/Ja6vJu2Xjfo= ARC-Authentication-Results: i=2; imf08.hostedemail.com; dkim=pass header.d=oracle.com header.s=corp-2023-11-20 header.b="AX/xobzN"; dkim=pass header.d=oracle.onmicrosoft.com header.s=selector2-oracle-onmicrosoft-com header.b=VKP4w5zX; spf=pass (imf08.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=1720639408; 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=DoMwpLBw9WhZL+32pCwXz6AxsApbM/3+qs6lMKa9YfU=; b=F7vv71WsIRu3d6Wehb1cliaGvMRPH6FZUMlBLPrBuzEyzLIsHwgjOtnEu4r4cXIioZtd6H AOdvwOQrId6rDTv+ltRW3GX6hou+XzfLmfbke5FDZ57cNVl2uYmWUH32laFI5mqG+4/G3z j2JjPrCBPWz0y94iTjf7fCLGn+MYCKU= 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 46AFnCs6006199; Wed, 10 Jul 2024 19:23:35 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=DoMwpLBw9WhZL+32pCwXz6AxsApbM/3+qs6lMKa9YfU=; b= AX/xobzNpcaC93CQ/gONwDiwfTlO7M1FYSPrAbQ1/WRzn4Csjaeo/dSiWNZbEnFf TOW5u/kcKIFHkm0PEiXk3lbtja9apMp3A6KNX1BE6gktSFzKfCOKjQr+MaZ3MXiX klj0WL/wdlgf/ZK07/GojAdVJEb+nbAcQC/P8XZCUFHN8P6sTspo1ot6ElLKU5cG 8etjuqg+vM+HUojYC6xmFOTnllXxa0m1LMVxTqD21ou7i6FgrpaVGEnKL1UzS1bn WWKOQsMeyP827amwmIK0wEdbhxmxngVJr0xxVGU/xCTIqt49toWLhbtS851bLtil nuHCm9Luykvw8jR6woU6qw== Received: from phxpaimrmta02.imrmtpd1.prodappphxaev1.oraclevcn.com (phxpaimrmta02.appoci.oracle.com [147.154.114.232]) by mx0b-00069f02.pphosted.com (PPS) with ESMTPS id 406wknr2ef-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Wed, 10 Jul 2024 19:23:34 +0000 (GMT) Received: from pps.filterd (phxpaimrmta02.imrmtpd1.prodappphxaev1.oraclevcn.com [127.0.0.1]) by phxpaimrmta02.imrmtpd1.prodappphxaev1.oraclevcn.com (8.17.1.19/8.17.1.19) with ESMTP id 46AIdNi8033802; Wed, 10 Jul 2024 19:23:33 GMT Received: from nam10-bn7-obe.outbound.protection.outlook.com (mail-bn7nam10lp2042.outbound.protection.outlook.com [104.47.70.42]) by phxpaimrmta02.imrmtpd1.prodappphxaev1.oraclevcn.com (PPS) with ESMTPS id 409vv194ff-3 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Wed, 10 Jul 2024 19:23:33 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=EgnSyBUxoMFG2pJKEvwTuoGMlNrmfyWVvdl9hKjdJ3s+ZX/iNf5K456AAcspMPd980gt0Gevs+pITuyfWJboC3iH1A9j6gd8tYCCgJXHJ5xDh9SX7faF+7GQbCrqS8X/jZ6M40jYjI6ZGLVY9TH1LOTTeMSN5/0eQNnsX97Z/kRT8n6G0IMThceUTUyLXQTdMsk0fiNoTioYcqEBA+oJP7rvpkE9rpq9D5sb6sIkHwdxbUjw45+j1hiEskbD6ZQls1UBZkMRz0IuAQH0SvcC+1yIaUx8H2P1LAiuAxm8meLClO1Pzab/uSHGOfh5HDiN8LLJoMswej/xzEumr3UeZg== 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=DoMwpLBw9WhZL+32pCwXz6AxsApbM/3+qs6lMKa9YfU=; b=Ko46QYqr5Hv1LabKsd+DBcVHPp7lu1JrkDII0JbXUSW/Z/SMg36qtU6mwz+AsdwwnB+IgU30D6yqLquUol+7liRGFsCdzlj3ITb82qiEubuYjPSZYPaxmkwfklmEqLOh/j55NV5bI6yQSxp/TNgSV+3jU8mf50s1WCMpbsMm2sODWN8Cgt/zpwMYtFlkPlhlxDgCxffhM0LH2v5qMikU4TZc046EvLxhJ9N4RPvXSIw9YbCPH1/Fiz8jdyBw8jKshald/SI6g4t6+Whgv/EuUBN0dEz6RO1vFmwgDuny2btiOSSIev8yiPrELD89lJ/JZO/O+/lXRmvDab3NzKL1Wg== 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=DoMwpLBw9WhZL+32pCwXz6AxsApbM/3+qs6lMKa9YfU=; b=VKP4w5zX3yXehde+vY7BX6ZPojKjD+MQOcOORfEZB11B7cYI8W+LbfctsYgs3lSKbZtzBckB7QkzXJnDQzTtzYuIg2aOaW9TzBDaXPh7Ph0W6jYVyutV6XejgO/9+TOlZsneeJUkSu9+yqqGNIZscdJ1bWjlzUsQr0STGXyv7QM= Received: from DS0PR10MB7933.namprd10.prod.outlook.com (2603:10b6:8:1b8::15) by CH3PR10MB6833.namprd10.prod.outlook.com (2603:10b6:610:150::8) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7741.35; Wed, 10 Jul 2024 19:23:19 +0000 Received: from DS0PR10MB7933.namprd10.prod.outlook.com ([fe80::2561:85b0:ae8f:9490]) by DS0PR10MB7933.namprd10.prod.outlook.com ([fe80::2561:85b0:ae8f:9490%3]) with mapi id 15.20.7741.033; Wed, 10 Jul 2024 19:23:19 +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 v4 10/21] mm/mmap: Support vma == NULL in init_vma_munmap() Date: Wed, 10 Jul 2024 15:22:39 -0400 Message-ID: <20240710192250.4114783-11-Liam.Howlett@oracle.com> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20240710192250.4114783-1-Liam.Howlett@oracle.com> References: <20240710192250.4114783-1-Liam.Howlett@oracle.com> X-ClientProxiedBy: YT3PR01CA0049.CANPRD01.PROD.OUTLOOK.COM (2603:10b6:b01:82::30) To DS0PR10MB7933.namprd10.prod.outlook.com (2603:10b6:8:1b8::15) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: DS0PR10MB7933:EE_|CH3PR10MB6833:EE_ X-MS-Office365-Filtering-Correlation-Id: 51974674-f6d4-494b-28c5-08dca115c0f9 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|376014|7416014|366016|1800799024; X-Microsoft-Antispam-Message-Info: oSNHtG4DTfLp+MkrWyPE1YwNni7hjS825zrcZWZowPhsvrMTAnxN7EYbiArjwmnv5YdKd5B0XmjTOQN5H2liMBO2TEqoh0VIanyxzijuPHsyTB4RlMtCnotzKI7tkwED82fkjgiczEmbxl2vFBHyzM6cFvl1n7K4YxJ/MmLkqtIQ7q3GdFVlBZKUJJGhvapODvU72I1u2VfYv9jv8qe+98KNPCh+NQ88uZb0aUiwO7gZJPRrXBNlnxC9eMDFy/SCc7gpGu75E+loSerXhwLqec6YHCREtnZg5qWr9EBk99Za+rNTtcK0sZLEEx90sqRP8unNLuwUIfqmu6hdt4A0IGbPplfwjlqzCf6JKU3LBzEhRtdVRO5obv//Ahhx52d1w5Rqw62+c4eA7nHxd6m3UWeE8nX9evsBnSSJGgskToZlsaRp2DwFjDE32eg9R8/su493jnriywNJMSG9H01m72qTXUu5wXr4nYALpheCho3cpmRlhLGEGbf4wA+iZlR2rQJfAfYdfheGvKbrVkt6rHFE2VzRPqAfRGoRihUbVfc65jJfIMyQ6kA/eAqbX8TgTBO3w0jDVT0X/XDRvvDRiYpZl3/TshBpXQYgVezmiC4lFPsuEpxpM3B/SGV2StYgxuxajl5yTmd2wXpIiNW8eryDxapOCY3nM0uVfMkCtuWW3RaW9QfVi611juR0IbI0AMogmuKkD9m95pKNheJLGNwDt2S7MTxcJLis9e6HzaEQsgd3nUiM3eiy/LSece9kWnSmlXaQuil/VaCi4az42eCsf3uoPsMclLiVqe+gG3qNsfM4XBqz3y1X2jWyJSECMLySzuwgdg3cvlh8+VbZxRNjHjrHUhRfa9DoELFfn8wsjCmty8lHJ5RvEZWD2jwYqSSki+ccY3V7bLINZVxQR27viw+uZOAw4VJcd6ULNJHKordtl+wRY6k3ESJ5ldXkF46yWm2BDffjSUNYDRZtRPW+gGXdMfpLYD5e8zqWZJSy7+PdWmKxad2Wv7538nNbX//PCkjdRy5qD/taajypu/bHiyLG52OKmZoh+9UGYV57ajv0JntDVTyYaWq026ZJc0D7mey5LFPz6JsF1pUlRrh8F0QQ11ryZQOmYk3YFpfIzGS3bHwC2e3SnojPKH1oS+3y8UGcjC2dIUNjX77drV+0rD/TA9D4zUphsVY1NlNOdXiYzqrWBPU8GMzvMga/eJdhQ8XGdBAHjL98SCJAs6cLUxzwh6e4pmKiMxMlq081STeD+6qzWVPL8oMqK4jiHU0GhY/fIaxI5V689hVMjw+oiDAXBJn1fNUytBEzSnV0NOqFjZ6XMiiolB9yLODqGZ4fD9u/3Li9Kj7KpmS0Ow== 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)(376014)(7416014)(366016)(1800799024);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: 3LuM46FgQKswdonzwdFgjaEIprrEi+dkQyn92kliclItXbm3sLEW3QVCahKKMN8SiuqQXL7F44FVx7JpKQ03w02qgcZflP//FrmbxoP5yp6/qPUgyiY7ImcL3XxMdWzO9Bc2Foe4c8noVNDyXowkBJYBO3IEi6FU0f1YSX6A4I/TUDuoMs+NfnjVgDqjUmZzJfXgMRiJTVkLRwHp3y+Yv0UP0xvuV5sj3F3XFij+VL8eaSmXUgkrnyIPc9sdp90jOLVpQf8XKuZ2l9jfdh63IpA/VTKNqxn8USo85uWjabmveSDAYkpX/7EBUZOBDckgLD0cqdvRXLd3FnKgZ2gw37Ao/OnlMRF//ZdGZz16c5ucOTflwMvxuN0qiVh0DGif2gs3OzqeofQz4pFZRAW2lI2iACY/uPHg3+3NpiRpjaIaiX9g86iHM0rSQakOXd3fhefSyFSSOhUO6udhfIEEI6kbPCmlniLLy1U/ta7HKwefcwcFnccyZmSyURA9JGRjUPJAj6BveNFDJtB3sJjk7SafSqtnGH1MwaKYhDedX4YAzR6YdVfT6va/i27DlhE/p7nhd7hUpoewqQAguIkyXKbr2mgvroXGos/oT7InAPq6gFl/GsQj4/4d1myWEfTUaHxRBn2tfcrJrUgnKpB6qxH0tSJsyl0qq32eYom5qTLs2h9fT+JxGpkY4GaoehhXTARXwnTqBgSUBXFvPmKMiQVeGqWqQ+wjaA+FiKq61Y8B4XbmPp1Lf7EbglI1Nuj7QP7asVxoJykyImizOu5WDc7iOkrw94MIhIdstOv/CFf5VZYPBEL1oB3DiMGTMUX4dLL0IYOUGEEr3++JNbfZ9JSPFRmdp0hCKvmt3xSuOMWkIw/YH5jEtEfGm+Esj2rSz+aNpxqHIh5lZP+tXxfMwsLnkjAS/88Fv/2yqJdaz1imFxUrDdH6WFtvtmaT5K9Fqmi2AAyWxAQq6ZD22ODwLyulW7NpKhYFypNSifGZD94BPg1MkpJacHBAMEmpJLK8iwPQpiJ58+MW4gord6ygVxjty1DHxRtjZwms/4CvkD70ZuwjHNM56zBNR5s6wwOa7l4QpbxouzVsTDP7daFFIjuQA+OGcjbL+hfEw14ZQ5bWRwgildetKh978j0ptq6rA3b1Pdz/8263c5Iv4w6OI3MbcmswK4lOslC4NBGxjtRHm83mo3qzRD8x9uyP3tckCatLW5Gg0iMXqU6gQ9fSrDumOnvvVGpNgzjxJhFOttjVafrNm4AdHlK4ANKcWsdO7/3RE/1xZw5s7+oTWQN+919XSt/zGp8OqHO+8KvWPFrBysZXjW94wEFjMkmhd9a/QtRoEmk1mVKfb2RBn3YouVwzGicKH01kKwqwZZ5ZxoZaI4po5dwVCCo2ZQFLCQXb6oAxBg/GAstsheKnanAMzNav1qSYOkrYHg/Mw6xwU2k8p5wy3430y3i59VTEfTd1T96rwR1aT0RRez4TxuOyseapfMhcO4df4mcBHRbuJZLnFB8dfGRoPkVTwAKddmm13NfYcULBrdWpZ3UqwUqz3XsbmKHMKKlWw0mcfED8k7U2CDdakTjdZktNUGmYWnVfaEtjz0Pcl/Ts0myQDLKUMg== X-MS-Exchange-AntiSpam-ExternalHop-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-ExternalHop-MessageData-0: PWo0GIJx6/Xt93ZkvdGvk9r+KmioDa+8Z4hYR3J29T6Xs0NHOTs9+EpunKujPI/8Ze8IF0T3GCMTQjV8bdBTx/escL9Bf2yxccj69jl0vP6d2M2LPX5Od1DASnGMYSpMuVAQWBMk0zVmXiaBRg4vKvOubvTpP1pZ7HQFUy+cU12uvFvSCxFIc3nWe01Dqn1ishB4VRyhldfEHI+Y+U50U+38Lob4CybyNPU3QjoI5ea/mLfYBKUBKn2iW0SfJmF/s1XaNtWkxxrWRu5/jND5d00Lo25CX79zBPzo9Jd72Var15obEIqqH+TlXEWFH5V3lxJqjvZs8CSFwXqeIAZqaeNXw31qotg8YGL/b85I45JDy80llnteent8PCh+k6wjKHE1dSS0dFezlvaUUYheSrtgxeVihYxoIo+V/IkAQsI6XckF+2MZprAtgKBuA4XFiUREpfUjWEiH/pxRDxQb0/t7TrZnkSploXTatX2I0pFdsNDxm7OclcUrjj2LqWp6V8RQmKCaCC5FDFszvJtOl+BKTJRYoNiBqzgu4YLw5c31aien+2yQEZw3ur25KibGxu3XFBj4c+Mnv7dr7DoGT0BYN7xR71rnkl73tPCpyKw= X-OriginatorOrg: oracle.com X-MS-Exchange-CrossTenant-Network-Message-Id: 51974674-f6d4-494b-28c5-08dca115c0f9 X-MS-Exchange-CrossTenant-AuthSource: DS0PR10MB7933.namprd10.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 10 Jul 2024 19:23:18.4500 (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: bAhFBDL2SORemJW3Km1K+BOXNx+cNuZbYHGzMsHsoYJA/haQcHgwTWQDNk2NtepT7JlFusdL96pmcjlkorBAlA== X-MS-Exchange-Transport-CrossTenantHeadersStamped: CH3PR10MB6833 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-10_14,2024-07-10_01,2024-05-17_01 X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 spamscore=0 bulkscore=0 mlxscore=0 adultscore=0 suspectscore=0 malwarescore=0 phishscore=0 mlxlogscore=999 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2406180000 definitions=main-2407100137 X-Proofpoint-GUID: GtRhqp71Z-I9pTRdU62fMwZ50ePWkO4H X-Proofpoint-ORIG-GUID: GtRhqp71Z-I9pTRdU62fMwZ50ePWkO4H X-Stat-Signature: m1o6kbnrqhtyf38kdceztq3xpzff6i1k X-Rspamd-Queue-Id: 907E8160021 X-Rspam-User: X-Rspamd-Server: rspam10 X-HE-Tag: 1720639424-939655 X-HE-Meta: U2FsdGVkX1+0ggpRtSt0aMJ+HefdxonNewYyHg5XLBajmxJtbA8Ufcmk6zLGcBeTZ/YZoRg8ZTFqxptszmF2QLZ+QpqHZjK441dUBgidc6B/D0tDV1kpkQVGhLNnlCtWgL6EizHcfGuG2wad+BP74Ll/5gA/3fUG8J6NYbaXefFNq1gEL+ck2kccVx6/gg3/jegJb+ADqgqdo9vJDQrjQSrfG2uS3S8CZaBPcU+g4402rKW7mDpxQpn5bRAB5DXK43hTM/sjjDdws32AzCP0dMHbZXuAx5VSdzrhBqE/U/7py90k671b0Cl/pYodeODew+kRXIEEpT0HcXzryAvlFy/X6QiyZA+PzZDucEvsYQyIMi28rlM876oUpkRjiK1E+OKmyzS7RJA/aNm/WRZ2mIkzzkw47k+HAZeKFdlebt37p8KeHMdrCMrO6FrnP1TCIIv92J8FAtJOAb3ah24f85y/KgYWGIZZ60DzZZNaarhKmHLbsIVnv/+DJI+kdp59rioKVWTJeNCi3eSE/E5mEvxam6W6b5I+SGIVJyxU9nA0EWm9u+a4tjxsEnXodDRfT1hAJFEe4G8tK59cgHR2P6sKp571FDgpQcg8KzYrjWhW/IJbJZnJBfJGtKCnRqpY0r5QBSbw5gebTIhEHhIawYsqJkFjjQ95ALQ8VpBzMMbzwZ1OuQ0/kQRRmOmtzyDq82u+3M33l3twAFOAQQCt/gFOUUS8caLzj/w1kcYKzLibmJ5BjnsyFFRatXkZ+IBISS+ie825GN1ZxnTGQNEwQbWC/kZ3w3EbZSypz8c2RTXhcM0jDkJkniT6CcdLpWId9zabOo6m1ViomEW6uyNzGOHuCPI1yWg+eSEZCoDVQqqo4H5O/P/SlIGIbJcKpniZlprljFmDJeWvwmZk9eVNjTbL/EFbFQbz58RGiyP5K1t8vUpp+3pPm96KSJP/aYE67XVJ6fiKhfp/xeIPHx/ hSvRBVH0 vnJ2QvGiplKzsHPPro7BC7yfzIB+dJjBTL2xunrutmfzZhjYgL+SqAXLtln8KEdBxLVO7lQYYx4bgI4y8ihrPoCL+CgteiImaVf6tuYUmsrlOP9p0R/7sr/nND9RdJtsnKqn+wtopbpz5rJpgr7VM2lr8/UC2YXlX770g/PW/z1xi6B1X0cxrqyoTZQd3G2Ol2swaureo0yNjoN32/5vcLY8Sy/xrlhdAQ4ZaSvCZ7WvBt9Vywvnal7IpR3OF/TDYReKOU/qpGJY+l5E4PT8NikoHyJbZv2wDAawggiHaV3NPGAWj8/0LD11q6lsEwc0Rkt/nQNKsV0ymQtPjmBtRYg8j7NVMz4rFmRttMt3bygGDrfLze7+aBK0nEHYkbEz90b3r9ioDC/fZ/Yz01sGxX+1de60jNk+xVBtwDjruelIFgksspyrJTZ2KOF4Ewm7Ja5fDtzXq+JjMP1PDxz0raoguiQ4BL2jOyhSY7RAd6j1FZMobeCH+rIyR69le8d+zcyUavA+5UF0Eh3U= 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" Adding support for a NULL vma means the init_vma_munmap() can be initialized for a less error-prone process when calling vms_complete_munmap_vmas() later on. Signed-off-by: Liam R. Howlett --- mm/mmap.c | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) diff --git a/mm/mmap.c b/mm/mmap.c index a1544a68558e..e2e6b3202c25 100644 --- a/mm/mmap.c +++ b/mm/mmap.c @@ -516,10 +516,12 @@ static inline void init_vma_munmap(struct vma_munmap_struct *vms, bool unlock) { vms->vmi = vmi; - vms->vma = vma; - vms->mm = vma->vm_mm; - vms->start = start; - vms->end = end; + if (vma) { + vms->vma = vma; + vms->mm = vma->vm_mm; + vms->start = start; + vms->end = end; + } vms->unlock = unlock; vms->uf = uf; vms->vma_count = 0; @@ -2950,11 +2952,11 @@ unsigned long mmap_region(struct file *file, unsigned long addr, /* Find the first overlapping VMA */ vma = vma_find(&vmi, end); + init_vma_munmap(&vms, &vmi, vma, addr, end, uf, /* unlock = */ false); if (vma) { mt_init_flags(&mt_detach, vmi.mas.tree->ma_flags & MT_FLAGS_LOCK_MASK); mt_on_stack(mt_detach); mas_init(&mas_detach, &mt_detach, /* addr = */ 0); - init_vma_munmap(&vms, &vmi, vma, addr, end, uf, /* unlock = */ false); /* Prepare to unmap any existing mapping in the area */ if (vms_gather_munmap_vmas(&vms, &mas_detach)) return -ENOMEM; From patchwork Wed Jul 10 19:22:40 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: 13729610 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 BE221C3DA41 for ; Wed, 10 Jul 2024 19:24:19 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id B936C6B00B0; Wed, 10 Jul 2024 15:23:50 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id B25B36B00B1; Wed, 10 Jul 2024 15:23:50 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 8D0886B00B2; Wed, 10 Jul 2024 15:23:50 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0010.hostedemail.com [216.40.44.10]) by kanga.kvack.org (Postfix) with ESMTP id 69C746B00B0 for ; Wed, 10 Jul 2024 15:23:50 -0400 (EDT) Received: from smtpin19.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay08.hostedemail.com (Postfix) with ESMTP id 2487E1401A2 for ; Wed, 10 Jul 2024 19:23:50 +0000 (UTC) X-FDA: 82324817820.19.F07AB1D Received: from mx0a-00069f02.pphosted.com (mx0a-00069f02.pphosted.com [205.220.165.32]) by imf07.hostedemail.com (Postfix) with ESMTP id C37094001E for ; Wed, 10 Jul 2024 19:23:46 +0000 (UTC) Authentication-Results: imf07.hostedemail.com; dkim=pass header.d=oracle.com header.s=corp-2023-11-20 header.b=Hi0nUBWW; dkim=pass header.d=oracle.onmicrosoft.com header.s=selector2-oracle-onmicrosoft-com header.b=zS2JARnp; spf=pass (imf07.hostedemail.com: domain of liam.howlett@oracle.com designates 205.220.165.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=1720639411; 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=hg3aFPLWINSO4oMDTznqetTX5TxBmdh5A/x7jDixEvM=; b=HoFBOwaJeTVW359/WJBTqIXLTWI9iDCamCLX1VwQOL/F9kIkVJabhFZWT179dGwcmrN507 i+0Wp+ee2lWoON+J7mXvApuy4fRWcSgGqA7bR1N58aCLoeUaEYfMRW+9+t5waKcHBlELDr i1ZSqfs7KYySWGq46zl5RuMD6qARDxU= ARC-Authentication-Results: i=2; imf07.hostedemail.com; dkim=pass header.d=oracle.com header.s=corp-2023-11-20 header.b=Hi0nUBWW; dkim=pass header.d=oracle.onmicrosoft.com header.s=selector2-oracle-onmicrosoft-com header.b=zS2JARnp; spf=pass (imf07.hostedemail.com: domain of liam.howlett@oracle.com designates 205.220.165.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=1720639411; a=rsa-sha256; cv=pass; b=LHDxtkad2rNj/ar9g5olbTChyLRB9uEQ9yCJVbYtKMChQRq0eZqEuyJ6pJ/LrmQn3QcOYG LuGLtmgi7CusowY3Oo3vsDMhTG8rXjKzexf5XsWjLVnYOup7wc7YSFtC1dp7oy23o4Dl6G 1ZZB5CPqkbomoTtQNJ87qjWNtlp3/C8= Received: from pps.filterd (m0333521.ppops.net [127.0.0.1]) by mx0b-00069f02.pphosted.com (8.18.1.2/8.18.1.2) with ESMTP id 46AFqbUj019840; Wed, 10 Jul 2024 19:23:38 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=hg3aFPLWINSO4oMDTznqetTX5TxBmdh5A/x7jDixEvM=; b= Hi0nUBWWrDJ3BflUfOKE+R9MwI/Gt47JGLZPciVNkA2yl7FkjvXfJltFUSk6gt4B SrHxYIit2dz96tgbt3ozwI3SFlhXQNa8W+gMsFDUaACojscFDghlrS/sr71j+cCF fG6ba7bEcjvjsxrmkiZ81UdC9NLMy5prKoDx0auHi5k9Q3v8CU9uDYbtldSDnkV9 SuHTPijLrMCvuHPr36Z3T8mK6yWV6TI1x0N77KT7eyPzL1Q/pxlIY/fRC2pAxGPQ 1M6zafIPNqwdAvt1fNb9r2Oe+c3t2Zm3pB/k2joxWA7sfAfpItxvuNsIB+wfz66R OJ57pLPg+PfOzGuFCTA+/g== Received: from phxpaimrmta01.imrmtpd1.prodappphxaev1.oraclevcn.com (phxpaimrmta01.appoci.oracle.com [138.1.114.2]) by mx0b-00069f02.pphosted.com (PPS) with ESMTPS id 406wky83qq-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Wed, 10 Jul 2024 19:23:37 +0000 (GMT) Received: from pps.filterd (phxpaimrmta01.imrmtpd1.prodappphxaev1.oraclevcn.com [127.0.0.1]) by phxpaimrmta01.imrmtpd1.prodappphxaev1.oraclevcn.com (8.17.1.19/8.17.1.19) with ESMTP id 46AIs3bj022604; Wed, 10 Jul 2024 19:23:36 GMT Received: from nam10-mw2-obe.outbound.protection.outlook.com (mail-mw2nam10lp2047.outbound.protection.outlook.com [104.47.55.47]) by phxpaimrmta01.imrmtpd1.prodappphxaev1.oraclevcn.com (PPS) with ESMTPS id 409vv1gwv5-4 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Wed, 10 Jul 2024 19:23:36 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=gtAOjk0fZQYQWgqAeT86tAOdD6HKU7GEBn3NouG7FQPuaS1/H7lIICj/8u+gzql31UCuW2Wi6Vmd6lvOB1v89CSo5+Pb6pFxlLS7ysPaJ9xCOm43vLg1SGuU0go1UCSbX6A1swSgRGFJSJVeX5m0Zwb+1UOVlExPVBVdkUXXTRxoaOH286JcaloGW2FyvIshlL4O8cl2tIYJIk+O8iEoH1CfRkjBqhntLwgw8PdHzdetqCi+SV/ovkNcZqo2PrJ9yXsWNJEHkHEkw8SUw0lnyF0swusroShI4OnYcCa+tqT8wWgjPOZHBKJPkKw3fffjH5t3palUEpX2LSpLA550+w== 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=hg3aFPLWINSO4oMDTznqetTX5TxBmdh5A/x7jDixEvM=; b=lp8/csz21We9cB7hckyYG2IzWzI7YcLJqNk6uTmRQXwpA7yR3D70l9uMHEK9XEPhzH4sJLDtf2DS4PfX/5X1VflCcPAz1cwFPspBpjnwVVl6TqGnrzyShiWz3Ge9ZCmxu+6q/j2j1wLfoCw75oPB0oOSo9czddDogW0UVwJgRYL+AgpHxn0rxZWtT+pGTQ2TiT7bcYYvkOLs2G2y3MZ4fJQ7rYzN7W4NhvwjxBUeD3C4wxlnNkYYcGr3woj366bJ424yizyhkvux3+VIw1EKGj+mXdZ2uJHcJ1orIFUm9rQeYrv/Cj7KSRS5myFjq8LyhsoZB3Mr8PJvN0MQlv8nzg== 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=hg3aFPLWINSO4oMDTznqetTX5TxBmdh5A/x7jDixEvM=; b=zS2JARnpyjU+77PGuH5245D7xyRmzDM92UIpS+Y9T1r9X/L9EJ72sRBudUE3Fcl+mtIblig+sOQIT5TLXco8R3saHUGZrCdRzGNNgWjaKVPROzpMvS+SpzTDHin94IHm+XnrGC8yj4HgXESLOujKHZ1Et/OrUqKpgqIAKgig3I8= Received: from DS0PR10MB7933.namprd10.prod.outlook.com (2603:10b6:8:1b8::15) by CH3PR10MB6833.namprd10.prod.outlook.com (2603:10b6:610:150::8) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7741.35; Wed, 10 Jul 2024 19:23:20 +0000 Received: from DS0PR10MB7933.namprd10.prod.outlook.com ([fe80::2561:85b0:ae8f:9490]) by DS0PR10MB7933.namprd10.prod.outlook.com ([fe80::2561:85b0:ae8f:9490%3]) with mapi id 15.20.7741.033; Wed, 10 Jul 2024 19:23:20 +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" , Lorenzo Stoakes Subject: [PATCH v4 11/21] mm/mmap: Reposition vma iterator in mmap_region() Date: Wed, 10 Jul 2024 15:22:40 -0400 Message-ID: <20240710192250.4114783-12-Liam.Howlett@oracle.com> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20240710192250.4114783-1-Liam.Howlett@oracle.com> References: <20240710192250.4114783-1-Liam.Howlett@oracle.com> X-ClientProxiedBy: YT3PR01CA0012.CANPRD01.PROD.OUTLOOK.COM (2603:10b6:b01:86::8) To DS0PR10MB7933.namprd10.prod.outlook.com (2603:10b6:8:1b8::15) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: DS0PR10MB7933:EE_|CH3PR10MB6833:EE_ X-MS-Office365-Filtering-Correlation-Id: 801165c0-6f47-4972-809e-08dca115c235 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|376014|7416014|366016|1800799024; X-Microsoft-Antispam-Message-Info: nKNaiMhJLz/6l2vbGpn9LqD3MIv6W12Q7WMzAG1p8HNfJl9fObYxnqlNXxzK09aHuTsuDdpNcB89DmWi5Y4mEg4IWy2rKiyxkGQM6DkfQu+3ffKRxtk+MmUhs5nqBr+CA7DFisEdqZku5iiq07aBVpsfutvybppYzy9ouAfTLVvvzDh5kFNX0dCe+oLPP+TFxj3+jh5RL4rDn73elH5XAiBoRqQAmWaS4iL85YP8ZIzP3aa+OxBUd0zHaW7HYVkIpGI3tiRo3XR/+McD9mEq5mnm+5TIcfsKMdG2N7Akjs2j0nZoq3dfZOZ196xIoKFXQiPkI8V501jpXtk/wKTK3YVO2Y3NR8s6iXDJJBtpCNsFLMjDouPFGwOMdQXmT7JYoSu4fAe/iJdygjrv+ve0cpsxlGbHgwdNTEgKh3XtRG2BnYGscNgxKgKmdIPVfU6yOPCPP0WpcrMGly/Pbo2trl922U5jAdCiFwM1lvTHw44HwrjXlyrHlIw0g2kc6JK8YBWZE9DLZVwkMo580XL20O7kLmYoyhW1m8CAKoiSvzrvm7SC+aQ8IsYD7A9abIW6TfhJsMMlNEty+5rzZPyJOThj0gzT+QBU3Dzb2t+vQr2wfQg+WP/BJCxOu12tkCd2ymxeRR30dUjMevtoHXzU5OnS32CX97TDFE5tmekLFn2JtYuEpXPJiMJoDKcvTTuE+mOPMOWUlr4bMymKEO5sd96kxcMDjciqPG6yblFZSE4fe/CNq9TbtMoLZltzE3w5TNikUYTzWcR9bo+sYNyeyrZrSQzAFh0wND34tDxfUTWZwaOkmemFJoVHYVV/IapkWYcsYj/pCoidYo644NjM2S4gz8lHf44BqkF58AkYH7q0CZNtgalcmSn7JRhO/2i9RLSNC/Gg1XEHmOcjjUPY2klPN3h8zQobPHp3CChyuloi4nWw5DmnhvV9yy4Cs/m65XW/nVM5HKrMBfSV5qnohbSAIZWAlIF0LrcA0j76YjlZ2ssmZkrO9m383A8oMb14ysFOOzH4J3zun4Xfu8kjwDdIkAAGaKkPg8aBNyCqv5uks8Z/8apaA29yxNfeQQ+zq693uy29Am1Fabo28bxq/O310R32vqOUotLzcy+baDGFYwJFkAF0b3qeWm3+Lx/SZDxfQGCJ4fBCNYs9tozdH8A9TTPOHdRx6fCGcWllq0rFaLVu2MTwKTC1pdvkDWQOb+0YYcWQcJXadhl+B/R+9ENsecb1ZoOUsT535r7ieu4+aGIofkQNcOIIuZIr70fME71KHO5GNEVi7Vpf6dbB1GHMeFBGOQx9pptqrwzFvRccyM2Ns30h3M4sCGmNq7o4/tafNBZcqQxL02K3q7AztA== 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)(376014)(7416014)(366016)(1800799024);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: PSJxlsyQeavdBmQon+b5+4V7sXqLCOiQVobj3liUHun6Fjwt/h4PKChUomnupDUvb/H3MrzY80jI4eAqrdW9bfKeyQunkgXwiQ9JzrSlvRtPtKHMnKkAeexCJV5Tzl2TR8Av5nvsJtfgsvAwxi+WbftZHKCIVPP3VAho4jzDV7C+uz2RhIghvcyl17CTVhIBWJ0ApTvbcgry2jOvTcAUHH25jav8g+4IYPQM1i44Xx3UZvYdHxE6d5p78iCUV9XbGa4Pr8qaZu4m0MGN/J6aVSLoP9W8LSNq3PMYkNSOVQ6JWPEpkjAIN4mTcnbIG24XoGBvZBpS1dcLxk0+xZjQh9g6C3aCR5UjYjgAb/pmzOV/p67H5yYhH0M+UHvcghgd4ULngcTkfIe8/EiUtZmqaT3yzqy//Jin8V6ULsVqVKMroO/1IR4viUidA9buXXSvKmtb+mztBlElu4KmYWDx13o2lj5WC5PG79V0WvOK3+wVb4AErmUBjANsxJTRU/JJiwbv1xSI7d41dX65PtQ0szDiHgMney+sqqmaT+Qp2N8nEmyu2szOt1EYA3mhtMUl5Uuzz4s0D3ufrHLG3Ah0C6y31UN0DY+YCM9P1zDxgiuWwRQllo2IbLO+Q9crUSvpU9v4xmGQeljtZBG+NtW0fLb/ZO/9Oe8/M8BkXx4VkRsB+Cik6gwvb8gYzJ+7bprlOAMhZUWXFIS9X0zco38zljgyLu4CUL9ibQ5ntcrj/CGZquNBsWPTft+rZ/I71bWoIFAoUTwtI756qQqESP+O6E5F0vDCtChTVMwPT9Q1EsHYiGJLwjBffXKgAUpHN8H7HmLmZU5od3RYyAJcwXuWDzagZn16OSJkSW2kENDmBrOP/9+wqFZaChTpn7/rvXaSxIqAXLIMSJJXTYhCdKJB3ujV9dH8IXhvgmNg6m+amwD59mH7sVJ40Y9/Lh5/ADdvHib/boM2bEna7+cj1ENDQ3Ijckz0sfbmCX076k/pAxiX+FOh3GNYJG/F5lLxpDFFlv4BfJmknFe1K1u205h3lwfaRtBrNWk+RPxKLFvPg+NCgKO4dK5RtJO1N9h5e89GMpYwfaLKaq0wEl+jgAP+L9dBoniJQoTkEw43XHGslbkN8UJjEqcNJTemyCVVHNlQoIZkNqOJp6nT9Ao2GHLyQ+cPPfXkymAQYWq8w1J7ze8ENg5Goqw2e3eWP5qTOWp/B2hsuYPkIYjYfr1U1EKRlSY2q388GxkqDopICoQN1cWF+bFAvDB6zXQXj9pNR6GuIpJS3S9JN1P2h1m0xbZPz3UEf4d46sWYmnFeqUlp1GYiX07iBFZIQZJ7/LjpxzPH1vsdE6ITcS9lOdv5oiCVWtEqrn9cxI6nO1VE0g8KMmNIuBQCG+SeiTLoJ7nxAtGA4az1EjpssV9dXfAoaLNRMutBXcdWJ1f7KpQ5447u+Ht6JqFlaKk+qkjk/q6k2JzVh09pfYyvZj2JICly2Md7WP3c7VDUwj554a6wOwSHKVzBYytmjAfmTzaUlZNR1sKA16jqaamRGvMW+Qi6Wo0KqF41n84/ZSv6Xyt411BgMF2JlGxefy/A/LpPmybzHXOoJO8HJebq5NxTIraOJxFZ2w== X-MS-Exchange-AntiSpam-ExternalHop-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-ExternalHop-MessageData-0: W2O9+4n5nhIBTtmxbUMx4RLxWgAULGHp9e2pKeF1XVmVfouqwOYMZTTWgPfPzKJYUbLR1K+o4Jp1U9lnZR56tzisdGi+VMQrgCBR33SqOqGnmZKI3Mi10hRYI3bTgfQDguVKNyHAcEmZPDiT1u+VL53E6ewGdA8e/R2Ikfcs4p9nUmkQpXM7orKOcQp6bWpgg8+2Tam9tQd6X+9M5ctEY8h5Vz5XO9oG0Zd2Fd5uZWb21CUTZlZXWy7dlnCS/kx5A5Mt/eN3asFkAuJ759Gy9sqh/IlFd9A6ZtPdKkTbdI8na8CzXAaeUbEUwQI/y7PDpomtw4V9wc7J5KBKPBO5WlEMVCMr3eU7I+gi+dgOTXNQO+OTk9qjssxWyz61OrcIbICf/GYQNSpvMt+jG+HqrsDct7EVV/+eCRpyD+1naB7RPH4v3Hd0yfFOguXoFwUQ/PZpq0oNTSC2bsdKU74b08bhre+8Rozy5i8fCnaQHCDcEy6MrigBBcgJ37N4ApDsvguU4FIubngOk9oC4Ao/OzuppBR0RzZV3CYCVtizI5BX0XalRSEO1SYm+kCBUhBEWZ7B3x9TgFf+IxVP7OCAGVG4OhodiBQokhXCMGEKzAY= X-OriginatorOrg: oracle.com X-MS-Exchange-CrossTenant-Network-Message-Id: 801165c0-6f47-4972-809e-08dca115c235 X-MS-Exchange-CrossTenant-AuthSource: DS0PR10MB7933.namprd10.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 10 Jul 2024 19:23:20.5792 (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: ZCNkXRnF+C4TXEACPx/hYvdUCX/h4woq+xTzVWyKyXMiBUdyUjx0ZnH5Dip5EdBi+LjBXqWPLYVVdgacozBZ2w== X-MS-Exchange-Transport-CrossTenantHeadersStamped: CH3PR10MB6833 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-10_14,2024-07-10_01,2024-05-17_01 X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 suspectscore=0 phishscore=0 mlxscore=0 mlxlogscore=999 bulkscore=0 spamscore=0 adultscore=0 malwarescore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2406180000 definitions=main-2407100137 X-Proofpoint-ORIG-GUID: v4G7A5CXxBOJnuJZDHpxDaL9wuC8DnUk X-Proofpoint-GUID: v4G7A5CXxBOJnuJZDHpxDaL9wuC8DnUk X-Rspam-User: X-Rspamd-Server: rspam01 X-Rspamd-Queue-Id: C37094001E X-Stat-Signature: 1fk79tt7h9iw1ry8w14yx9ahk6wqfybp X-HE-Tag: 1720639426-277773 X-HE-Meta: U2FsdGVkX1+cIEnaszyFLIgBnSduZgvagkZw+QAbjBpOjB40NueY6hg5NW27luLhhGhk+yywc1CagYUFfpuq+4H5anaRg4IDfDZouKhLVY8w8WnL1F4fmh/90G7wAPQ1y3wMc/P2LgAtu2iJzijWE9t6X8ABXAngzeQtUJpxeeBhdPQmflHHnb42DyY7s+zrKgmzLPqnMgh7HM9RJJ6S3KXydNV9IrFl737Dvy3gEpWjABhJneoOc32Q2At1wEHdQ3aJXHKrqwQWQx0y3K0N/VDMdZVpsNK3kGUEKO2cJCrOmbt4/uxlU+Xd2clc0M0CvZHTBwLqk2DqdXp0USsfTwSGOMnFLv4nY0qkME/XdMRvJ1iNDKckGjkH9BeU8PETAxB9hubhlgf+MucwQ+b3KRZNX6toWZAyXeh/gunLwUEGXC6a/PdMeRrnyhuNnZWOTw9tCb5fb1DZcJjGD4292Ue6/mD9+/84x5NdyyJfDUsRUtLAkEn9gaiHTUdpM27F28UQwJyYUTKo/mbZnJkPvDtlQvHRp/3gu+OYeoWeT5uaN6/2bGQXo4pkdTjfACRzFvixQjcKzD/fFEvvVWmExTC5M5w0S2a2LB/A2Zc0MdwmOgq2ADW96Au1PN86EZcCqlzWK/WyYKsO1fC6ZRROMtF4vq+E6QeQNnhsTQ647EzXnJFt7JExRMA0ZcMtlSB31L7po+pa2Rq95remvWHMC50i8e+7V1YkFHHS1nKYdShNE/hJFC7Z+dpZ5OGytOwS9F/UKyhM7+rjhTMAxXtGXW3AiSmqEaJzsDGaj1iK14bZCPFEZM7DH0oRe3mlTn6qfTVhpcnG9KdH5R/1VwD9zAu+Gm6SThlSkTgVoVNkDa1IJInXYT7Thg+7GMQ4WvkYCke0h46/Kgb6+0R2zlw5YRQN+izi4mA26jUUYsLkpCCnSWSFGjhp0xboScVYlZELZhJXBCP9JUFr28t6j0K VrCwPIP3 Soik4zJ0Mc8oVg/i9JJDtngLMDDtrI6VINcL+kQ1MVU7wbNuOl4H4pkRPE40HIaW8vxz65HRWUVD2lPPWBm+AkF2uGAGHBNkNc7xmRIcyK3QfWVvgJPyBeLYH/9ZsOX08cikUf/mhC57FkWwWe9kpjf5txPJbUAED2igi5MZfLl4diYUyAP4ybxiYQdmpDMKHaFiYSt8BIwLCK3jNvZfBGRgSZ6Khy1RxfOqziR0KDhSxQ3yC2Z9xZDHzkrF0vY/I7eRrL+ok8TcAjXtQ9po/DxpdGpBZKEG1t9W6cEi04WBJqMgR/HRfg3Up8XomlKv6S3Gmb9M/I0CFn9bDsDpv+s96KKWOAGVSklWP2YP7d3ZiBrtlmKKBcXXw7YhE+66KKDhhZXGf+RLS8WBXlX55wSW1M68/nJwnZKXuV4hpcGQFar8g3FPtu4Ffh/OWy3uxv4Dd95lJMZl0IdNb+AOAr/UHzR2Wy6V1eIL9Tor17GOe+yFaTiq7+f4VVg== 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" Instead of moving (or leaving) the vma iterator pointing at the previous vma, leave it pointing at the insert location. Pointing the vma iterator at the insert location allows for a cleaner walk of the vma tree for MAP_FIXED and the no expansion cases. The vma_prev() call in the case of merging the previous vma is equivalent to vma_iter_prev_range(), since the vma iterator will be pointing to the location just before the previous vma. Signed-off-by: Liam R. Howlett Reviewed-by: Lorenzo Stoakes --- mm/mmap.c | 38 ++++++++++++++++++++++---------------- 1 file changed, 22 insertions(+), 16 deletions(-) diff --git a/mm/mmap.c b/mm/mmap.c index e2e6b3202c25..83cfe575c114 100644 --- a/mm/mmap.c +++ b/mm/mmap.c @@ -2959,21 +2959,22 @@ unsigned long mmap_region(struct file *file, unsigned long addr, mas_init(&mas_detach, &mt_detach, /* addr = */ 0); /* Prepare to unmap any existing mapping in the area */ if (vms_gather_munmap_vmas(&vms, &mas_detach)) - return -ENOMEM; + goto gather_failed; /* Remove any existing mappings from the vma tree */ if (vma_iter_clear_gfp(&vmi, addr, end, GFP_KERNEL)) - return -ENOMEM; + goto clear_tree_failed; /* Unmap any existing mapping in the area */ vms_complete_munmap_vmas(&vms, &mas_detach); next = vms.next; prev = vms.prev; - vma_prev(&vmi); vma = NULL; } else { next = vma_next(&vmi); prev = vma_prev(&vmi); + if (prev) + vma_iter_next_range(&vmi); } /* @@ -2986,11 +2987,8 @@ unsigned long mmap_region(struct file *file, unsigned long addr, vm_flags |= VM_ACCOUNT; } - if (vm_flags & VM_SPECIAL) { - if (prev) - vma_iter_next_range(&vmi); + if (vm_flags & VM_SPECIAL) goto cannot_expand; - } /* Attempt to expand an old mapping */ /* Check next */ @@ -3011,19 +3009,21 @@ unsigned long mmap_region(struct file *file, unsigned long addr, merge_start = prev->vm_start; vma = prev; vm_pgoff = prev->vm_pgoff; - } else if (prev) { - vma_iter_next_range(&vmi); + vma_prev(&vmi); /* Equivalent to going to the previous range */ } - /* Actually expand, if possible */ - if (vma && - !vma_expand(&vmi, vma, merge_start, merge_end, vm_pgoff, next)) { - khugepaged_enter_vma(vma, vm_flags); - goto expanded; + if (vma) { + /* Actually expand, if possible */ + if (!vma_expand(&vmi, vma, merge_start, merge_end, vm_pgoff, next)) { + khugepaged_enter_vma(vma, vm_flags); + goto expanded; + } + + /* If the expand fails, then reposition the vma iterator */ + if (unlikely(vma == prev)) + vma_iter_set(&vmi, addr); } - if (vma == prev) - vma_iter_set(&vmi, addr); cannot_expand: /* @@ -3184,6 +3184,12 @@ unsigned long mmap_region(struct file *file, unsigned long addr, vm_unacct_memory(charged); validate_mm(mm); return error; + +clear_tree_failed: + abort_munmap_vmas(&mas_detach); +gather_failed: + validate_mm(mm); + return -ENOMEM; } static int __vm_munmap(unsigned long start, size_t len, bool unlock) From patchwork Wed Jul 10 19:22:41 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: 13729607 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 2874BC3DA41 for ; Wed, 10 Jul 2024 19:24:10 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 1DE1E6B00AD; Wed, 10 Jul 2024 15:23:49 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 092826B00AE; Wed, 10 Jul 2024 15:23:48 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id CC6EC6B00AF; Wed, 10 Jul 2024 15:23:48 -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 9430B6B00AE for ; Wed, 10 Jul 2024 15:23:48 -0400 (EDT) Received: from smtpin13.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay01.hostedemail.com (Postfix) with ESMTP id 53DA51C0421 for ; Wed, 10 Jul 2024 19:23:48 +0000 (UTC) X-FDA: 82324817736.13.97C55B6 Received: from mx0b-00069f02.pphosted.com (mx0b-00069f02.pphosted.com [205.220.177.32]) by imf23.hostedemail.com (Postfix) with ESMTP id 18310140008 for ; Wed, 10 Jul 2024 19:23:44 +0000 (UTC) Authentication-Results: imf23.hostedemail.com; dkim=pass header.d=oracle.com header.s=corp-2023-11-20 header.b=DAYNy54i; dkim=pass header.d=oracle.onmicrosoft.com header.s=selector2-oracle-onmicrosoft-com header.b=B74dl8nk; arc=pass ("microsoft.com:s=arcselector9901:i=1"); spf=pass (imf23.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-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1720639393; 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=b6f+cXlgUcQfrdseKlJZgmWZ3atIxU2VOZg5eVuWr3A=; b=AbkcD3Przs8VY6GLf5dd9byiXNn58JRZCDs3IO6JdPbZ6nfRRLKMDIVD2w4Udw0QDcKQg4 YfxRpHe6zF/G+PIY5ZORaUrOVREqb+/Lxmka2Ou4Ge+olfXW5LdfMnLyNj31Py9T8gS3lk 9hdCAiveYyC2vTSdOi86BdCe2p4xc/g= ARC-Seal: i=2; s=arc-20220608; d=hostedemail.com; t=1720639393; a=rsa-sha256; cv=pass; b=V2wrQWUhnN7U84/qDwbfm0M3JEi8wjO+g5cQCR6NK/jXubgdtqjfHrXt2dN2ycerq3r/B9 jzjiy1dmY2PQ9/ufTmKHbMzCQqvAxgtbDcqKXxbib8bePrIJ0dLF4xctLCBKtdurslVwBM jM4wKEwJ9cTpwLY7Bjc4oBwfZwPLW7w= ARC-Authentication-Results: i=2; imf23.hostedemail.com; dkim=pass header.d=oracle.com header.s=corp-2023-11-20 header.b=DAYNy54i; dkim=pass header.d=oracle.onmicrosoft.com header.s=selector2-oracle-onmicrosoft-com header.b=B74dl8nk; arc=pass ("microsoft.com:s=arcselector9901:i=1"); spf=pass (imf23.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 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 46AG26hj012005; Wed, 10 Jul 2024 19:23:36 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=b6f+cXlgUcQfrdseKlJZgmWZ3atIxU2VOZg5eVuWr3A=; b= DAYNy54i7LAyHpDnfPMoDe19lnlL2Kw8eTMkvUsOSxKEJCctxxqLLSPfjlLiPbqH 6CPuRwoRoNZ3TKXegdtXFuKYZBmvrj3AAX0embBsdz0BrRunBnvStMumOT+AJcjd WM2CS2koMLzYULa2gBk82O/wsTfwDEuGdDmwCT4HEME3IMPbYQEtFyNzrj6IS4f0 h62VrzYuvwH6lHbVJxVBek/F2s82XEyQC5xOIfmd3ddNLLDBqD65MrTZby9TXYRU W45pKo3RiifrTnwu/G2Gi4BV5hVpHc9f70M1Xh1QsIqElYRFL4YKRfIrUtfODWmx EIKOklkYmePn9eY8Ej1drQ== Received: from phxpaimrmta01.imrmtpd1.prodappphxaev1.oraclevcn.com (phxpaimrmta01.appoci.oracle.com [138.1.114.2]) by mx0b-00069f02.pphosted.com (PPS) with ESMTPS id 406wkcg0bn-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Wed, 10 Jul 2024 19:23:36 +0000 (GMT) Received: from pps.filterd (phxpaimrmta01.imrmtpd1.prodappphxaev1.oraclevcn.com [127.0.0.1]) by phxpaimrmta01.imrmtpd1.prodappphxaev1.oraclevcn.com (8.17.1.19/8.17.1.19) with ESMTP id 46AIs3bh022604; Wed, 10 Jul 2024 19:23:35 GMT Received: from nam10-mw2-obe.outbound.protection.outlook.com (mail-mw2nam10lp2047.outbound.protection.outlook.com [104.47.55.47]) by phxpaimrmta01.imrmtpd1.prodappphxaev1.oraclevcn.com (PPS) with ESMTPS id 409vv1gwv5-2 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Wed, 10 Jul 2024 19:23:35 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=DTb/DHUrGHk+GlN+Kw6As/bakUYj69Na9Mn5jiXEIY4Ri7DKF3uI+4kCvZc7wMNsOWxhmqFxplCydxmJMWLoKyrsFmHx9sv4C8LqIGmzEJ7VWsu1OBDyJftYqEywkZ6xHoEwa9QFYHfTdRnR3JwhJzP3a9FoE/93WY7hWAAgUzSW0S3Wfsnjx7OGwUW1zu75hy825gnrRCW71dte0vdKv/MON9RX/OTjkjOaC0UFx+uxuDabNA+wh2N9oNs1EPyA5KbpI01q5ypdqkFL9UKbqT2oeVQMrb920vDfqa6/QQ9dnCHAJz0Cow17tlzPATe+8MfdSfk8tVhRWNpALY6Mgw== 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=b6f+cXlgUcQfrdseKlJZgmWZ3atIxU2VOZg5eVuWr3A=; b=IoyqUx0c4pOb6XMyPtT/3oj0AKCQaRfcDARoFk6zkaCZhzUzUb2ENomqsPUwhO4QD7UdH7wO0U8OQq46S6jur5YgOCSIW5CfiaF/sln8cpDBcvxT36DpMr3G9LXMayB5v3kYPBEWIa6EGk0Tz4LWQzzjjM/ZODosLyh4My5eZJwM6z4Rl4BxFHmAxk/oE3+/H7h02CJD8yf8i/nKWlZcl+1QBdz32AEHAtbtn+LLUX+S9eEjmeJHf27OBrmdiC1pOBq0t95RNQZAlh8HsDQBSi60118vTab73erauKYDZNzCaPRCwdBN/KJsLdzEXoPqXhohCNWKsO4hkOT1yHEn8Q== 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=b6f+cXlgUcQfrdseKlJZgmWZ3atIxU2VOZg5eVuWr3A=; b=B74dl8nkMYBVoDpkvzMzBvIKl7mxFYP8pHPVLlovuGNI0N20FctHtfNUpYDuvn/0J12xJ79HFJmGrydJkubjE7lW8hQapDPWgzG2d1lB1hagS08icaVBxpbjEXyf1g905wMhCvQ/qICB+bof14vJg5prS2FAbGproUlJcBkDPNI= Received: from DS0PR10MB7933.namprd10.prod.outlook.com (2603:10b6:8:1b8::15) by CH3PR10MB6833.namprd10.prod.outlook.com (2603:10b6:610:150::8) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7741.35; Wed, 10 Jul 2024 19:23:22 +0000 Received: from DS0PR10MB7933.namprd10.prod.outlook.com ([fe80::2561:85b0:ae8f:9490]) by DS0PR10MB7933.namprd10.prod.outlook.com ([fe80::2561:85b0:ae8f:9490%3]) with mapi id 15.20.7741.033; Wed, 10 Jul 2024 19:23:22 +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" , Lorenzo Stoakes Subject: [PATCH v4 12/21] mm/mmap: Track start and end of munmap in vma_munmap_struct Date: Wed, 10 Jul 2024 15:22:41 -0400 Message-ID: <20240710192250.4114783-13-Liam.Howlett@oracle.com> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20240710192250.4114783-1-Liam.Howlett@oracle.com> References: <20240710192250.4114783-1-Liam.Howlett@oracle.com> X-ClientProxiedBy: YT3PR01CA0018.CANPRD01.PROD.OUTLOOK.COM (2603:10b6:b01:86::22) To DS0PR10MB7933.namprd10.prod.outlook.com (2603:10b6:8:1b8::15) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: DS0PR10MB7933:EE_|CH3PR10MB6833:EE_ X-MS-Office365-Filtering-Correlation-Id: 2c50cfe8-bfe8-4ed9-2a4f-08dca115c388 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|376014|7416014|366016|1800799024; X-Microsoft-Antispam-Message-Info: Xu+61HJf+UF/JkR6gviN/79E3QPnjIYbBRRNVHviH/sXUyScIzK15HVjLCCVXmsBC9a+URC1seV+vYLcOV3IRz8p0/ZoONomdwKpu2EH2T8S8fMs2MRk6Q0diXg+hcAYoJm1qiyvd39hOc1LQ0G20b+1JT21iq/0GzRleGOtn1yOzjxW2s5MjjRdbaCbFfOnB/Jn8MgKhPw4fo0DmUeZrs8ZgNdTJJSOgWsixeAq0Ejaz6jBD687CfqFXURfse4MMUll1Wt+bOrXCO6gwlWz4UxjKfhvfwX4+NyKgFnBD4JAEy62emeR3JH3RoEMNm/mEapo9Bdu4vUhlYH69QOJErZgTV9J4sIcLgIyrWwd50Jyd/dAV6m/FQ5hZJDcm1ZTvXZJTaSueSIf2ObW+8hSWxquZm1IW1+VLjuDL25P8V9F60IbJvHjIs8MBc4mjkAZwqAWtDzkheIMUiSVB5cDpJRhSpSMlZhWFiQTzb4p9E7W/m7QyiIzN81tyEFfkcJ029DQRPyXj1mcvW8Q4Tbx90KBFYsaYjyAFTPuzxEIeVSXrYlvgroH7Pdxt41OoMFnX+ibChAMu9Asgdy5WFi55kffoNxDT2TmHf7DDp+wtvzj17C3daDYYWMHEGVG+NBy19zo7PY3ABWSxwJZ25Ktx5PEUyoFM4FwJESexyp7dWiHcIRbiotDf77joaPv1PQjDGwfp7ImJSShmoG386LcdMGh8oK8FGZ3F/Crkx2TTGJa3AOoTpRm4ppvDHpS7VlXjwbDEksC7AbQd5vRdf31v+CNj8OZMR7MyVNqk0xOl0ge3QTyD0L57FC5baKh4fyONRASdJu9LxyZbBrdxgpeTrgIhlxV2Gs+HbXT7yd8L9FqvBeFZDrbrfmoS5CR0ZWBBLIy0VXcBAedaXsto8Psdl5u3+VNBcT8hK6OE7cHG7+SFN8L1iVLae+qWHnpBnQSqj7mZpRskwVqOJTu3q8cx6N6w3H2qfD6m5pa4trhBg9d3Ldh12MfXgTXlqsZSSM2hWoZCl+WwHDimifQnKYYbOKmKb8biuS4rChOUVmPjxmNCbFF+Bac05ts3NRlJh9B+O8Y6Sp9yKTMxCtPCacgHaZ92O2sfoT1g1lLsM3ImluWhuOjcjvRkqhmQs32KQcag/FSfBDxwTK1aw5wRcS1nrcaJeI8a4LOrw4kZ04sdFV8tT9XciAQOQmUmu110xSN5Sf8bPjxM/bLhrCzpoIQoRVdNyPK+6OUkF9k1/78/KpdtlDHOh5GpI31bnc6OSQkTSJIA5UDlsk05caMbL/1Ar5FJYonOlo97xSyfbXFZcVxAfVxzLvgKwlA5AlC6aCZfTcHz44Af++bYQSn9qxBpw== 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)(376014)(7416014)(366016)(1800799024);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: +gQglyFLKmCOEHqMlkiiPOKql9vXwRcOagWzt2ymNT+qxC2hN9yePTxyoFla37NLrub4dWHXvOLvtgFBHUx7gZQmeOwtfWGJtJ4xzTfguNRUAPkBeMS6wr192togqqVQ50be7yScwcUxOh4wH3wxboaH5jMhRQfWF08WvO2ziO5NQLgWZt4buXwc0IPOYuay0TY9uYUKQGx/HVdevK9XT087L3hke+Qpx/sy+sxrrFM8rejrxAhfgXchNa6HtrH5Iel5eXi/aYDEf7dYM8aSitfU7reEmCZh8S74OxzQpei7EGk69RauY8bSS09phDiFHI73HFEEF+3AmSaiFCgdT6ouhriVHHjSP+ZFwK6zmnSW6zzeZb0x3R+URFanJyBK6uM9Czp5XM5ptcQqnzOTpsz6bP7xndF5aK9bOvhrI7aVuL6hIA8lpLg+iYOUzUnO7ZxK1ZwiM/E8Ohiq7VmawoFgrptr7sXluICD2VSVzo3ahR95fTWKRPYEzMUCQ/sixfwh6hg9mmMX2GUPtqiICbQwlsmIknmvjpkYcveTfWZ2oXKDi7HWjCeCUYSCVfhGI2a61bPZ1dDqauCVcWfjTgoZq/K64eKbZf++jsBjaMT4JK/Ii74kwghZFA9oXjHAZnwi/5nlp6neezFwtGvjXWc4CagGzfZXIM1mcSfelwHlBVHrF4/VJopcfeHGpPc4m0bjZSHcn5Kjiw2xbeetwjJMHDLf4CxT5r4yBAKnOGZNPNfjDVZNAaZCp/152Ul7DRxKx46oYYFo7kGRPFnmHh7zGgTEpy7wCwceyZE0r1JTlCxYyo//Mjr2XrY75QuFa3smXc8FtGQgLxSMPnwDS2nhMg/ugL2GV7FVBO3rEX5qIvH0K66ixJGQJlaxl0mG/DCPwVb6+VpibcGjQTPQS+uCMbwhiYD+S0KWMHPy7bc1ggLMHMcDuIF2U9TtcIGgLpQ1ZGZYMjqKcLbX42q11kI5bQqG7HYtUOV0ywPuSUo/NUk4uaB66YIELZq1o4VO2vgBBnS1eNSLU+PqMpeGkZ7sbkeaRmVOLm2bWS7WL2bnxFjkE4ArAD5qFhCgVUJRAZ2zZsAf+UOePDYSyzoUmIgEAcGB00VE7VhMU+VOK7xopLboMoAiHj84qn4FlnvIR9IAfVU1n0Sjk2b6yS2IgXO0hTEunalnWb/pe8wASYBlWzhWIUeiODQj8E2Zi6LY4ByvZ/+Np6zOBNSlUmXFOa4mwbQOIuC5jvjJQvWWuHS5VtO/yBCrk790LpyNkXVgl/ZAg13KqQwCxIj23q94fhKdWygcgSVJfBs91txsBQH/1AvhSGzrGRl+N+ekAZ8eISqopDMwhVjbUzoFrqRbxQCdA9dexHEhp6AXJtXZOZ4wPU2LXmrxs/wLhe8CHtYMWuwXojXSQTjeAiGAG7Hhjw4vB2U0/LSRVPHkALn11ayJ2B3mk9yoJ/smCh5nSfzQangfT9uOlBJ2VHD52PqKlHFHW9zTfo4Tlwu7rUN622SFyiwptdnxCxvw4uLS6kHfApPs8fdt1Eun9o92z4pt7DrYDQoDWYcnBroF00u9iuEeL9cM1nFS2NMvrGTiGt9P6aiqgokqk4tykQv/Yj0anw== X-MS-Exchange-AntiSpam-ExternalHop-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-ExternalHop-MessageData-0: tLoZjPjUElYne7szt0niayCO2afTcoMIlkrxVep40rfFtAsN+/wL/WtS/KcTYi1+Mvb/1J1xLv+t8H9KQxRbJW03yMw7wcMaIVvvRqtwnZHNbSjd/ARqqurfEANAAxcPtGp3ESYhQoyY8wU6jblWbd6yNsKAE55pxnX0ld8GqfSJO+cHk9NaZ/P15yuYLbMuM7THe9/5lHGyX+ctX7kw6RGtFCzsKk9S1Eew9SEYnn3E0bkA9Y7nIccJ05Ic6yGnc0YywQRHBcHE1o0iHIfgHIUdR2i4KBJOLH1f6rRsGC7SOzArL9tbXYDG9RWFgtmpWqagEwzhnLcdNCTVLppMJsiKin/GpKZPTWXepi2JJLlQvOJJlQ7ZpSCQLnNPU4P1QwQK1WlAShu31RXgO6AXj5Uzo7Taot4uwe7MMsLM8DXinZE7uUbT90F1yHgzTf/eXqxwXoVHGEiXA2+fjEqS68b166+UORpj7l/iAE/pFSFFTPr4w3ujd9d8URXVeWLLWOqgYXM8XMB+O/EKxbNRwK0aqk5XxTCkXbCufaGnPrNxWhKgTSy8r25UQCA3F8TMSehCGzKV9BzdhVQ+rlUrMjLvuDqjMC68g5lTYAoBMmk= X-OriginatorOrg: oracle.com X-MS-Exchange-CrossTenant-Network-Message-Id: 2c50cfe8-bfe8-4ed9-2a4f-08dca115c388 X-MS-Exchange-CrossTenant-AuthSource: DS0PR10MB7933.namprd10.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 10 Jul 2024 19:23:22.7636 (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: mJsyIqvMIYvjGmx90ai7xL0aJ8OG2xOZpckuIaNUAeK2tDw+1r2dykXPfVvOYeaRa5CZAfGTvHj4KRSWpLpj4w== X-MS-Exchange-Transport-CrossTenantHeadersStamped: CH3PR10MB6833 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-10_14,2024-07-10_01,2024-05-17_01 X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 suspectscore=0 phishscore=0 mlxscore=0 mlxlogscore=999 bulkscore=0 spamscore=0 adultscore=0 malwarescore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2406180000 definitions=main-2407100137 X-Proofpoint-ORIG-GUID: 290507lpejHaOMKqnXij0Foqyc4lkq6u X-Proofpoint-GUID: 290507lpejHaOMKqnXij0Foqyc4lkq6u X-Rspam-User: X-Rspamd-Server: rspam04 X-Rspamd-Queue-Id: 18310140008 X-Stat-Signature: 1bcqiq7kysxx95jz8pmjb3jgsg4nyu39 X-HE-Tag: 1720639424-891428 X-HE-Meta: U2FsdGVkX1+wPyi6Z11SviW3jTG67I+N49QqFRvhE4K7jps3lT8HCzttNXgY3skRXVoxMjIENVtP7cv406AYXLqWHHwNdfwoopsr7MMcly1+EVsucYMtGsJRSYhWYzMerCD9zPEz9oPzttvsc1BRy3uUmMqifsFOXm+Oq/W8p1tjJAlNzGWKrqkbARWaFiNgVdSIHJfu9XpkTJV2T+AyroucEnH+2wZC8J2gPNe1A9heJDiosKckYIzjEFV9+vSVLVvqvcoOJ/ryybalb590YL9lY0E31anCUiosfgqh2D5cKJpl+MZvNt9ute1qAkSdcE2WweCb5hPWByF5/CPL0VeAz0akC6NdEbf8bIWGaCI2E0kFTqHJr1PpqilwelefGhwRw62flCLFRgFE7PvE3c6j2fFgArNKpG+cSx7+ma61ftyOuWLjBxUNHJiLemuXdPTvXrLfTaPcM6MkzJOOFzfiJEyU3k1PfszXDTLgyWvS4PBKBeXnAvl/R/qSWW3pRoYJ7jRVF5PhP6LetX/HLZRDGXUCqxdAlk36jEVQ1r5A3gzz2Zol5Z/gWnP6H68IkKnxJWd7/5YSH4ggfnwHGHNoA8vgxrgligwyhprb5k4ZUU+guYyUH98Zn38EdjqsuQldCRVONdWUOqqvLzVpK4I9bHYWFbYwjpueA4/N/VYKVpFn6hJ2UloqOSwfIP5XIKV2yrfQmpGEox95vVyfoWr3vt8qxWptZI5TXeoeVMdzzAq+Rng3HKQJxa0VqZeA2LuDdFYRANdZ8N+hKZzok2XPvluwNTrFrH03aA9XvV5c+TJG0Aw8id7/PF4uQl70OeW0TPyXUCgPHhK5e/6M9sHBzB5KK5ppOdjq8Ghn/HtApbOLQcFHoOdPUwYETyWq+V12BWZx+MpX5XZen8Tf8oYJbKEbXv5Gw/48GVsBXM8vANa30PZboh2Y2qs3gf0yjw550kiYmiSOLy9lsvp ERcQVXJn lkIPeBfRsd+QK1wSgYmmDoXueRFxM7CyIRJuZ3Ei9JwKgiNNfC0L+evulWoB9sK1Vskxf58VvRaB2EKSFDdkIWwf/4xB6acesZQEP00n+56UYZkqO5R2SDAGQOeEvcwWDHWVGjBjuKlj54/z6p/AkkanoRL3cjKChcD/LOtX97vMzrj/aV9QsXqPXsyqdYrB423b9vCOR9u2b6ciIAZiZ6AzL6UZyFDYHv00T1TJoQL5AA+vs/WiJVY7qu50D3SWNrn2G4KCaHTdI++2Lufoss3SkZlor+s8w3+BRuIRC/2lYsipH7CzLf1mblfUhb+NsvY4ork/k6NE/cWBZLmEu7KIWIg2Im0INjsjymbT9OgPl6emgXh+CnuPaHP7kislOnTAVvWX08m/IQeoITGodQ4Hu19NH1ZTvEr5DW2XS1a7uxlv7UtssjK+Ue0S9x8QavuLs8xmYLKJRuAsdgAM7ErAbaQ== 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 Reviewed-by: Lorenzo Stoakes --- mm/internal.h | 2 ++ mm/mmap.c | 35 ++++++++++++++++++++++++++++------- 2 files changed, 30 insertions(+), 7 deletions(-) diff --git a/mm/internal.h b/mm/internal.h index a22547125c13..11e90c6e5a3e 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 (inclusive) */ unsigned long end; /* Aligned end addr (exclusive) */ + unsigned long unmap_start; /* Unmap PTE start */ + unsigned long unmap_end; /* Unmap PTE 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 83cfe575c114..12a5ca6c979f 100644 --- a/mm/mmap.c +++ b/mm/mmap.c @@ -527,6 +527,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; } /* @@ -2609,6 +2611,27 @@ 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); + /* 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); + tlb_finish_mmu(&tlb); +} + /* * vms_complete_munmap_vmas() - Finish the munmap() operation * @vms: The vma munmap struct @@ -2630,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 */ @@ -2698,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 @@ -2760,6 +2779,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. */ From patchwork Wed Jul 10 19:22:42 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: 13729656 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 346FAC3DA41 for ; Wed, 10 Jul 2024 20:25:47 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 810206B00B9; Wed, 10 Jul 2024 16:25:46 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 6FA676B00BB; Wed, 10 Jul 2024 16:25:46 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 4D9DF6B00BC; Wed, 10 Jul 2024 16:25:46 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0013.hostedemail.com [216.40.44.13]) by kanga.kvack.org (Postfix) with ESMTP id 2C24D6B00B9 for ; Wed, 10 Jul 2024 16:25:46 -0400 (EDT) Received: from smtpin30.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay07.hostedemail.com (Postfix) with ESMTP id D7A9D160237 for ; Wed, 10 Jul 2024 20:25:45 +0000 (UTC) X-FDA: 82324973850.30.40E63D6 Received: from mx0a-00069f02.pphosted.com (mx0a-00069f02.pphosted.com [205.220.165.32]) by imf22.hostedemail.com (Postfix) with ESMTP id 6E931C000C for ; Wed, 10 Jul 2024 20:25:42 +0000 (UTC) Authentication-Results: imf22.hostedemail.com; dkim=pass header.d=oracle.com header.s=corp-2023-11-20 header.b=bC2AUAvM; dkim=pass header.d=oracle.onmicrosoft.com header.s=selector2-oracle-onmicrosoft-com header.b=euir04r6; arc=pass ("microsoft.com:s=arcselector9901:i=1"); spf=pass (imf22.hostedemail.com: domain of liam.howlett@oracle.com designates 205.220.165.32 as permitted sender) smtp.mailfrom=liam.howlett@oracle.com; dmarc=pass (policy=reject) header.from=oracle.com ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1720643110; 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=ZSFrB97cpv7TqMTUIBHaSA8OeLP/JU95xwMvxrLhrQc=; b=GSuxViidGXLuZm6DhDb0vOeFPtW4Zr3RWB8tfWXABYNnALDog5noLR18tsjBulllunzFvw rW9Td7ob3E2FBv8oYeYmV2nXKF8LttRKffyUFJ5S8V5nx5wM6Jmxvui4TXQrZNDmwoWw20 DDhrZrvybqSTK9CXC3r8nA0wjaNWxWk= ARC-Seal: i=2; s=arc-20220608; d=hostedemail.com; t=1720643110; a=rsa-sha256; cv=pass; b=FYMmlzGacwuETt6LBHHyPS0Sf4kRMT0rnNZTRMJZmec4BTgUXzM4uyFKzOPb5VdvXARICw uNDuBNQ73ggP4Jz63FU8GBT5UXDmnR1Kj35dBWqhhcIZOXrehKlMh/58ZH897jy07FiKRd NcYo34Asfi/sFvEJoGjSjU1a2njo3Jo= ARC-Authentication-Results: i=2; imf22.hostedemail.com; dkim=pass header.d=oracle.com header.s=corp-2023-11-20 header.b=bC2AUAvM; dkim=pass header.d=oracle.onmicrosoft.com header.s=selector2-oracle-onmicrosoft-com header.b=euir04r6; arc=pass ("microsoft.com:s=arcselector9901:i=1"); spf=pass (imf22.hostedemail.com: domain of liam.howlett@oracle.com designates 205.220.165.32 as permitted sender) smtp.mailfrom=liam.howlett@oracle.com; dmarc=pass (policy=reject) header.from=oracle.com 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 46AFg0oT013740; Wed, 10 Jul 2024 19:23:36 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=ZSFrB97cpv7TqMTUIBHaSA8OeLP/JU95xwMvxrLhrQc=; b= bC2AUAvMM1QZ0xdTRozCpoM1id/H5UzeIJ9dYNibUu8nRY+HWDCRzn96QHc926iw FTB3n4vppEN28FRfnuI6+tKBO2TrtCwS+MlxOufERfEgw1rGMlLA1GbmQaaHPFhQ LjMe5JRuy3R/4rCuTD2qJ41wEZEf/NaJSrEsAUNdwY1UbEnJaXTBW85fBoOfUtgk JDrgTjSWNv1Fr7Y+92yLNNe4gMJmS8s7XGuMyt1SX/3e0t5uFkporfZHS7gkHXag C+seboKNjDpt6cDPqkeZ/Boa9ISk9y/h3fzjIhXzq67gJHas039y+H2dxrasVV7w Kz4es31s+6hCncyyH/4Dtg== Received: from phxpaimrmta01.imrmtpd1.prodappphxaev1.oraclevcn.com (phxpaimrmta01.appoci.oracle.com [138.1.114.2]) by mx0b-00069f02.pphosted.com (PPS) with ESMTPS id 406wt8fy0t-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Wed, 10 Jul 2024 19:23:36 +0000 (GMT) Received: from pps.filterd (phxpaimrmta01.imrmtpd1.prodappphxaev1.oraclevcn.com [127.0.0.1]) by phxpaimrmta01.imrmtpd1.prodappphxaev1.oraclevcn.com (8.17.1.19/8.17.1.19) with ESMTP id 46AIs3bi022604; Wed, 10 Jul 2024 19:23:35 GMT Received: from nam10-mw2-obe.outbound.protection.outlook.com (mail-mw2nam10lp2047.outbound.protection.outlook.com [104.47.55.47]) by phxpaimrmta01.imrmtpd1.prodappphxaev1.oraclevcn.com (PPS) with ESMTPS id 409vv1gwv5-3 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Wed, 10 Jul 2024 19:23:35 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=ZpbqVqQ6frx2wWG1Pw0z82Dh879Cc2j8zqvGo1/wYygg31alRvROgoEcxizaoG2FK7LvnbUeYKJoQdm+/FSYf3Dy3rCHdLw4B4rmhhGn+z3Lg9vssNmv+q7yJxk04Ly2b5saIqFj6A1Q0mwbPIgnN61+H0cfQlAsc+b3G6naVRgJ9KN0NFASDJIHBWEQKPMBOvbTa+sYmU0fuTj1VWuyQCIPC+uqPcvmVOtNov9tUqfDxTsj8ks8I96C7pD2gOXI04oQDdj0FvOpCTJz6UNxnXP0goZKLPoJIhpNMr5ECHQyDXYf5SJAKn+61z2jTM/H6fzAskkrPZDAGyCAfRoKMA== 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=ZSFrB97cpv7TqMTUIBHaSA8OeLP/JU95xwMvxrLhrQc=; b=PaJH6Orq2sOOB/ASEIY4ny4Yrw8J0UqNrJQXvB8zfSCyR9u2Fb2loKgQp/Aj7XLyHDEfX/nrrYXeHUo0jfdTsUKNSlQ7Bf0bU559wj8WQk7gLHigR7dM1lu40V6gqI5k2+dPqY9SBtCBsNDglsoIEwoNa/SjmxloKTHZmQrZ6qJauUoC1Cih+xXj3k4IYgfNilFZgt4CoI08/TU6pa09IsBleGib08xvvjZvRHHEe6fak0fTZ31+kdo4D1OKHXeEhbk+GWftkBhT6keQHDGb82Qs3wVCvDamrnbGWkq5OchZU3v8fx5cNtlYP9VxljrnS0KlCm0pSPytu02uxXR+5w== 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=ZSFrB97cpv7TqMTUIBHaSA8OeLP/JU95xwMvxrLhrQc=; b=euir04r6is4lyMsnf5yBGstQiRiQBb6fYJ7JMxpyu5jZuq7TdYZejwFF5rHjziU24U2JueraIlHoJyMp463oPS6tAmUe5Bsc/kfbUtWKNne1JA7O+jrhIUTtLqr6yOSLWeCxPp4Lekd3GbdlnnYQHFSGobAKjV447zHvTRdrCec= Received: from DS0PR10MB7933.namprd10.prod.outlook.com (2603:10b6:8:1b8::15) by CH3PR10MB6833.namprd10.prod.outlook.com (2603:10b6:610:150::8) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7741.35; Wed, 10 Jul 2024 19:23:25 +0000 Received: from DS0PR10MB7933.namprd10.prod.outlook.com ([fe80::2561:85b0:ae8f:9490]) by DS0PR10MB7933.namprd10.prod.outlook.com ([fe80::2561:85b0:ae8f:9490%3]) with mapi id 15.20.7741.033; Wed, 10 Jul 2024 19:23:24 +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" , Lorenzo Stoakes Subject: [PATCH v4 13/21] mm/mmap: Clean up unmap_region() argument list Date: Wed, 10 Jul 2024 15:22:42 -0400 Message-ID: <20240710192250.4114783-14-Liam.Howlett@oracle.com> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20240710192250.4114783-1-Liam.Howlett@oracle.com> References: <20240710192250.4114783-1-Liam.Howlett@oracle.com> X-ClientProxiedBy: YT4PR01CA0428.CANPRD01.PROD.OUTLOOK.COM (2603:10b6:b01:10b::20) To DS0PR10MB7933.namprd10.prod.outlook.com (2603:10b6:8:1b8::15) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: DS0PR10MB7933:EE_|CH3PR10MB6833:EE_ X-MS-Office365-Filtering-Correlation-Id: 1651b855-1d06-4d94-b936-08dca115c4c9 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|376014|7416014|366016|1800799024; X-Microsoft-Antispam-Message-Info: z6Zmb9XVOWepdjOkn85ILdgujcNnA3nKrHX1tQjmRtxGhmb9J0UTuW+Fxg/xd9ypvAG6tQfiSnUu1sE2k6R++joFoPclbz0BJHsEwBbeUS3j6cqI/bvYIR7RSCyvGjFJMhlUUUUvnZSnsmWejpPIWRxbH1Q2WZdmEvibUakoOvc2A1/DXphLpgb87ixIlI2CeQ9TvfPLhTl20zZf26d0NZ9vmsbg2SdoO33CrCD/UIaCGoXWRaJG9HTadU8vN1PhYgAnJd+xFe3GUVVVa10T5/+qH44efBYO+1mxL6p1wsEypGoxGtHlbOC6budyo3IaU5zEStfnSVYuCYNiWzaAVLRuYVUsDMCow5pWe7qPN72hJJN1PkrOh/K/8cvucC9yqwdnqO0htp/rMi77vKoj8Pv8Ukz4gwxao/pX/1WQGlgXknIfmcZghstRGev10gIN3oXd7VEdHM8kq9uDWotmAxdFyKNDzgWvRcQEuY0d9x6vHh1E3D/OBpU9elTGlBMmWrQUBgDCfZiHbv4M8rN8vmM7/cjOq06ntEYV8C+5Zjf4yV4SQXaCs9ZlGmZdn4YurTzlOB7QMBfZY9M8rm2P7rI+d0iPXn9KBwD//6JlxjJ6CyMUVBQa9skVs7rnZdEYXPyln89B9unt/bj0S01BlWyhmLptb1I5BP/GN3B/sqzDfiymkG80CvODYuRKipOjx61wwT/U9m76sA3ICPpSDltDnQ12eS1mroxITlWLA+IajHaWZFDIS96Luvwe8xzuRLHLeMJfjNEqfxDe15Tj2R8TbKe7mQjF4ckD9vWbR8VCSzj/20dCYoALaVIA1b+1OsTAa5FaAEUGuxVCm5I6fFUkUZ9svatL5fIYYEwLDZZBiByU3S0lPEVzSSQLUnQ1lNfy50ws7neqMG7/vc009nimhFUclp+C5uBhJRKRN/ovAMURxGjxeLEGxUqjo+yXLYuCWXgWtFQXan9dMBd0SHobdMN5bhlB+7h3pnq3VAsxNkH7qrm6N7OZXSHb5PlTqk4eSWY+nmmkqT+noB3O8+pcdKPr6xwla1RqsHze9rK7HUjEd2nTOgXu/7wrvAGxqK7JuMI57rCTtV06e0a9uxTPeQdiH7OTqUajx3rEgmLQHqun7d+vS1miw3XlfW+DkX451aDEkm7SNZa4n8PK2u0K/s3D4M7FpzoVPugM7UyFmIjquaPbqolxTsvUsYbHOMZWRHuMyrE+c4QZa76vbSV1LlPYDcyk+VWWBJ1hf9gxRwdXcHzpkycX2nCzCtWSB7nvTEDoQgIDXwF6t7Qmj5fCyR1IaRvDS4JdcIDKTq9V6BkQw7hGCTdOCkFxOflmI6OtSXWW7EAIcWJwbYCXAg== 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)(376014)(7416014)(366016)(1800799024);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: c4JJ5egoK7lWe9STl6y3Vwh9P0ktTghl+cE6yM9EXovpXxqnsjTLn+6g/Oh4nG/2zOuOjuvnXqTIbh6fRaNreco4GEPQecogW5+avE+w5CjWxwp1tvPAmetL3dHAsMb9HG4aeqqPxdJq3Rk/oN0lvcR4l0lyvoAHF7+J5Cj32S8LVcRbhHc1nQw9/0JWvXv7PnkJ+BF6VUmH/SiHIWL/ImaetpcuSjl841i8WAxO/7t3Uy2QtUqTOz1EYfyRbr0rs5CIEpOnU15zyRofJzag8KB1fhUWgegN2aKzVBY6rjuiXeke8bW4F1Ty81xeQXV/NCr+SR3BxnEqdEjCFvEe9iz5+rynfrp8Wi0Sl3QBhIy5iRieH211i97rX4aTA4/Zsyww4+pQCunDdVjIQZLi+HQ2a3IO47wrXYwlVnaTnd45SccQrU34Rro2EJUTCGRK41z7MWNqNnKnyreUg0nlPEw4OMWERSAidXA/HQoQjupycDBSxFP2dNC9F7x+H20/G7sXELgY3DKRHrtPZrs6908qAQW2kQ/KedMI9JYqs8KFPdGYVimTgC4INB18gyKs/mmu5Ssvw7ZwKNhE8yoYEx7KSCIOhh2eLprPlGvHGVEb5hCs3Ei1nw85z1f2xPPl6uEpLwgetgGaOfNXBN53IgFB+FsBCCfgBCrvxIjBo7YF2QMfPTZCYW3jG87vhLftlmetQkBt/+/ixjUg6VCT5O3pE4Y70G2CMT6Nax/nVXGeLbNoAnUiX9OhVv59ai1QR4Pp09oZjEIuB9LC1bKqYffYHSjanuK2PvlTXLMdfa3k79oe+P4BOI5TuYcr1PBXpE5EtbAT6oSiwjzKG3UyXnpeb/IkMPVeYN3/rZTPuDbdSCow3gk/UJzEjNjJWP5cTwjBzzpetNSKpXLyOZPmuCxiZP+KkwvVMF+VR0Xvb9toe3ANPt7lDLhfp690FmdElnw/WLGuaws1KXwEH6JCppW5dq6sP1O7817XEQBUPnVcmznZIo2G6K70mqajb8q/Twb2cWBqbF8EkoCT2yvA2JCn/ZPWalkGTrmabf84JIR3tbZRk7S3IK06Xccel7MWriZ0l2REdNg2RTUjpLDt8wsoUFHxAMVc20noAaxUETfJvAUinyv5fDvBMjTQUGK/my0xUydNo6KvjeS6U5YR6FNDPatp6cGjdXUfKnvVXEiBq2QcLWrRS+F0ZSoUdfRIVhl/h4cAFQ2yO2QxDZpcNjmCTxAl424R9Y9TmAyRHbkVc9OXox+FOBbLGdgRjz7mQlcdsEY0sS+LLSu6bMYal8Qic/gIPQq4SuGPXjfRPb+Ake7Jlueu67x1g90n+sTbep9CsFj0FETYl5G1fTjb7wewOqe1jiOF2ImeiqnuNi01urruSvaSZOqdsA7Dt+6gUrXsRRzK5984XYP8+rY6COuvf8n0SOomESRhgGkkkzRqNXQnozjynyWS9jvSdoA1bqZOJlAH1T+oqaADBvGRKglg2vL6eypQxtiP83FtlU9KmCUPxTy2VTU71Q0eIOd6oekrgjtgkD2XXTlSHs1l8+/s1CwHViyfoGDHpSKItMRaG39XzofY2pIEIZwj+Fr2xJDe3bJNQaz4Ne7qXInAjQ== X-MS-Exchange-AntiSpam-ExternalHop-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-ExternalHop-MessageData-0: fl0DYop/vrvjrcClTfqKMYGkj86u30xpDhr8SKPAbWKTW0ZAf644o2l7srZdcxEIstRz46q/75/3g/X6Ag4alorv3z+8VS/RiDrIl2+Fonlz5fP7e9znf9iSilug1wwH8/lx8i1Elm4mEU4JAgBw+u1RV9WXpB7MQxLJlcx/t/Mb9qa26QElWbQ5bqVshVWoRCuw4R0/v+84Ucn4mOErXo5feyu3C1U+7NdZTa4B4r+/zO6/W4/QkusRmxrq8RQ8DOD1FTionh/DP4rlqeAxK+2tSzTtu/xrrSIY1+i5L4KeHyRiKOSmeXCmcTqIuyahpxOaJET7gXbz6A+gwED09ZyvZTMFToyXxITEs+XAcKiBJvXtuAb0NrTa0+m55WGdGPizdGI7rVbr/Ifnk8zIAYzHAkw8reKRhDFdfQqpDbR0OojvFMhGAd9jBV8I5rfTj62+Q5rl1GSMTssIOtxb1Crd77Hc1tF5WYoZmNLW0VmVlU6AummDv4TdOBk9wYEgLE+chWakwbxl/8ZSUPt9yDtYu6s2I5G7TV/Y0eG/BzeRhiR7Z82buXK1UQU2VYxCB7KgYhtngnbtC65e2Ru8JzeL/7oiRx+1Ub22RtaIOhk= X-OriginatorOrg: oracle.com X-MS-Exchange-CrossTenant-Network-Message-Id: 1651b855-1d06-4d94-b936-08dca115c4c9 X-MS-Exchange-CrossTenant-AuthSource: DS0PR10MB7933.namprd10.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 10 Jul 2024 19:23:24.8824 (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: WEM0xdextXPRvo0SKVW/sUsKru7yYEM9cUeeFfqvyE4M7PK/B/YeNkObCBQS7a9pYRRyc5GgSQ1efsTbuaoZDQ== X-MS-Exchange-Transport-CrossTenantHeadersStamped: CH3PR10MB6833 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-10_14,2024-07-10_01,2024-05-17_01 X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 suspectscore=0 phishscore=0 mlxscore=0 mlxlogscore=999 bulkscore=0 spamscore=0 adultscore=0 malwarescore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2406180000 definitions=main-2407100137 X-Proofpoint-GUID: awGNE8qDrtChVNMTOThCEK3Ul8gYsoQv X-Proofpoint-ORIG-GUID: awGNE8qDrtChVNMTOThCEK3Ul8gYsoQv X-Stat-Signature: jiwxefgp9wyu4t5g44sgm3xtmdkpmxkx X-Rspamd-Queue-Id: 6E931C000C X-Rspam-User: X-Rspamd-Server: rspam08 X-HE-Tag: 1720643142-70498 X-HE-Meta: U2FsdGVkX18w22vd2fuqBqpQvejrXspCNxADxBWB1BeGsQ0VQwl0O5dbP+ygQ6opui8MSaJhr6KyGy8UZhAkG+pw+eyZJndyfl6RnIt3+76AD+gPUUk27BJuDM+fy5UpRn/KURNCyvQu9Q3R/1E6PF5+4RH/9RuzFT9O33z3SHZRbN2fKshINsaYsJbJgCdj5FZVFpRHtGmDIchiWOhsDDH+wCvujekt6A2yMVRUnYumkU+30QAlRfcpsxVTN2LOu0Ah+AA4HEdZWwagMN326URvFgVOU07qXPImA0Ko3n3XPN/DtEaDYu1tXLZ/IhD39xZ0Ravbkvf+TLV3WX/U/qwl104qile9SfdbiFZDQMTcu0xqGjBax6C2iJAtBUDDuI1yrtmY/CorPreptgEbTBcHv2VXV5TlaQwUs9tu9NeNvYFVQg8obfQ7OTAKc38VJoFnYA1zeakR/e+C3JNdy1L8Kh+Icv2B0aCaKdNOD0iJElk55EwZh+OgUbbWZjHDjPKKGqFqD/cBq560LMDzzoaQVJ+XOcq4i97gAExG0GeiTR4enc4uNBKXbwVZlJx9afN53MOPkF2Udje7vuxzPJd0EmSo8R0nMBWfZj+2qnnNFQ/L3PtoFrvaIZ8GdYWo2Wi+8Ua/m4HBqL1da3hQCTNoFxsgESw/yIprOP+jRv2MJyKkzdA5736lRAhEGKWwufA+pb1NJT2dP4ykgB1Awzdf+5LbGH5kmwXcW61gqsHwTWKUgPnUhxUq+R2Vftt9QTYukkOnpAj8hU0jJYMc/VR9QobRz4FAoPrJxo0w6F7RoOBRxrBEbuf7r4R/2LB7GLzTUAGLZ2A//EkeRZ9WHuZFUSNAo/HQlyQWajEfxVMIc0DbqEq/GeU0vOpvD9Zggg3vTVdxk0VyQPVgKIG1V10+gDvjTwKQC+k+AURF1DUeRq8b49LPv8MacKW4P+iJTFkE2qTGe8dShIeSvED JY8E/u+u A2y82m/9RFz4SMl0YJHi9PVASvWgCBAJ+6G6QR6rdYNZyU7wvV2N6S5qbTND2kclejOLqcp4WJVSXrEM/CB5wM9PwpZHhhEh/ToCl84QnP7la3cPm1FXnmagJl3x9g2VzQXUJjQisp4vxLL+VrdgJBucmPENNLmcU+/R402q6csuTekT+sypwTLCkV+zoZxUSy327aBZ2pJmq2E+Vb/DkYY9VSXPKyK7adoJqEF+O1OkC24WEvTGsUHmE2+UNUuG+6CHsad8fVK2wkYGBq/4nl2yxhMFSsMj7EBdVZcq8wIG0XH2OHg93sPKdlGtkP04zK3k6hGuarp+6VK82zoOenRVnay5ZUr/0k6fP+SU292ff4bc+RD00LTPlkwxBYFVVTTherv/WkQBsBYI0Q4LYOjBJqQn0x3oqtKCrPFyngT6ywxd6cwYl4frVBqmCaX9O4kFc70TJmRL7CPUfdwZCfj9k2Bha4pcgMaefY0dHql9Z1fLq4eCZM4/ZAJkqa5DPNVYwjYKJJI4toE2OwRjXWDQMRdmt1yXkaBuP7VumKje9Se0= 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" With the only caller to unmap_region() being the error path of mmap_region(), the argument list can be significantly reduced. There is also no need to forward declare the static function any longer. Signed-off-by: Liam R. Howlett Reviewed-by: Lorenzo Stoakes --- mm/mmap.c | 25 +++++++++---------------- 1 file changed, 9 insertions(+), 16 deletions(-) diff --git a/mm/mmap.c b/mm/mmap.c index 12a5ca6c979f..870c2d04ad6b 100644 --- a/mm/mmap.c +++ b/mm/mmap.c @@ -76,11 +76,6 @@ int mmap_rnd_compat_bits __read_mostly = CONFIG_ARCH_MMAP_RND_COMPAT_BITS; static bool ignore_rlimit_data; core_param(ignore_rlimit_data, ignore_rlimit_data, bool, 0644); -static void unmap_region(struct mm_struct *mm, struct ma_state *mas, - struct vm_area_struct *vma, struct vm_area_struct *prev, - struct vm_area_struct *next, unsigned long start, - unsigned long end, unsigned long tree_end, bool mm_wr_locked); - static pgprot_t vm_pgprot_modify(pgprot_t oldprot, unsigned long vm_flags) { return pgprot_modify(oldprot, vm_get_page_prot(vm_flags)); @@ -2400,22 +2395,21 @@ struct vm_area_struct *expand_stack(struct mm_struct *mm, unsigned long addr) * * Called with the mm semaphore held. */ -static void unmap_region(struct mm_struct *mm, struct ma_state *mas, - struct vm_area_struct *vma, struct vm_area_struct *prev, - struct vm_area_struct *next, unsigned long start, - unsigned long end, unsigned long tree_end, bool mm_wr_locked) +static void unmap_region(struct ma_state *mas, struct vm_area_struct *vma, + struct vm_area_struct *prev, struct vm_area_struct *next) { + struct mm_struct *mm = vma->vm_mm; struct mmu_gather tlb; - unsigned long mt_start = mas->index; lru_add_drain(); tlb_gather_mmu(&tlb, mm); update_hiwater_rss(mm); - unmap_vmas(&tlb, mas, vma, start, end, tree_end, mm_wr_locked); - mas_set(mas, mt_start); + unmap_vmas(&tlb, mas, vma, vma->vm_start, vma->vm_end, vma->vm_end, + /* mm_wr_locked = */ 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, - mm_wr_locked); + next ? next->vm_start : USER_PGTABLES_CEILING, + /* mm_wr_locked = */ true); tlb_finish_mmu(&tlb); } @@ -3193,8 +3187,7 @@ unsigned long mmap_region(struct file *file, unsigned long addr, vma_iter_set(&vmi, vma->vm_end); /* Undo any partial mapping done by a device driver. */ - unmap_region(mm, &vmi.mas, vma, prev, next, vma->vm_start, - vma->vm_end, vma->vm_end, true); + unmap_region(&vmi.mas, vma, prev, next); } if (writable_file_mapping) mapping_unmap_writable(file->f_mapping); From patchwork Wed Jul 10 19:22:43 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: 13729605 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 8EF86C3DA41 for ; Wed, 10 Jul 2024 19:24:03 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 3EED76B00AB; Wed, 10 Jul 2024 15:23:48 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 3A0B16B00AE; Wed, 10 Jul 2024 15:23:48 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 0B8A46B00AD; Wed, 10 Jul 2024 15:23:48 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0013.hostedemail.com [216.40.44.13]) by kanga.kvack.org (Postfix) with ESMTP id D5C2E6B00A9 for ; Wed, 10 Jul 2024 15:23:47 -0400 (EDT) Received: from smtpin22.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay08.hostedemail.com (Postfix) with ESMTP id 85748140217 for ; Wed, 10 Jul 2024 19:23:47 +0000 (UTC) X-FDA: 82324817694.22.E8E8784 Received: from mx0b-00069f02.pphosted.com (mx0b-00069f02.pphosted.com [205.220.177.32]) by imf25.hostedemail.com (Postfix) with ESMTP id 3E1CAA0021 for ; Wed, 10 Jul 2024 19:23:44 +0000 (UTC) Authentication-Results: imf25.hostedemail.com; dkim=pass header.d=oracle.com header.s=corp-2023-11-20 header.b=m9tgvcPi; dkim=pass header.d=oracle.onmicrosoft.com header.s=selector2-oracle-onmicrosoft-com header.b=YSbkQXkb; 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=1720639407; a=rsa-sha256; cv=pass; b=XmkixqvxYb6FM3AqLXDKr6b3p+p8x+C6DPPSBmiINUOHwECp4piAMmIIePKpc7i4otAmG0 N4vObsdu3Ysx3t8zVPgYV187a09SyCm5y+P8c+fIdvQ+hYF7yDpfqwxx/Ath/M84n4X+kg Naikt7oKliS1oQqr+YP4NqnelckqOGg= ARC-Authentication-Results: i=2; imf25.hostedemail.com; dkim=pass header.d=oracle.com header.s=corp-2023-11-20 header.b=m9tgvcPi; dkim=pass header.d=oracle.onmicrosoft.com header.s=selector2-oracle-onmicrosoft-com header.b=YSbkQXkb; 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=1720639407; 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=x3Dh8wxvQ7Ko8hZgNHR/qkVD7PKQF7SmmQrEtbUsqKY=; b=xPX9FgTYudKGxzajK26PBJDfjqG7Cc4VHwSy4/RKmRVZ+Mjwf4Ov2qNHYxVMHhgldlCicA FjwbPH2Ag+nPgxwGrFm9h5Zel9CIfoIEkmLj2jxruvMmuzob05cWscCoeUcAfeEJHf4VMR 3mBUQvXorRKlgb4Vq9ptSj7sqVJ7ib8= 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 46AFndMl017517; Wed, 10 Jul 2024 19:23:33 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=x3Dh8wxvQ7Ko8hZgNHR/qkVD7PKQF7SmmQrEtbUsqKY=; b= m9tgvcPiMOkbEx+ahfL6tbLuXGIEIpexhs/2LgEiycKuX0OIieEH56V5m62PlRRi EDvGZMHbLlaxSRwppkNb+1ix+4FRuq3LvvYOTqUfIZpnnQEV4mKJyS9AZ6d3c+ye ADqOVsrjISzoo6fTvZ1yUoUHGSkkmlrGTxYNG7DM28lLiBn6r8uWXNzm79z6+Th6 dgrLKoG3a0l/q+4KEtZ8Q9s/WpOiHWKDCual78pbrGtuqKTWZDK9O55zjx5YLPBo fi/KrR5U2RUjAQPefXl80d76m0jUFyuvK667LLEk8XCXKaawzajnpoTZDhAqMQtD KaIJe3cAyj7tBsQTl6zXDg== Received: from iadpaimrmta01.imrmtpd1.prodappiadaev1.oraclevcn.com (iadpaimrmta01.appoci.oracle.com [130.35.100.223]) by mx0b-00069f02.pphosted.com (PPS) with ESMTPS id 406wybr4d4-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Wed, 10 Jul 2024 19:23:33 +0000 (GMT) Received: from pps.filterd (iadpaimrmta01.imrmtpd1.prodappiadaev1.oraclevcn.com [127.0.0.1]) by iadpaimrmta01.imrmtpd1.prodappiadaev1.oraclevcn.com (8.17.1.19/8.17.1.19) with ESMTP id 46AInZep030164; Wed, 10 Jul 2024 19:23:32 GMT Received: from nam10-dm6-obe.outbound.protection.outlook.com (mail-dm6nam10lp2100.outbound.protection.outlook.com [104.47.58.100]) by iadpaimrmta01.imrmtpd1.prodappiadaev1.oraclevcn.com (PPS) with ESMTPS id 409vva93av-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Wed, 10 Jul 2024 19:23:32 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=HfYtFpoNJefTBm2W9xqt30706qPth7fS1R0vre41HQ1N06Zba1dDDSRWxd04lwH32Cq2sKGHZTVAzoiTUfdUt1Ngn1AwfJ4UXq+iDe1AZG2P0RojsAXFd93eNjNikV8GAOKi9jKvSAsG/0dNBEd4D2F2I65rQ3FbGZ3lVov1vzvHksF1UAqYxjYXd43ykXYGvCe2b/bHMpeQMygAPmw8qmtI5tPaKuhsq4x2UXWgMbFR7D7qkFe9Ru8orcyrfgT6Ixf91Ef1cY6UuxQdCp88wAOHPnDVJllKE9FxtR8Iqb4cY8A0zRXHhCKdB+ivLdBBmAaK08//QBm0CMSFfXuu3w== 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=x3Dh8wxvQ7Ko8hZgNHR/qkVD7PKQF7SmmQrEtbUsqKY=; b=d7wIXyDjN67A6kbvBY5d0dcMSlEIKWOUNgaq53vzZ39myNy27DPDQWCiF3Cw6yvh/ow9h+r9AenrrgYGPQNTewyuJVlFqssIJaPmPb66VdTo6VW5lQYH4mKYFPEvomv82qjjeLnwJ8XSNWQrokGRlZVrNNbAnuDrmaE7Tey3rG+n86MmOD/aB8/pBybyD9YAd7+obVUDchYnn2RYUbOADau5cXjBKXSKPo6bVaYQZvavaWTcPf49dVeKkuSLdGI0/Mxe4798e9c2k5KP5t1FmMYMVPEGMD+pzuDY0R4SUjuxTgwCNQLiV2+AbRAEG4cEloounchV7XQFzXxJ4lbeWw== 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=x3Dh8wxvQ7Ko8hZgNHR/qkVD7PKQF7SmmQrEtbUsqKY=; b=YSbkQXkbrMGAo8co8R06aSp2B9OyMaVjnLbH6xkY1gtf/UrbaWHrNIqgWWsGMMPdHHcSK/ySQK2CRQNXhk05UBkHi/sn1jp1UoxwhSlfsO5IkbDXzAaQi9DpQzyDRGV6YYhqFgKPDliqyXT+jC/zCV+roVekrqh806l5ZPl1DIQ= Received: from DS0PR10MB7933.namprd10.prod.outlook.com (2603:10b6:8:1b8::15) by PH7PR10MB6106.namprd10.prod.outlook.com (2603:10b6:510:1fa::7) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7741.35; Wed, 10 Jul 2024 19:23:27 +0000 Received: from DS0PR10MB7933.namprd10.prod.outlook.com ([fe80::2561:85b0:ae8f:9490]) by DS0PR10MB7933.namprd10.prod.outlook.com ([fe80::2561:85b0:ae8f:9490%3]) with mapi id 15.20.7741.033; Wed, 10 Jul 2024 19:23:27 +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 v4 14/21] mm/mmap: Avoid zeroing vma tree in mmap_region() Date: Wed, 10 Jul 2024 15:22:43 -0400 Message-ID: <20240710192250.4114783-15-Liam.Howlett@oracle.com> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20240710192250.4114783-1-Liam.Howlett@oracle.com> References: <20240710192250.4114783-1-Liam.Howlett@oracle.com> X-ClientProxiedBy: YT4PR01CA0425.CANPRD01.PROD.OUTLOOK.COM (2603:10b6:b01:10b::29) To DS0PR10MB7933.namprd10.prod.outlook.com (2603:10b6:8:1b8::15) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: DS0PR10MB7933:EE_|PH7PR10MB6106:EE_ X-MS-Office365-Filtering-Correlation-Id: 4ee1e888-9d24-4a9c-2bdb-08dca115c613 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: s4gu1sxT+ueLicxayPib0qBDcHI2aTgRAvqhYGw3NSi/t8Oj8eegJVFRGQtAX2pn1WQ5/Y2Wzmd1dcaO4KVu92WZuqtuTST0r1kwTiSwLs8HvMOePmNC9qwI0RVdldfyCSYSGDmmX4zMxVYy52F0J+nkv0YU9eFBr9eqyZz4qaYML2esx9klXBv689M+7/PSlG/xiQFh5c0yfNmDFRUK+/uRxUDFZH3qe6hhQ8dCqtlMvIXLACSKUb4Fbhc4Hyc14MJdLVL9D9gI4YHBn5cdmUkLT2Q0DPB2BrDwetqt83UvagPuveKCuUv59EuFqdTX9agEiAjS1c8k0xMx2g6US7Ya2r+D9/dNgsczNkHiqe7jlA2gjiaoIW86T8JuUN6nNpq85jEjodmzW7jlvurI/TL1iKrqnboeLn/Q0OfsgX8ITLQEOdMdMkmyatSXMpbazkOXzqlGChVjwSxECO+8E41C8OYD1K0f6jS/9N+dOZBGhYm/TV0hQa1poRFodpOUxYpM7DkQnXl4qydKQS/iSHd4lfhmqTvBfugSzegtmQE7ptv4HeGw4mugMOxjWUKMAIs5AXQY2QWD5B52Tit0XyNser3T/2eBRfVMa70zgAWtBruyx3/Vi/t/xBpwsp4rNia05bWbPaTdtr9iSV+rG3de6op9EJ9P+3XMdaEJ4Jom8ccEkKimXTjtQhManm3XCEpPVo8sqy76h28qYhmOdlBwye03DAzQowTRkVgQ6Dwj0RzW2N0nrQeRn1R8lZojTCoyBmkr5mVVCuziMzUOZXS5ko3W7CWGk0rHXOJVGnS0LCVmeDCiBIPN/qsI1jlcww2vNWYOAyK/ir/S0ZPV9XWyJfw0yOU/FmgQ8mLypj9j5qHwRf9ie3n7cRQ1XbWFgpYW/s19FrdoCcPiHn+vloDYmYOTEjNG5614YJgVC8Djy9BVedEQZ7NaXKLrl0uP6M3SwN2ftnVizKEHiuGSxYxHPUclMFTmcL//B13AKTrrUN+w8rFpkXFNG8GfRSVjX3zJ/51jHQ4Qxa+oV6MjDYHDW+pgCGDqefCfrm5o3N0SRwzsD1+L2GwiaZk6xoKbXgIgULsxJD9wd3g6DquSbm5bsV87IGpjDpeQPKLGmKnyRIrp356E0QDxlsx8z7jfZmAZ9aWckFLiiIRHBe/ZT21FW/JtaRCYmE2jP8OiHiHEfLSIXyg8XlJEgbOTvVE8q383UKiTbA3tmoxyzLwRBRbfYf22dHMuMME4JUapkgFLIrzDWdZ6r+SpTYg5RKAWuYkUU9XhjITW4ds8TzXyPtELaRjxtSWz/h1mLGY/3J+IE+DlJZ4S4ddsfc+lyoQhz57G53mLXwXjxtJlUQwqAw== 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: SlKpdjN9qW+YFB0C3TfKQ1q4ySaIJP3WsGkbaYZfJBBkgDCOiJJhXMD53X6cJ088oEwo/pxZpyA+UAVZnZLCDsIMMpm/5unTf4FiBJ5nttf4X0PovS4s1iDFfZRqlHo2A2O5nLN10cvUwvWCOCuR6UFilx9y9Dz8au5wLdiQTZfLA/EqscZV+vmXHEcmJDIaRnjDnJCrPhjoNY/Yhm0t7XruFNs0WaDC/b97eZapBUj8hRBHEzV47vjRlAb1Pz14DSm9JsHjdUuCvJx5n/WAZtkp5y4Nz/tLFkhy05W6ptbWXFbtNXKGRguyIs+OStDjzbZVptWbelCDYW0XKV2lnPAahXq1wG2r1mBurBES6Ohh7X4iMzl9e1kJk5V/AJtmfM6/EnwuWyTr/wR3ukbUCbBERZ5M62Oc6wYFDx7UpkfvNkgmdZEMbRg9lIwCkbu+jTywujJhEcpsFu0VW8JkbMbeTRoGNjvIRRDThpQZyce1Rb5pn6whAwdCzZqhi23a2ESIkvdGw+64xX1O7xbN4EmK5TGwltv9ipsDfugwyY4TCGAdfPVvBhj6bf8V+kb0gY8G2XJOl7je8V1xwYqJsh7zvk9ofolQZFmCKzmyFtsJdvcdOQKBcBrVUJxL08XtDTYc7MVLr384maP2T6j/0l4G4JBkMUV8bgBdFY8fO4xgEZuWEK7k61P0Y5M9CRvg3tlcwm+AuEx2pplip2k3FiK7UunAJos/kKqSRCO9Mr1Zh/PpuSLxXOErsz8j2drcq1wFCQLXuFWk2D7HsvYxs211JN2MyLOBz7VLeWvOIHNLV/OvmwNY7Z6858NtqGRtU4o1MGpjbwMDQMQkZzCADZfGcRkbjbq5ww50MYTNsQj3dH9lRY/i5+d9uWqb7wC0jpFmjnX7ZprABdY8SA5UXoq3c7Nu8VQjiOocOra98pKZ6zwtLJXZsarQvFnMNjIXS2P4IBUmiOpxIUDTXfX/ARX4tGZV3JQ8/+8p9mNOSZqXJB0/xJNvma08fMsBFxVUHofzHXHk421QTgRGJ9VsZ1PoMngStfnDcuh+pOepruur6ZM1YIWv4h79WmvI5y17NY0ilT6y1yWieWftxSB+YGplBVsokHrn2S9sWjct051uhjPsno0X84ma4JubMg0kxsG8vNAoazZeDcNYUrB2FQqBYLmutzvFARn4HYG/BnJIZfi2aZF9qx7PMONYMonvJqxpYX5iVN0T08xH3ke+/Q1OL2pUJ73sjDSdNylyYzEl4Ac9mzpu0snCh9bBifFC62X+QglSV6Mvln4XqTqPK3SWlszTm5tK9uCV9VniqjpK162Xwa/kw5/j6ONUUHdbu9p0fr0KMOafBzYJUwLltNMyuvpe3t76Slk14hH3uhKyq0v7vmg7NttpIpwi0o/iBULAHGsrWIx9HEZOB8vOJIxDn0elX3PtNU0W7JiAMJ0fJ9khITmE3YamP4ZcSOnbLFUeo0G3ZWGoVCGMBYOHvEgGixkvLl5zkBWJQcQO+YsBsTS8fSu+oQ3QsoJpWm/frE6lD0bjBWWaXLLdGagyuUTYlOjYCjcN5LpfxeI8wBUesZwNoG4apOjRM3/xc+HBrp/T0DdYR6tWyJJYXuPyvQ== X-MS-Exchange-AntiSpam-ExternalHop-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-ExternalHop-MessageData-0: KPOpRqO8B8fYwlOONyZhLy3dsEiK1gCXIhMfvRyGCFkptY6U41EjPdkFwenkvI+sciNcfB6Gxaw2nrsmSlfRqAUV1D8xAjU2pmkjwAuexfDC2j5sOy252W71BJMyLl8i9nGPYv59ccZxNs1jkjekIA3TldFuxFztt7Gv/V/BoYjk1BKa3QkaOmeg4qm/kH6e1yhLdGZP0wOTw5aUD4fS+EuX44e1MpuOT3iClKaZ28Es5a307oA4NExoXQx/kk1BUWamIFNgkZelU4MJXpkF08E1I+iD4Ps/I+lukkQhMdAvXtLrhdJC8B1BuQOEyrIWoaNKBjSlRbahuto6FJFZwYp2A8mBCwSNiL5HyKXxTVavXD7NCnozJhuvGdsOykeA9sAYAQdLJIB8J7NJSlKoe1fFC4upmmUKji0W2fBd5HYxc9K9NR4kmDyxNBtK+ZfpbhYe4V3wBJRY2S2MfqmsjQQoyy1UkPMzrt4EULKXLdwr1EfeqHwwEx30OU17pSbkfHTgXfQ/QrQ8rLix67+dsbznydSuFHplQcO9aF3Uj9oxl2d0p+rc1hUQlbxjt0CiqB2n7646YFLWiJLsFON+SyKLKCtwbzCGwcQd5qNiMGs= X-OriginatorOrg: oracle.com X-MS-Exchange-CrossTenant-Network-Message-Id: 4ee1e888-9d24-4a9c-2bdb-08dca115c613 X-MS-Exchange-CrossTenant-AuthSource: DS0PR10MB7933.namprd10.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 10 Jul 2024 19:23:27.0536 (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: QAUJ1qieSkKx8RjVpsa+4BqtqHnyBmzT15nrYIT/q29ubnEb50JSiOCXt1KJZDC/vqaU9vX+I9TNyWxLJYM9fA== X-MS-Exchange-Transport-CrossTenantHeadersStamped: PH7PR10MB6106 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-10_14,2024-07-10_01,2024-05-17_01 X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 bulkscore=0 mlxlogscore=999 mlxscore=0 spamscore=0 phishscore=0 adultscore=0 malwarescore=0 suspectscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2406180000 definitions=main-2407100137 X-Proofpoint-GUID: rf5rLuU3R7r7MdPFdrIn9wkhYBwJkwhV X-Proofpoint-ORIG-GUID: rf5rLuU3R7r7MdPFdrIn9wkhYBwJkwhV X-Stat-Signature: 1neqng1o59buu996hc1ax3w3qdq38u46 X-Rspamd-Queue-Id: 3E1CAA0021 X-Rspam-User: X-Rspamd-Server: rspam10 X-HE-Tag: 1720639424-752905 X-HE-Meta: U2FsdGVkX19I2zELiz2TVsEtNFzwfGuaPk9S+8+Z4RQzX67F6IiQx/QFdg74WMGrUEhl51PdhI9l66g2STFtYyscAuT91Jvchk0iuMkNCLKNuf/Axejqxfpoa5SZFv4kSMRMFC6OnsagbaPWxuPsL5yO1Ca+5aJVHSgHWOF6MzGUUVlzbVjjLcJSf6KxSi5Wj8aiYP8RAi73WSqrupNQ22mEImuD/fGJz7KXg5GDxb7GlsmLklm6ZRDvW/wUHRWQ5JYuEQ6W1+1SEZRliDvj8NulBNl5NGlM8p+K3lFHU4NGLxbPl/raRdxZgSDG7rc5SSo9Um1BHmh29lzs+CTwpa1XhZlmqfX0QkJU/veeQkfYQQEcOXrzjGEHfZJNabqfIWVCUWgVgDI5tUphJdHFu9nxcBIW8MJ1uwE9FjJRyvYn2XNsbANT/uk16zBKJMZrEY7A8pi9Ey4mJsSxk4kuzxDbHQP0KGrRFX+/WISnpJBXmvAz7wvlWtRBCGJZ2mFEUHeliC4y9JiPnfd+Hv6zy3aQE8cWqBrkjLYTiTG1g8OHOn2FLxrlh30Rxx0qO5BnzrVIOIthcP2JB9pIH73oAkQGvM2p4uKfbziLx0XZ5c6KvelzaJff/5TkLPBqaozDebTtl979lcarN6thmpEFGX6FXYTbUTA9/8mlUI1rL4loSB7NIgU9uBBJD7AsfO2KDeGmwkPhqKewJXAl0HwYabHjM/nZUClL3OcCtcJEZShOPLEpOOPh3Y62iDsLINQtpPaqmc+cMK1fwX37HmVNDf/Pw++QL2e6/xy/HQvHCDts/2jgWmNCnvGgUKqNRbcPh6+CSg3tAJgi1bqjdd6pdh3yqSOc9D275Pm/VV3o3S0KWr5zBaB6W/XObVAHujsZXJzmQG6RdcOjjd4b88Apo21T78gYXcUSCySgy6sEoO7mnh1zV1mTcHQpZnoatPjtHj1IKKDAV5gGDTtOdTR HHQoCyKY 0cE6MxsOi37cH95WLiguUqiy/c/7k2iJfJnqOarAcLP6o+oSXKHnv9NdglRZAbc+qI9Jnk/CCFnaxE0V7l+VGEC7YbYsxh3eE1muPSqiYIwyTs5p9f9zMO/2XcxA+WwPPRGUVSh4iQDTtmQ2ra/jAkaTAeK1pDyqo/XCIIgx2134mzrPhxlpsBC2y5rk6K4AcyR1V8nssztIoeswMh71Jl3XIIGq2tfjeo1CBUb6Q7UA04FGzFzwNOPjJavk797nox3/xXb+V0X0Zs4iUdtxTEtsaCp0osK77jqsFTbOmLlyqSqsdOFTXeuV3Oo6/ikdD9mMMJgu/YUGLZnr8lcCF3KI0cUPhnw8PDoEljXQewk16xeJGVPuVgrXe0SZQPz5ewHw/blNEtXh+3mGFUoFy04ymJ9V7oJlClm2Oar5mSLSpfr02TZ49KVgoU8Lwnk4Sw+65heQC5TOMsQFc1J5PW/y/VA== 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" Instead of zeroing the vma tree and then overwriting the area, let the area be overwritten and then clean up the gathered vmas using vms_complete_munmap_vmas(). If a driver is mapping over an existing vma, then clear the ptes before the call_mmap() invocation. This is done using the vms_clear_ptes() helper. Temporarily keep track of the number of pages that will be removed and reduce the charged amount. This also drops the validate_mm() call in the vma_expand() function. It is necessary to drop the validate as it would fail since the mm map_count would be incorrect during a vma expansion, prior to the cleanup from vms_complete_munmap_vmas(). Clean up the error handing of the vms_gather_munmap_vmas() by calling the verification within the function. Signed-off-by: Liam R. Howlett Reviewed-by: Lorenzo Stoakes --- mm/internal.h | 1 + mm/mmap.c | 80 +++++++++++++++++++++++++++------------------------ 2 files changed, 44 insertions(+), 37 deletions(-) diff --git a/mm/internal.h b/mm/internal.h index 11e90c6e5a3e..dd4eede1be0f 100644 --- a/mm/internal.h +++ b/mm/internal.h @@ -1503,6 +1503,7 @@ struct vma_munmap_struct { unsigned long stack_vm; unsigned long data_vm; bool unlock; /* Unlock after the munmap */ + bool clear_ptes; /* If there are outstanding PTE to be cleared */ }; void __meminit __init_single_page(struct page *page, unsigned long pfn, diff --git a/mm/mmap.c b/mm/mmap.c index 870c2d04ad6b..58cf42e22bfe 100644 --- a/mm/mmap.c +++ b/mm/mmap.c @@ -401,17 +401,21 @@ anon_vma_interval_tree_post_update_vma(struct vm_area_struct *vma) } static unsigned long count_vma_pages_range(struct mm_struct *mm, - unsigned long addr, unsigned long end) + unsigned long addr, unsigned long end, + unsigned long *nr_accounted) { VMA_ITERATOR(vmi, mm, addr); struct vm_area_struct *vma; unsigned long nr_pages = 0; + *nr_accounted = 0; for_each_vma_range(vmi, vma, end) { unsigned long vm_start = max(addr, vma->vm_start); unsigned long vm_end = min(end, vma->vm_end); nr_pages += PHYS_PFN(vm_end - vm_start); + if (vma->vm_flags & VM_ACCOUNT) + *nr_accounted += PHYS_PFN(vm_end - vm_start); } return nr_pages; @@ -524,6 +528,7 @@ static inline void init_vma_munmap(struct vma_munmap_struct *vms, vms->exec_vm = vms->stack_vm = vms->data_vm = 0; vms->unmap_start = FIRST_USER_ADDRESS; vms->unmap_end = USER_PGTABLES_CEILING; + vms->clear_ptes = false; /* No PTEs to clear yet */ } /* @@ -732,7 +737,6 @@ int vma_expand(struct vma_iterator *vmi, struct vm_area_struct *vma, vma_iter_store(vmi, vma); vma_complete(&vp, vmi, vma->vm_mm); - validate_mm(vma->vm_mm); return 0; nomem: @@ -2606,11 +2610,14 @@ static inline void abort_munmap_vmas(struct ma_state *mas_detach) } -static void vms_complete_pte_clear(struct vma_munmap_struct *vms, +static inline void vms_clear_ptes(struct vma_munmap_struct *vms, struct ma_state *mas_detach, bool mm_wr_locked) { struct mmu_gather tlb; + if (!vms->clear_ptes) /* Nothing to do */ + return; + /* * We can free page tables without write-locking mmap_lock because VMAs * were isolated before we downgraded mmap_lock. @@ -2624,6 +2631,7 @@ static void vms_complete_pte_clear(struct vma_munmap_struct *vms, /* 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); tlb_finish_mmu(&tlb); + vms->clear_ptes = false; } /* @@ -2647,7 +2655,7 @@ static void vms_complete_munmap_vmas(struct vma_munmap_struct *vms, if (vms->unlock) mmap_write_downgrade(mm); - vms_complete_pte_clear(vms, mas_detach, !vms->unlock); + vms_clear_ptes(vms, mas_detach, !vms->unlock); /* Update high watermark before we lower total_vm */ update_hiwater_vm(mm); /* Stat accounting */ @@ -2799,6 +2807,9 @@ static int vms_gather_munmap_vmas(struct vma_munmap_struct *vms, while (vma_iter_addr(vms->vmi) > vms->start) vma_iter_prev_range(vms->vmi); + /* There are now PTEs that need to be cleared */ + vms->clear_ptes = true; + return 0; userfaultfd_error: @@ -2807,6 +2818,7 @@ static int vms_gather_munmap_vmas(struct vma_munmap_struct *vms, abort_munmap_vmas(mas_detach); start_split_failed: map_count_exceeded: + validate_mm(vms->mm); return error; } @@ -2851,8 +2863,8 @@ do_vmi_align_munmap(struct vma_iterator *vmi, struct vm_area_struct *vma, clear_tree_failed: abort_munmap_vmas(&mas_detach); -gather_failed: validate_mm(mm); +gather_failed: return error; } @@ -2940,24 +2952,19 @@ unsigned long mmap_region(struct file *file, unsigned long addr, unsigned long merge_start = addr, merge_end = end; bool writable_file_mapping = false; pgoff_t vm_pgoff; - int error; + int error = -ENOMEM; VMA_ITERATOR(vmi, mm, addr); + unsigned long nr_pages, nr_accounted; - /* Check against address space limit. */ - if (!may_expand_vm(mm, vm_flags, len >> PAGE_SHIFT)) { - unsigned long nr_pages; - - /* - * MAP_FIXED may remove pages of mappings that intersects with - * requested mapping. Account for the pages it would unmap. - */ - nr_pages = count_vma_pages_range(mm, addr, end); - - if (!may_expand_vm(mm, vm_flags, - (len >> PAGE_SHIFT) - nr_pages)) - return -ENOMEM; - } + nr_pages = count_vma_pages_range(mm, addr, end, &nr_accounted); + /* + * Check against address space limit. + * MAP_FIXED may remove pages of mappings that intersects with requested + * mapping. Account for the pages it would unmap. + */ + if (!may_expand_vm(mm, vm_flags, (len >> PAGE_SHIFT) - nr_pages)) + return -ENOMEM; if (unlikely(!can_modify_mm(mm, addr, end))) return -EPERM; @@ -2974,18 +2981,13 @@ unsigned long mmap_region(struct file *file, unsigned long addr, mas_init(&mas_detach, &mt_detach, /* addr = */ 0); /* Prepare to unmap any existing mapping in the area */ if (vms_gather_munmap_vmas(&vms, &mas_detach)) - goto gather_failed; - - /* Remove any existing mappings from the vma tree */ - if (vma_iter_clear_gfp(&vmi, addr, end, GFP_KERNEL)) - goto clear_tree_failed; + return -ENOMEM; - /* Unmap any existing mapping in the area */ - vms_complete_munmap_vmas(&vms, &mas_detach); next = vms.next; prev = vms.prev; vma = NULL; } else { + /* Minimal setup of vms */ next = vma_next(&vmi); prev = vma_prev(&vmi); if (prev) @@ -2997,8 +2999,10 @@ unsigned long mmap_region(struct file *file, unsigned long addr, */ if (accountable_mapping(file, vm_flags)) { charged = len >> PAGE_SHIFT; + charged -= nr_accounted; if (security_vm_enough_memory_mm(mm, charged)) - return -ENOMEM; + goto abort_munmap; + vms.nr_accounted = 0; vm_flags |= VM_ACCOUNT; } @@ -3047,10 +3051,8 @@ unsigned long mmap_region(struct file *file, unsigned long addr, * not unmapped, but the maps are removed from the list. */ vma = vm_area_alloc(mm); - if (!vma) { - error = -ENOMEM; + if (!vma) goto unacct_error; - } vma_iter_config(&vmi, addr, end); vma_set_range(vma, addr, end, pgoff); @@ -3059,6 +3061,8 @@ unsigned long mmap_region(struct file *file, unsigned long addr, if (file) { vma->vm_file = get_file(file); + /* call_mmap() may map PTE, so ensure there are no existing PTEs */ + vms_clear_ptes(&vms, &mas_detach, true); error = call_mmap(file, vma); if (error) goto unmap_and_free_vma; @@ -3149,6 +3153,10 @@ unsigned long mmap_region(struct file *file, unsigned long addr, expanded: perf_event_mmap(vma); + /* Unmap any existing mapping in the area */ + if (vms.nr_pages) + vms_complete_munmap_vmas(&vms, &mas_detach); + vm_stat_account(mm, vm_flags, len >> PAGE_SHIFT); if (vm_flags & VM_LOCKED) { if ((vm_flags & VM_SPECIAL) || vma_is_dax(vma) || @@ -3196,14 +3204,12 @@ unsigned long mmap_region(struct file *file, unsigned long addr, unacct_error: if (charged) vm_unacct_memory(charged); - validate_mm(mm); - return error; -clear_tree_failed: - abort_munmap_vmas(&mas_detach); -gather_failed: +abort_munmap: + if (vms.nr_pages) + abort_munmap_vmas(&mas_detach); validate_mm(mm); - return -ENOMEM; + return error; } static int __vm_munmap(unsigned long start, size_t len, bool unlock) From patchwork Wed Jul 10 19:22:44 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: 13729601 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 0D5C0C3DA41 for ; Wed, 10 Jul 2024 19:23:52 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id AF4476B00A7; Wed, 10 Jul 2024 15:23:46 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id AA38E6B00AA; Wed, 10 Jul 2024 15:23:46 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 76EEB6B00A8; Wed, 10 Jul 2024 15:23:46 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0011.hostedemail.com [216.40.44.11]) by kanga.kvack.org (Postfix) with ESMTP id 4E6BF6B00A6 for ; Wed, 10 Jul 2024 15:23:46 -0400 (EDT) Received: from smtpin30.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay03.hostedemail.com (Postfix) with ESMTP id C1D46A01B7 for ; Wed, 10 Jul 2024 19:23:45 +0000 (UTC) X-FDA: 82324817610.30.5D0E7F1 Received: from mx0a-00069f02.pphosted.com (mx0a-00069f02.pphosted.com [205.220.165.32]) by imf01.hostedemail.com (Postfix) with ESMTP id 487BA4000B for ; Wed, 10 Jul 2024 19:23:42 +0000 (UTC) Authentication-Results: imf01.hostedemail.com; dkim=pass header.d=oracle.com header.s=corp-2023-11-20 header.b=l+qDmCce; dkim=pass header.d=oracle.onmicrosoft.com header.s=selector2-oracle-onmicrosoft-com header.b=sB9ZtkIw; spf=pass (imf01.hostedemail.com: domain of liam.howlett@oracle.com designates 205.220.165.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=1720639406; a=rsa-sha256; cv=pass; b=gQiCUO/XfUTaxz9dxH55qIzRaw4JkBuD6hAWSeVuxvlAvcHSC5ZhX+76T6fFHo7vpiVbwS SomUHmtKr88aNlsSJ3w1pHVpR3ROTsFq9A7IzFU7n3W+zbMBBbIVT+eUGS6hzzH+66wpcQ jdhLmcc0qOftxb4FGJqj41fZlR+C0QE= ARC-Authentication-Results: i=2; imf01.hostedemail.com; dkim=pass header.d=oracle.com header.s=corp-2023-11-20 header.b=l+qDmCce; dkim=pass header.d=oracle.onmicrosoft.com header.s=selector2-oracle-onmicrosoft-com header.b=sB9ZtkIw; spf=pass (imf01.hostedemail.com: domain of liam.howlett@oracle.com designates 205.220.165.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=1720639406; 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=oYE9TanO+Z1FGPVLMiWPHUAAimqauAH0W6HKo0s5T20=; b=lJ6pu2fATqKiRrds2eZSzIJsyQbMaD9Jc3nKi5wvQTSjJHN4va0xvnGtzEmbipQ7NEbXOo 3KI3ySc+VyuvThyPDOynV5XFdfK0uzD/yuWtXw8aJZffkReCSRTmzU9dWGEKvFXeV9kPW1 OmIPVGM5VgMXqamYRsnSaFcnitqbGII= Received: from pps.filterd (m0333521.ppops.net [127.0.0.1]) by mx0b-00069f02.pphosted.com (8.18.1.2/8.18.1.2) with ESMTP id 46AFxAlS019275; Wed, 10 Jul 2024 19:23:34 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=oYE9TanO+Z1FGPVLMiWPHUAAimqauAH0W6HKo0s5T20=; b= l+qDmCceprSUi87Q9/Kh/pKEht2mMRgT5wsQKDIFOS1sDwyV3HLsJ3lgsAWOQtWc GmFxLpaNq8vFqxAMSSoiyy+sc4tZ1Sr3mIlh3D0u4S56mICpXPNwloKlX+0uacPM 3lyV/7g27J2VVn9kzvTA7pgWwmEKrV4n7TJvIxfvqpE45nbeacu9O36nlYHzBXRC 7AZM6U1ZJxNzq+Qcm0H6Wkkk/5wzowuGuovGRSaHBw7SCsKyTiMdXwVmYdT3EcEr TZ05Y/2q91rZvN7/F3pdhQl8nq2AlenPOJ0261KC76E8oEk1SO9fYr4AsjrCKo25 u6kuN7IBr6hBzFHgkpOhtw== Received: from iadpaimrmta01.imrmtpd1.prodappiadaev1.oraclevcn.com (iadpaimrmta01.appoci.oracle.com [130.35.100.223]) by mx0b-00069f02.pphosted.com (PPS) with ESMTPS id 406wky83qh-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Wed, 10 Jul 2024 19:23:34 +0000 (GMT) Received: from pps.filterd (iadpaimrmta01.imrmtpd1.prodappiadaev1.oraclevcn.com [127.0.0.1]) by iadpaimrmta01.imrmtpd1.prodappiadaev1.oraclevcn.com (8.17.1.19/8.17.1.19) with ESMTP id 46AInZeq030164; Wed, 10 Jul 2024 19:23:33 GMT Received: from nam10-dm6-obe.outbound.protection.outlook.com (mail-dm6nam10lp2100.outbound.protection.outlook.com [104.47.58.100]) by iadpaimrmta01.imrmtpd1.prodappiadaev1.oraclevcn.com (PPS) with ESMTPS id 409vva93av-2 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Wed, 10 Jul 2024 19:23:33 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=P7sN2DYJnQh7VxCiggWgW4vzjHq2vmP8rODTaNed5M0R4ovJ7OpyU1igh51YBAKH/abHoEShZ+nocU2eusNgtkNBYba9M+Z7+ql6AIAKrTZjze/9PBKGs43A8Y2htNzqfZoFapJyDfrOmHeahEKmxWDhFmY9mR+rjzM2671NalggMhU2n6RrxZdTL7fF+yyeoh+WKliuYPqpsGiVTZt7wYvUIeE/+lN4uQ0pIor1rTojg6spxRSOkKVzCpS7geTxwIIJ2Kq+uhBM449rnwrdazq6IvnK5Jv86CBW9411FV9/4TJ65jcs7vjyKFRC3lWOn5ngn6tWkDvTAUM8pe3UcQ== 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=oYE9TanO+Z1FGPVLMiWPHUAAimqauAH0W6HKo0s5T20=; b=ZF6tzsenl9PqTk5tsmkzhaV9F11DlapfswD/otebgTa2T6qFBPa33cQGKvfdcnxazYyv0+pb2S8molj1/KJpvOFHYL8bchSKJPAtudbLUVDjPvB2clSHUvX1kOU5rWc/LbZLfj3KVN+LTtI1Gz18UfpeeYnEPVamUO/B7cFE1UbrDz2+vaK9VK6X/TG7VfP4OF1w9dl+hPKlW/TCzTJv2S2MC18lUMf1xdpDX/gXdJsCbnrOVsV7nO3MsI69sjGnkTRF/iKzVTCW/zKd9U8zS3/WiCKU8UtAxnFjG41j7rEDlsDj6DLwsI3fQKjGE4GcrWtcQvW3yol928rfpAjRTw== 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=oYE9TanO+Z1FGPVLMiWPHUAAimqauAH0W6HKo0s5T20=; b=sB9ZtkIw9iVDi9FdJAep7oqUdd6Am4jTeJZ9Qpwj2gfw4EnDtjIhtE5PccXXs/J+bCrdJpcuXjRkftnBI7SfeU0kxtyU3wG8UMp16oEG/1h+6wnNvJO73LDytjDCrko8HNsGBlQusEz+uOrJKvN5n+96aqDPz/6+bzoERg701ng= Received: from DS0PR10MB7933.namprd10.prod.outlook.com (2603:10b6:8:1b8::15) by PH7PR10MB6106.namprd10.prod.outlook.com (2603:10b6:510:1fa::7) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7741.35; Wed, 10 Jul 2024 19:23:29 +0000 Received: from DS0PR10MB7933.namprd10.prod.outlook.com ([fe80::2561:85b0:ae8f:9490]) by DS0PR10MB7933.namprd10.prod.outlook.com ([fe80::2561:85b0:ae8f:9490%3]) with mapi id 15.20.7741.033; Wed, 10 Jul 2024 19:23:29 +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" , Lorenzo Stoakes Subject: [PATCH v4 15/21] mm/mmap: Use PHYS_PFN in mmap_region() Date: Wed, 10 Jul 2024 15:22:44 -0400 Message-ID: <20240710192250.4114783-16-Liam.Howlett@oracle.com> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20240710192250.4114783-1-Liam.Howlett@oracle.com> References: <20240710192250.4114783-1-Liam.Howlett@oracle.com> X-ClientProxiedBy: YT4PR01CA0269.CANPRD01.PROD.OUTLOOK.COM (2603:10b6:b01:109::25) To DS0PR10MB7933.namprd10.prod.outlook.com (2603:10b6:8:1b8::15) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: DS0PR10MB7933:EE_|PH7PR10MB6106:EE_ X-MS-Office365-Filtering-Correlation-Id: a51f58a8-47e0-4473-b088-08dca115c794 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: ZYZbgz03HUd0sHjA1zcXJymq1DhZlH6Ng2h0ZV0M/F85blNuNgJYYVzAVFozVvvofjK5xJS4Vp8Bpn2rKIs+aIItGd/oNifEDWbfVbsg1LsaeJ6TJos5kRvE8cTjCZN5N3rFMUOqV/6cmwiZI85fhityirLZZS+KGkuDjIrd1znGTk73rwPtpDUSfz9t7xFVgSzE93Dj8TXTg849jPombdpAUNKtPa/m+VPPPhbtB9Poa69ohcwjG9f5OvZ6Q6zhidt11vGDTYJkOupjXU0VZt8/p4mIhXyovPACkItN9GnXFuDrSQEGs9iU4JcycV+Wtne+A3ICOR99uY6UMrk5JRdvn3oGunPd/VnVKaXESvB/hPaz+Gcfy8T2nj6I2EuhpNwBPUAAbST6GLcWcP26DEkvnrDvSzhdBWDqpsYzoOLn1MtHE4cEYDbnNRJSsSNQMK28+DsHRFYDvcnfAda4kGWbVYFM3EPUYNqAfXCbWr8sWDVDY806d0NVrZPTqpxu9Fid+rO3bHUDtx151p3mUR6oWVlBetlB964QjJFYrzTz9cBQswOnGOy03Jk+88Phbd23Fxu5jr1i9ECv1PLOXp5oLtLBzLsUpUmi/C/b5qsigsdlKCrNB2qSBEdUZxrsf1OKAVF+XiHdRK0VkDgn26o8q4oHIOT2A/qQ1oFzMKcaPhMwpJAeWWsGwoyvIo1Qe97LU5M86meUlZMwWdhWo9fHe5ukNv8UnBzDAM8yTVaobbiyTxsigHwNsw2trNvDasTXHNYWcTiCi4SdTGavnPZv4CjnIRVR3FNrOLtvFYqg3Wbfvd7xCxPGDrgb03GzKEQPILDtVRomw08WC2hJddDN8PE6o65ErQ9dJRoohjg8nDKgPI0Gn9EHeMAwlrQe3y1jIk/X6VQUE4YM0s0nVhT+8GVOrdZOTlyabQySKy9AJYkqhIsSYJV3D3gN2p2u7j9WgvNUbdCJGljiHaN2UJ3pZATL5BYEa+Ako1aY8lVShvHAZvH8faWjFEsV0t8520tbdfDppx4BfhzAaiBEKaRa+AS/4E/C4JeyZETWy7gAsNZ31EVRhhV33Kj34pPWWXFyRbCXwsRlCZ+H6IfAZXmyEutVi7Sr1DFXodd4m9ETFg4tVRwGp1XvxfUT/Pudzhkapv+RaKJlqtDAMrKqD2u7uvOvfhjaWP063C4Mf9xDR+iveXqvmsuHYgDDfeO+FKpedFiurfqsZXprtFZf5vBmlUSZ2smksyWyEWVLBGBbM3SRBzhRSDf91so9kHf96RzrlOZtuJLckejhfLgiSR7CBqTqslYUG98acLmCUQIYJFBkgz4SH+wWxJvIqlYujAu/IcfU8JD1UZhjgIL48w== 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: wYt0GiCFsG1fDERsaICPUfd1WffZ5jnJRXachH8ENxBjlzaVDGOOyBsv+r81qFAT+Oxbx4LzypgdefC3YgkEiBqbADW3AOlDDytTq1DuQ/dsq5kPeaWJnedR/1WMopCBbBgdmpr/+/7VAUnRNZrRDNpH2XZjVz6jZrNtL/geKXfJLz+3QCTnmBMK337tg6Z9FUNZvP2Ioh1wc/AR5EnnJW7Ga+A/Pwsnv02YQdq/zEct4lLto7sqrXoaAuyvfR4OjFBVuUft3jmlOXG2Jj2GJ8Gw3jICebP022E//7e9TgKiSCNkw2uac/uzsoq6IGqMj4AXbRexK/Peir/O76oNVKLt4htYLB9KvdTBjOsw/KHUANCN18SARozYJXy1aBf6siq/79hqL207ZFUchVSmiPsvOQsEHoXVM8F7mKiET/IwRYtM/zVd3dTVvs5UAC/hvSgvcYfJc5pqDkyEUduhzrjwtHPc5SI7q/jNK/FpJ7vD741XSE+9DjpF5/wsO4i/dsPjKFbWpD232VPH4Zww0CLMg3vLft7YKdkKGLSXKdQvvKDx23DJBadRnLXeoP1GfPS2UoXhciLg+rfKAVMsH4k7dw9daIQgZu4IZaeIAY0DQ4Ky5ACzNvwjDXYT+CvtuCGrm60dT4RvRTNV3wmNL3bG+xgjguAmuceUSL4zP9BWPTe8IwyBE2e4ajeZ3ihbhVUSLMX45WqvpZ0ikHDmli7cs6tkleh9gox8nd91JzYpuqaB82do9xTyGEYC1gm63EtilfaiwVkIrsVCtTGxEiT+OmP2ZwruNvwLH3kVfYAE4K6rTTv4cWNJ5ozyHSMuYkk94BR7GXi5yAFJYEhU5VOq/AujPlUvB+u30pe1NrRykYi6snKVp8VRt8WLt/X5WToKh+v1VDE+TegvMt6fZRe6KhEjYVo51pBB0rhix/oomzGODma8lDD8gV8fQSXIxckHXApLuVbMaPuV1mQe6/8eQMTtaxzqpvr9U7lFzrRp/n4XCwqk/cOrzVR1FmRpnl99kLwVgRCZ/5GiQGRa2CbZkgEBbACUr8lqJrXZ/yOReXF58hsOheJCsRk9x6Ony9G/GOqol1Rr52PJfbmgZAl1RzU/5CMnCRT5qU0DMUdWlmCw9NnJ+prrRJ7+9vTDFa0u8A14ZbqwysUE0JTSXAp81GHAbmydQRLrf8mfP0ZSMMGR2oa6tIqetjAccql5cDfWarnnhBcnLJCHT2O20A6BPSVEw/78lvNP2AGciMi9/rWGGMjOrzwlEOjpFliSPzqIRlNtWfVQ2nov7wqcnydd2Gv4BIQvu0nfdFzAS0M81gDIwGMWS0Rme75e4wMmLnNXoXUQ73t3G8nJdi8oGh0pzsRwFnqiuWFtyaL9+6wmXZJcr7sUKXxy4od1ETg5LD9rP9iA3CRKNrS9jt8TGV7dPbjODimdpGMHCi2cOq7o7R+FeAOCTvW1x9Of2gGXO9GUp7ojbcXzQ5rmuo5SxlppU+qehuBTlWk0TuO0FcUn4QMOPUB4dDu6AODV3X/dPNOJmGmgd5jK8BeT2YLBFGMxvVPYkxBLQ/r56ZZG9sCpBhf7MjiJ978+4lJWPSwYV/0aafeD5kas8uF7vLeAoA== X-MS-Exchange-AntiSpam-ExternalHop-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-ExternalHop-MessageData-0: rOq08Q0yyFzaIwG8r4Q2XnqRLB0el3gse2/loHOC2ZgDjAntFuYnCFH7tIDfqfTGAMLLJQ04fcoGO3O2WrcS4fNOPWW/Hny+ViJFXc7g/UvhAJ41Zp2u29QkWEGPLVHQ2wkehpEicd8zOwqGjxhRYbspCLrIhO5RZZCYETostgDSUsMBouo7qMs5Z/SHow6qDv+YRBm+5dfiW5kpj0GBogvYIkCLmzFWSenNzaTcuELvaIg2DS4ast9+TvvtcTHZOEjnWuzrGHCO7vp8gwqlabzK50iOODOY1UoIGbwWeK0yMcWrSfVzwu/8mdU2QhvYn2nnNLpySbByhKo8CHjk4cw+ueY7Ptc8z+48yWq7J9nN7UwuIGQ3c5Ht/3lNpEm3wrOaxZOtsg26Kw9SkCu9/24KrYNnQTIjOkbL6LMMvv/QyLLkeZQsnC9tFz/qE+gw/WsdFfKetpLPa7CdSvkYAqM30KuME9qJfZHCQgtnxEdrHrlmer1saigJtgCUmOk0c/1FPtZ1xZtEk/am/4ZNXjBzaclqL2t9/nsPj3YKEvYrT21Wmmjbo8J2T1wryIZ71j0jBYyt/99kXiKgfUnsZijyMV+jzHmSB0tyCXYqr3A= X-OriginatorOrg: oracle.com X-MS-Exchange-CrossTenant-Network-Message-Id: a51f58a8-47e0-4473-b088-08dca115c794 X-MS-Exchange-CrossTenant-AuthSource: DS0PR10MB7933.namprd10.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 10 Jul 2024 19:23:29.5336 (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: 2AF4g3L344/3c6xCUp8OyjAiLvu6ft7ex7M5L6BNgmGCV9QEz+Y08SHhQKFZmoJsZNt0pLe+ZOPqbq1f9g2dLQ== X-MS-Exchange-Transport-CrossTenantHeadersStamped: PH7PR10MB6106 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-10_14,2024-07-10_01,2024-05-17_01 X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 bulkscore=0 mlxlogscore=999 mlxscore=0 spamscore=0 phishscore=0 adultscore=0 malwarescore=0 suspectscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2406180000 definitions=main-2407100137 X-Proofpoint-ORIG-GUID: nUJcXoE4jcUrxdA1aSpuiFGVDgbGJoax X-Proofpoint-GUID: nUJcXoE4jcUrxdA1aSpuiFGVDgbGJoax X-Stat-Signature: kod3fkcrac5tgdauujoyiwz7rig4gmza X-Rspamd-Queue-Id: 487BA4000B X-Rspam-User: X-Rspamd-Server: rspam10 X-HE-Tag: 1720639422-27150 X-HE-Meta: U2FsdGVkX18zKbs4Xvrn7knZbXw6Yzr6vd5qRfN2CcyxZBItscM1mYnMa0TvCHw1Na5b25ZeHTejwURpEy5pzstHy8gpNyPXjwGyj7vUQiOKvs5SsSUib3g5h0qUOfF2yh84ys29SCwv/oXKZAvB1v0lZOTAltx7ljzXfO0Re88fEc78GG4PGRNGVJ1G0aZyl1ACBIKx/lgEa943vDset0cEZNF/TuwEMD+PDCfUNGbRvAeeL1c8duwfVMODvfakmXb/IP7xj5zdTETRuOB7LCpkttggZcPlq+GEAYO+viv9vXGWEDNYZ4/tA1sf8u5PQMg7HhfLT6g8S1rp760nMIR/iHtFJL1cYs2xc3w8UACiA+y9DWJocv61l64J9IhB6PLQc0f3zlhCYEEslfCpGG5DaA02gQ8/nFMn/Bs4eZyQBKIFeH0zfYxXwJ0dXv445tSgsVtC1L8ObNT4EPgdBqve8NLN0u4qQbHGTvvXkAQC7VYtzUsor6fR7/Ugpn0lguTcU3TB0raSamdGGSo1TKgUFiOw8s9uIjb9u+Ri0s6OvI3UmalkHb1fRIGKS+9Odrl8Zh7r55YSXIeDXK2pUQbZ1Qx8yL2wjXbFFqlufmIWxCgSRra62KPTTDIHcaL5hm0sxxM7pi2nqb42P+/CLHV5ZbUkgwgzyJSZ+/YluGe7OwuTLFAB2gSd5dKkXLANZOlSqN6iPM4SkAtdbuvCivOHnfvGzZO49Tuzrxha5IH/kvaWxh1wtr88fJGRfxDKT/TiTAyp4SC2DA/l+x33lxr1FLU8lHp7zaDmbyXm/IzTBAymixMkSbnF66VXUqXh3RtO/ffko0One85VzuMmJ6H3ISRLt6JLGMIRlqcLyHy/vyL/YWRAq5fSs0qequCe00aJo3taDijodxLyHzFfUKwAZKYO0M+jK7PcecT+Jz/sH+2VK6jfGYgV40SStMa33+ZrxgX7ouNmEtMGmYN 3s9sxEgI bMPahhpFicRNKDtAQU5csWHTkCJkmWFOr/fMOJwqk7qfNQOM/RgkJQcBn1PCcMG5VTUiP2zbTj5zz2t3cG1S7kdfGO5pm8CsqE7A+XKReIRmGX2lLIecXoOs0cV1FEN2SLfRp0d9JO6j1zNQvgylFUzO66r2JT+0Bd6OfewWZCugfHmD9K3ycV+ugTsPPyyrI/tZeq6z+MQ0h0CiDKCEBIm8lXNFYu1iP1+a37l12RoDhn4qJAknTq+UF7LFKSiANOKovTXyZbja43IlN3GD5KSisUomZRTx3Aai1eV63lyePNroJ/HU+nHc148kUgK7BWvocIqFuzLGI30K28fEVaS8OD52q1Pu7KYCSSw+8nCZw6uZ6jHgI5Eizzk+2b0UNlq94CmH5vhX/zlznWUR0g0+IE2LmhG4E6QUc4e7j1t+3VM+BS2po00P92R3/2OugyZnP3mN61edyHnS8kRbg+WhT1wTuPSRV7vOKYLKWgEAiqHA= 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" Instead of shifting the length by PAGE_SIZE, use PHYS_PFN. Also use the existing local variable everywhere instead of some of the time. Signed-off-by: Liam R. Howlett Reviewed-by: Lorenzo Stoakes Reviewed-by: Suren Baghdasaryan --- mm/mmap.c | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/mm/mmap.c b/mm/mmap.c index 58cf42e22bfe..e13f032fa69e 100644 --- a/mm/mmap.c +++ b/mm/mmap.c @@ -2943,7 +2943,7 @@ unsigned long mmap_region(struct file *file, unsigned long addr, struct mm_struct *mm = current->mm; struct vm_area_struct *vma = NULL; struct vm_area_struct *next, *prev, *merge; - pgoff_t pglen = len >> PAGE_SHIFT; + pgoff_t pglen = PHYS_PFN(len); unsigned long charged = 0; struct vma_munmap_struct vms; struct ma_state mas_detach; @@ -2963,7 +2963,7 @@ unsigned long mmap_region(struct file *file, unsigned long addr, * MAP_FIXED may remove pages of mappings that intersects with requested * mapping. Account for the pages it would unmap. */ - if (!may_expand_vm(mm, vm_flags, (len >> PAGE_SHIFT) - nr_pages)) + if (!may_expand_vm(mm, vm_flags, pglen - nr_pages)) return -ENOMEM; if (unlikely(!can_modify_mm(mm, addr, end))) @@ -2998,7 +2998,7 @@ unsigned long mmap_region(struct file *file, unsigned long addr, * Private writable mapping: check memory availability */ if (accountable_mapping(file, vm_flags)) { - charged = len >> PAGE_SHIFT; + charged = pglen; charged -= nr_accounted; if (security_vm_enough_memory_mm(mm, charged)) goto abort_munmap; @@ -3157,14 +3157,14 @@ unsigned long mmap_region(struct file *file, unsigned long addr, if (vms.nr_pages) vms_complete_munmap_vmas(&vms, &mas_detach); - vm_stat_account(mm, vm_flags, len >> PAGE_SHIFT); + vm_stat_account(mm, vm_flags, pglen); if (vm_flags & VM_LOCKED) { if ((vm_flags & VM_SPECIAL) || vma_is_dax(vma) || is_vm_hugetlb_page(vma) || vma == get_gate_vma(current->mm)) vm_flags_clear(vma, VM_LOCKED_MASK); else - mm->locked_vm += (len >> PAGE_SHIFT); + mm->locked_vm += pglen; } if (file) From patchwork Wed Jul 10 19:22:45 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: 13729603 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 0D0CBC3DA41 for ; Wed, 10 Jul 2024 19:23:58 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 638DF6B00AC; Wed, 10 Jul 2024 15:23:47 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 5E7626B00A9; Wed, 10 Jul 2024 15:23:47 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 39FB86B00AB; Wed, 10 Jul 2024 15:23:47 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0010.hostedemail.com [216.40.44.10]) by kanga.kvack.org (Postfix) with ESMTP id 0CE126B00A8 for ; Wed, 10 Jul 2024 15:23:47 -0400 (EDT) Received: from smtpin12.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay04.hostedemail.com (Postfix) with ESMTP id B8D521A01E1 for ; Wed, 10 Jul 2024 19:23:46 +0000 (UTC) X-FDA: 82324817652.12.40FBA9A Received: from mx0a-00069f02.pphosted.com (mx0a-00069f02.pphosted.com [205.220.165.32]) by imf16.hostedemail.com (Postfix) with ESMTP id 6B41F18000E for ; Wed, 10 Jul 2024 19:23:43 +0000 (UTC) Authentication-Results: imf16.hostedemail.com; dkim=pass header.d=oracle.com header.s=corp-2023-11-20 header.b=mYnAFHUx; dkim=pass header.d=oracle.onmicrosoft.com header.s=selector2-oracle-onmicrosoft-com header.b=T3v2a1ic; spf=pass (imf16.hostedemail.com: domain of liam.howlett@oracle.com designates 205.220.165.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=1720639398; 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=CVCfL5gmp1gv9bRyInG7BLU6ZsYmKEMst6LlVCnlESE=; b=AaJxIxtYUC+ODY4LrLlOedPGHYHsj5oxX/Vh7SqnMhWwqagvHmg/Os/liVlVgMDr7OBBQ4 J8t9BGvixkqp8f9HE79jQ8GQjXL4RdazIYpQ8iDUWKimThjDx6kTXnVvOnU2BC2ieGv5cM jIJyphnwXgJdvVjW7yL7zCE6gBEmjgw= ARC-Authentication-Results: i=2; imf16.hostedemail.com; dkim=pass header.d=oracle.com header.s=corp-2023-11-20 header.b=mYnAFHUx; dkim=pass header.d=oracle.onmicrosoft.com header.s=selector2-oracle-onmicrosoft-com header.b=T3v2a1ic; spf=pass (imf16.hostedemail.com: domain of liam.howlett@oracle.com designates 205.220.165.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=1720639398; a=rsa-sha256; cv=pass; b=N9R/yTEL2JwBuia8hUoZJf01eaISyyMOWTqdxApu5/Jbwz8WV1bRbUXNUtbvJCEDiVZWAn 72j//0FObMJLKFgi9g443KUa28wXF1S9ohRhuIleitV7i6B5jdHXQ/flIKQqLF2/jApvlx FUOlH2f+XMYCwLUmMTt+YP5Dr6RNdqU= 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 46AFu887003975; Wed, 10 Jul 2024 19:23:35 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=CVCfL5gmp1gv9bRyInG7BLU6ZsYmKEMst6LlVCnlESE=; b= mYnAFHUx0rfrEfIVUXMEqY9aryw/PgVRYQHpuTErDtZ4o4V/u4XSJP3SlrD//mUo sTm2JiCm8chRU98Tz3fichWrEHROHSzHkX9gpra2vknC4Se8c92zHJPS3mhRreC/ QrHgN5CGftzWuXVEoZrqpZX4j1t47A8Hyp/hE5R152UxHGHoU2aZHb67VdwI1uK/ RGiL91PFpXvNgl+E0oXS7ViDWme7jlDL6R/v7FOWBc1awe6olCO8/FYKMtYOvdeU GSYnae6JmLyUHqzjgeaD/3/9BoVMz4PMgIc1FD6PTwifHYCt+Rrh1KDFupxCLd54 /WvxzMn+2JYwTpHoeFjo/g== Received: from iadpaimrmta01.imrmtpd1.prodappiadaev1.oraclevcn.com (iadpaimrmta01.appoci.oracle.com [130.35.100.223]) by mx0b-00069f02.pphosted.com (PPS) with ESMTPS id 406xfsr24h-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Wed, 10 Jul 2024 19:23:35 +0000 (GMT) Received: from pps.filterd (iadpaimrmta01.imrmtpd1.prodappiadaev1.oraclevcn.com [127.0.0.1]) by iadpaimrmta01.imrmtpd1.prodappiadaev1.oraclevcn.com (8.17.1.19/8.17.1.19) with ESMTP id 46AInZer030164; Wed, 10 Jul 2024 19:23:34 GMT Received: from nam10-dm6-obe.outbound.protection.outlook.com (mail-dm6nam10lp2100.outbound.protection.outlook.com [104.47.58.100]) by iadpaimrmta01.imrmtpd1.prodappiadaev1.oraclevcn.com (PPS) with ESMTPS id 409vva93av-3 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Wed, 10 Jul 2024 19:23:33 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=hwBqTZn+m5qnhTVD/dBDI5HXMnai3rnYoyYEEoLpjbH5fuxyymFCb8r6pxAkSrVRuUB2lJW4IujuxE0WtlNsmbiHGAU2meizbcMUFFYtQ5jtCS5CXKf3lSHQJoP4qkIgi0IEwZcJy++4AQVP83WpG05aSmkZ3hJe4ZRelA6iYBAo1oBmWT7U9Wf428XEwT3X0+ONOr9yBdgxumccWBwqS+yUEXf7Hwif24KLPeQJlCEeST0d3C3FLFROAN7m7geloVlbWMH5Nbow3W171lUCbBVlR2TtCXMkDVEVbrr7P82sjB5x31fC77WhFpqy0rhNJPyzfbb4KXJzifufbcEeHA== 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=CVCfL5gmp1gv9bRyInG7BLU6ZsYmKEMst6LlVCnlESE=; b=ijcvWHVas7ocI5kuAn1ZKY1CrHpJwzS6XpBmeteHvs80bW/88EtYV0NSgrmP1F+2ZbParOQd5YzYsilhIGXP0Sq5p/aRLzfEm2yh8Mlhyz3sLsab+V/gS7inMW8VX99H8f55fZj66ZpjnZBlRLd4Lr4FxAVFqPsrAGxUUVBa1xjbG0Lc84cQmd8MtQOcuoCjndhg6gGfupdABWfmMCU+P8PIhcyg0kmNRVt7OnjfHX171gw0r+aJy40TvAG4U35gkGWPZQFYL2vowwZ4DgfEChW5MiRKxV2XcgCh0j8ikau839MO8ZIvef4UM/WeeMcPjfBJsYdN9Cu9tS24YkfB1A== 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=CVCfL5gmp1gv9bRyInG7BLU6ZsYmKEMst6LlVCnlESE=; b=T3v2a1icJ7KLzBTByrsC/YDeOxr5B/mO67+VQQ8LFK18aod8MFiMjZebzSV8MCk2Lpo0e5IDJ4+YznYI0/+95eAeVx4oOKWp+8J8DC8EwkQD+uBpBu4S0BsbypCguwEVUAErZTpsNIbQpjY/kDNH6I/sdNj+rrPbV0YxVcQeb2A= Received: from DS0PR10MB7933.namprd10.prod.outlook.com (2603:10b6:8:1b8::15) by PH7PR10MB6106.namprd10.prod.outlook.com (2603:10b6:510:1fa::7) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7741.35; Wed, 10 Jul 2024 19:23:31 +0000 Received: from DS0PR10MB7933.namprd10.prod.outlook.com ([fe80::2561:85b0:ae8f:9490]) by DS0PR10MB7933.namprd10.prod.outlook.com ([fe80::2561:85b0:ae8f:9490%3]) with mapi id 15.20.7741.033; Wed, 10 Jul 2024 19:23:31 +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" , linux-security-module@vger.kernel.org, Lorenzo Stoakes Subject: [PATCH v4 16/21] mm/mmap: Use vms accounted pages in mmap_region() Date: Wed, 10 Jul 2024 15:22:45 -0400 Message-ID: <20240710192250.4114783-17-Liam.Howlett@oracle.com> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20240710192250.4114783-1-Liam.Howlett@oracle.com> References: <20240710192250.4114783-1-Liam.Howlett@oracle.com> X-ClientProxiedBy: YT3PR01CA0011.CANPRD01.PROD.OUTLOOK.COM (2603:10b6:b01:86::30) To DS0PR10MB7933.namprd10.prod.outlook.com (2603:10b6:8:1b8::15) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: DS0PR10MB7933:EE_|PH7PR10MB6106:EE_ X-MS-Office365-Filtering-Correlation-Id: 3d6a71df-74cc-42a1-08bd-08dca115c8c9 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: ZUkoAsnTo6Ct97bBG1RuJUZ9NPWUtnsApVKZnjv+/g1Ot7TJyB1/eu4yOY974ESYwmlKcrzk3T5uvXMv+tqHfgBVK2/5RaccWOgzzSY603qqazLKNPysktY7cjKZf5mRug7he9TpWyZSB3odqi4Uk9xfvtEn3fdUwF+fi7p1oSy2POChqVVD6Y73kVpwY+vouFR3/uxjkvO1i8n3zVban/4Mrutw1/IiFvAR1iiHkUd3vST//sq6kr/w/d2CB3NBqH8ABTe4nBOS2MIUSBC8LUlpDrot5+83rfTu4lvgvzS5b1FDJ0n8uohpWnBcq5uR6Ywj0qXHg12IhD/wcX9M5+O5V3Uqoy2G9Pmskws+bCtwgj626rzWJ5MzVnuN3J0wL214uSq4/mgBvgqwPWa9haPz99q9kUWO2LgOjpZmErOJk/6Vueac97RJMTHo1+g1omvsQ11XpxbQSoPDf7tvvdwswn7qBw3EzlXhiYCLmAU1bVcWB53Q5A+eygv9amzAJIp5eZBspWFbMsTUSPVTmObPFjBQX6sFd6ZUM+sUAmE8mQ6bOlDtIu2SlL8SwHMkNtJ9Fy+BoJEAOsWzMRfT7l9fkgtgY7ZaFGnbm8cXLmgxwUsMTw1tWU73S7MjaIbovehNgkKGRxD7tcipkVww3sxKR+LsUleciR+cfS1r2WfbIjkTFkmmqWy841HqKf/yWNakNAPOVhYnGaT/kdjhvDt/gayXR3ULUZ7t9FQzE7YsSXlVIQhNzjvTACB5B61c5mMQVCyVliLcHGeHeBuvednRP2OdWWK+EGFdwXlYNcVjP2zYtWdwFQH+Tm85hp0scH2NPnddb0r/+oxEgk6lm93EY2TEWG9JPzNJo8wKiR51CX+0JlFlU/ATJNzpBqzzfNTq+1rAoOPS+gBZ9/odeDhlB3LfZ2/MRhLUC1bV1OpbeivSsct0K+sJpkVsO5/jv013SW/oKOkfD8j1CREBI0h5CMdSrzhLWwdBF1Xxu9wrZH5wMLBDPL07yLvNnXmxn1vlSJ4H4+ScRgABEk1jtjOOBBD3AA5a8H7HVa4OWjPGQtWfJGYnQgZ+otWKjcSiDqFxNhHr4UuQinayBT0c3DSDmEenLn564AlUuAm9ro9SzlruH3gHqwt5KTN/nlCa+8CVNQS69lOZ0jzgZKO1gWdbUCrfGS5G0JZ8YwqIo8iIB/LSsOyeiyJGs90sVkXKKGvdx1I0yuzbi2pqohfRHkoAG40Reb3l4yLrBiQVOk8gJhuTlZW2Eucp7lys3bwTlanPbsSip7RnypeP+16VVTJetKBw0pXNKG43+EKOdItUWw7MjNXenI6WSo07XJehtCffb6S9o+VQRGjBVLyWWQ== 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: 15IOkixtVaHnCkrzOGKmIuDfFEXj9u1Ub3fJQ30OE8uYxXJg2HyvCPwoSFueBk45PMlBtaUYLsv9/hhSwI/aLiGLGUgCpH59m8eFgF0uGqE+dp+0mXSJ8WbImslvDXox/mijYhQZ0sgrLNTzWs/eejw6E/TUoGXR2lv5BAPkxuUkPJldYRVIWAMeXQaUynRt9asP3HK6eXN078bUehA63OJ25hLrj5HwDpXIbv/FNPxCUs2BgGEx6iSLhtD//0z/2HSasChqyB7BHOxN/Vmfg9wlo9N7l4GJ8UNs1vThEJaqqJ4N665RknQd1l1ZNavY8MkQwhqrEaMYQnt6ZQTcVqQzaoimqGMLCppeyazYPMlJzOdHUSHkODTd0PySKoQPZjON541xGrrUbbrXGZ3qksiUDR0tTX4vTyHWdakMSqQauc2kH+aiRcgBnDs2jIO7cHf+gfKv7cp4FxLIz9OGGeWGGmZvk/CIatrqcjfPBgNjJpRsPlVDi13rehH3b4MTOMRY+HFZfhSvwu3BvJY3euTlXgrGYfaSIduYKMLCu1+tY8hJ+espHBklIzz7foHuD+Vh+vQVo3jUl3TTRR/cfLpLY7Q7tdmBottHBACabsHe/msvW46qDXPAiNgDvbWFYvePtXxwlQ554xMgAo7jeKmZEHy5Z9wMJK9jhjLkvRh2Rd5aj3T+icucgBQkf9sOHVGuHQyHjkvbnkrUfV2pFblAWdgzKMQZEGpLTd22M0GY5YFp9m7v3GRYUkId0JRemQHzl/jrZBXgs8H28/IIrbJZsmZexLdunKvKwbpT45I93kKt3G/qEIYiCyih2I7BEGspO65R5CyBO7OhLAbdSRSxIGnxHDjLoT7130J2Pb2Cc2BG7VtIZ/a3XXM/IbsPQf/22ZWgBAKoA1hAgVZyXqdORD8xv6pnuhCzMG8/3zX6q81O8CwFRP9tZO59vWTuhAZLaVcMy6jxlfOC95eXuhT6qzkLf0ZqpV47yPLZmo18D8ZDmRZYLYQg3VqbKHGRTwtY+uEjGbsqnhkpGILtqfQpjjDDHqUjKPt1vaeLqScJ+9E3afD3OhUIB54E0vvi/7aWhitBQ9o7XXR7q06q2JaWul+5i3Z8/LibCwGgD9PsFjBramaDvkk1StZBB/izR7bI4nudayjNwqbrw6PoKIZredHjDmlQbCoa2ComGKM/5o55/CcVnFpS9WPPgt6ZgjWG07X9LbGTZsGha4hXkOcuSaaWqD5n8y3vMzOucuFnUCu3ywXHf2cKhXUvo8JagdOqipjXULSjvaRSWYR2A4kXyFz/WQTqH2BTl9w8tlDpdOsWiqvTp7nYfFs/W+zBMWiL41Q3PKcTC+sJejcH8lVjHuVXNK5WrRw8Ul3C28lQVPnd7wWCTwq6reNMjY7ye1OoXxDFGDkTt120ZSSGfC/DqoFPGeZ9jL+4/FcjQMambhIgaVgYsVfMcaPL2qgX+ytN+vo29Mgj7JrtKp1fcoHiKBvHzT3qNGGsXL8QEfy1AHKq+/+jwfAWqlcEa4nnn78XhR/ObH3I0iljzQRH0s7hm3SN6THs30hcQyjWRrSYbmnly3YCWC/HIAr4ip3cdV3rvPpErxM6yVlCYeGHMA== X-MS-Exchange-AntiSpam-ExternalHop-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-ExternalHop-MessageData-0: KeMuWjhPsGyQmZhg8eCvQ+pJbrPMWlfGC3eXo/+lavIaFQajGPGOVZO6c2BBu/sil6KDwnE6Yv+Kakkm3vGavuFVBlgWEbrF8AFgVtjo3DS1YqtqLI22ezONYMjVwrfifOb+Eez8DiRnU4WJ80TBFXkGRliHJea5yvBK+CHo0NmKDvKKIakh/SnkHZf1VLiPKKmk+H6p4caf6xRMy/iMSeYTG3RUjl7yH8ZvQLdoo+hpr7lQIPLd1CTCMDbnZaUCLaYPvG/jKnW+P4fU+6/IzVwEUD7qpwcnnagIuMgfcm1SvSs69JlA/wSCjeE4IpmH9/ehBIFvWfZcLOn5Ldp43Qy+kU1KxN6KMpzbN5Vuybtw9gBHUc0gJ9zRCmg8IoXLzCN5fvz3WqSekl43DAH3WTwUsXOTHKzXBp8+E6Sqsy3yBFv8OCZZxBcnHXhbMDI+BnGe3wiPAnZAJdoDd58I00RnibPbVa8BbepifsDMPzCJENhEKU+hTuD7bW8ZbUDeVjn71LFoBUhzPxa30aIzUxDKI+OgavcyQ/lDUwn7AGNJv6rsG+WlaM5IEoKZJ0eCH+8qEOBH14SDwJMFW4UDf456bcI87oJofZ25PEDj7TY= X-OriginatorOrg: oracle.com X-MS-Exchange-CrossTenant-Network-Message-Id: 3d6a71df-74cc-42a1-08bd-08dca115c8c9 X-MS-Exchange-CrossTenant-AuthSource: DS0PR10MB7933.namprd10.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 10 Jul 2024 19:23:31.5548 (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: t7R/XsiT7fn0RzkZZwg76yq65gUYLQ45ZQxlpmVhNAFQUk1P1KKV8ViNgnxgCjeVQ57VWGa9EC2U7S3fyPC8Yw== X-MS-Exchange-Transport-CrossTenantHeadersStamped: PH7PR10MB6106 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-10_14,2024-07-10_01,2024-05-17_01 X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 bulkscore=0 mlxlogscore=999 mlxscore=0 spamscore=0 phishscore=0 adultscore=0 malwarescore=0 suspectscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2406180000 definitions=main-2407100137 X-Proofpoint-ORIG-GUID: i7stoI1RQm3SiOycTbMtD3-1duiN5VZd X-Proofpoint-GUID: i7stoI1RQm3SiOycTbMtD3-1duiN5VZd X-Stat-Signature: uzro1zthh9m1e97yiearuiat355wypxq X-Rspam-User: X-Rspamd-Queue-Id: 6B41F18000E X-Rspamd-Server: rspam02 X-HE-Tag: 1720639423-792780 X-HE-Meta: U2FsdGVkX18DIcLdii5ZgBd3khg6ZaoGyeu0HGlPetP/jIs5HMayDGVa8QV237nnN2u/FgxIFjxINzMjaQTHchHD2ZV7xlC76EqBnMGH44K4vldQWOGyd4DbZTVD4MX4dtXHopmT7DMRXjF3KQvzDj+SL3iMSsJYxeG0MkvxtQVWKMRKtmju+bEqAPGv7p/4FE8HaeCTAT2uBQEFVtcHPbxJDzw269fG/g0SqTkL1uBtHCbqNhFu3unoiwx8AU4cBEeWOBNYFYQeJ7m4LRypxap0bC141DwBINsvvxWdT6T2bdRtgQ2VTGInhcqUo691PcTDtkTlSXXwwHH1hsoXQTTKz//Wyk4JroZtzkmy0ftbbtZzoPS/HMpAkcRSA0Fiwi6qptkN6T/NGalGCDS9l2AeenpaU+l0GgvyuStCEkKT/Qdle2fL8E0frcaksSmERr4bpg3vaf/dGdXUTGyrOSDzj/4+oA0Zwth3x7rFSdZ7Q/hEXuSDgMpcmpkltPHy3iaQfe69KpyNdFJ/nCYsJLU2i/CueX6nsRzIfQEsOmq57BWnJ+DBJexMdvkjLzqciHMjvunW/wfBeZ+7pKhpfo+cpSCz7IWHhthCTRjLE8UfL9Dw7aXSH/b9h61QeG3X3R7FKA8GbK69jCDK6urSMORR66DDX5OCm9RcfVDMWRpB1nXh4109ycmYu0h/JlbUxaGM+ylXcuqCpixa209MtLa/1OJr7awl41YI1xT+60FvWrwLTuQ6d30B7cZYijePnQ888lmbCMUxTu2tty+CprjupQdRAtaeNEylARdajnt01Mq27zx8QaM7jEBXQt4A1CWdnV79u6fDzToxRUIzxZtc+YFGfx2XzAyvh66ccgIJYYxCG0TSflHs3tVKyZYNfZhsCrCPKneOcV9JZ3ZE4rrKU5wh4NTDjogyLgR5I3qA3SfaMFj8GUBrvM/ldQnz0TnNdC4l84Pv8DRAZhi zOoG0/kk hLHAKkixWh+P4teJg4f7rtuMfZSDqnLK4p6gJIyfH+EJ+wsxgaIwVnILyh74zFwS5FYjJRFetQsDaGnbLw0f1nM81qR/lJhJfzzbHq1M2Bq5eYiFmWkd19hQ9ejH4ptEoBQQfGcf+lLJLQgQaYeqs2IGEl/b1UOQKZ4T+bSSqXKc86QavE4klaFW3vB5JTWxeb2ETA4YCDHfm7CGL8zYnmz+kbcm+uJB9AX/aWR1OF9Li3b8CVlWR6kJGQff84hIMZtpgjl23V4jp6IN3wwZpvsMQt5v6sWherXPJyZWCDGTQZnKKaxHNpDSGhez5Qs5cztmmllL7MFBdrCOCPZB3vNz49oQZ4P6hzCK+rGnGiJVEBUWPPiCcR8Q65d8Dd/E6CoOWV2cTL/6DrBwl65ADAUC6bnoB/k7wsG2+nWVCpqTdhIKHhhPnKbUovBKZld1ynAoL+wFA07WqGhA2JTQsxvOrfvINtv6eM+2BOQwOHMmSqf5H8xng7JLAKO51+UM0weTRdnEtkI/+XqAcGKJs1INdMezyuuNwiPPlLn5LTobwmPHoo4qf/83Y9HAUaNMeYiV+9Y38VpK3PjjUoU2Cx4nMij5Qc2GrlpV6 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" Change from nr_pages variable to vms.nr_accounted for the charged pages calculation. This is necessary for a future patch. This also avoids checking security_vm_enough_memory_mm() if the amount of memory won't change. Signed-off-by: Liam R. Howlett Cc: Kees Cook Cc: linux-security-module@vger.kernel.org Reviewed-by: Kees Cook Reviewed-by: Lorenzo Stoakes Reviewed-by: Suren Baghdasaryan --- mm/mmap.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/mm/mmap.c b/mm/mmap.c index e13f032fa69e..d5bd404893a8 100644 --- a/mm/mmap.c +++ b/mm/mmap.c @@ -2987,7 +2987,6 @@ unsigned long mmap_region(struct file *file, unsigned long addr, prev = vms.prev; vma = NULL; } else { - /* Minimal setup of vms */ next = vma_next(&vmi); prev = vma_prev(&vmi); if (prev) @@ -2999,9 +2998,10 @@ unsigned long mmap_region(struct file *file, unsigned long addr, */ if (accountable_mapping(file, vm_flags)) { charged = pglen; - charged -= nr_accounted; - if (security_vm_enough_memory_mm(mm, charged)) + charged -= vms.nr_accounted; + if (charged && security_vm_enough_memory_mm(mm, charged)) goto abort_munmap; + vms.nr_accounted = 0; vm_flags |= VM_ACCOUNT; } From patchwork Wed Jul 10 19:22:46 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: 13729614 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 02555C3DA41 for ; Wed, 10 Jul 2024 19:24:31 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 836826B00BA; Wed, 10 Jul 2024 15:24:05 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 7E52B6B00BB; Wed, 10 Jul 2024 15:24:05 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 54DFE6B00BC; Wed, 10 Jul 2024 15:24:05 -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 277C36B00BA for ; Wed, 10 Jul 2024 15:24:05 -0400 (EDT) Received: from smtpin08.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay06.hostedemail.com (Postfix) with ESMTP id DBE6DA1520 for ; Wed, 10 Jul 2024 19:24:04 +0000 (UTC) X-FDA: 82324818408.08.18175C5 Received: from mx0b-00069f02.pphosted.com (mx0b-00069f02.pphosted.com [205.220.177.32]) by imf28.hostedemail.com (Postfix) with ESMTP id 929F7C0010 for ; Wed, 10 Jul 2024 19:24:01 +0000 (UTC) Authentication-Results: imf28.hostedemail.com; dkim=pass header.d=oracle.com header.s=corp-2023-11-20 header.b=PXtWlpOb; dkim=pass header.d=oracle.onmicrosoft.com header.s=selector2-oracle-onmicrosoft-com header.b=ECRiIXPL; spf=pass (imf28.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=1720639425; a=rsa-sha256; cv=pass; b=ad/3zHnWikUjVzE8/rkB7vA10eTzipIKQXCoY9DX0inj76FpNFCq/wkA+4/z7ncqiRzQrk ByisX1+pgeQmV5UfsuLUZin7PdaTHUI3vAvU9KDulfJqToNX1JLzyNKfmHdvG4cwrP1D0n oi5HiciLzmlMPxEUM0xoaPafPM1o9dM= ARC-Authentication-Results: i=2; imf28.hostedemail.com; dkim=pass header.d=oracle.com header.s=corp-2023-11-20 header.b=PXtWlpOb; dkim=pass header.d=oracle.onmicrosoft.com header.s=selector2-oracle-onmicrosoft-com header.b=ECRiIXPL; spf=pass (imf28.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=1720639425; 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=W18XszWvqh1fOjVwbse2DTRvwRw3frweJXxqWBMiXto=; b=uXh1jNSVI4KPixuYJYEzF22d+o/Hka/OAb6XNVHiLDchwzlsOSnjOTB8uAyM6CRLS9R/Ax RDzkVAVdhGlokZzxsbLaYdYbe47vz0KeSxDmvTswXBO7FjqThcuBbGKXXJL1TFC1c5HZbj c6T7L8cmRqgvnXjDiVR4Uk2c9FxGJgI= 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 46AG3ITd012180; Wed, 10 Jul 2024 19:23:43 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=W18XszWvqh1fOjVwbse2DTRvwRw3frweJXxqWBMiXto=; b= PXtWlpOb2I3OZY69snEOtruvJc6tmBxqL5ahByZMS3/eE1uN3sVizcRP699swLSV kXhIklWSNPKqiu+UwkWmqbSj2ynMWtMvMNGdzhNYXYnUX/29Cl/FNS1fn1tuQK+d z1IeINqdgqFCdvlT6cBVGjoDRHhWzsArjS55Wq88U9LHTCyHJ/aWltP2sgXEZsEo MxFt57YkLTnyEICKwAZmdQpTmJ40lBbGYBkri/S+WYbSgcXu7bm2n0JOcWYlNueY +UrSDSNSBRNEtNzjeuY1UWMiU6D+tXiFq0JJ2xqdal96Si0uosCTloDRncIiDLuE TppXd4HWaUEnvrLyc9Rzqw== Received: from iadpaimrmta03.imrmtpd1.prodappiadaev1.oraclevcn.com (iadpaimrmta03.appoci.oracle.com [130.35.103.27]) by mx0b-00069f02.pphosted.com (PPS) with ESMTPS id 407emsyctq-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Wed, 10 Jul 2024 19:23:43 +0000 (GMT) Received: from pps.filterd (iadpaimrmta03.imrmtpd1.prodappiadaev1.oraclevcn.com [127.0.0.1]) by iadpaimrmta03.imrmtpd1.prodappiadaev1.oraclevcn.com (8.17.1.19/8.17.1.19) with ESMTP id 46AIlfXt010839; Wed, 10 Jul 2024 19:23:42 GMT Received: from nam10-mw2-obe.outbound.protection.outlook.com (mail-mw2nam10lp2042.outbound.protection.outlook.com [104.47.55.42]) by iadpaimrmta03.imrmtpd1.prodappiadaev1.oraclevcn.com (PPS) with ESMTPS id 409vv4s3w9-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Wed, 10 Jul 2024 19:23:42 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=KgaGPzlW7Jk+s79lWtcjvAZT18BvxhrBpTLCOe7VomVqCc6t5Vlkih1HDr6+jw4bdBneZDemXB9xDyLY+NcFkv1whA+5Fdx58IFPBo7gYpqF1MeMod8N1+JJF7AaQMrAScqFQjAfUnVIca97msV+48k+EZPfj3PUm+o7IQBH2jwVnq7Cb/pYlRmm08pXq17ApGwHQzEb+D2eNgvkXJ0YSLkzudVCh4JMwsk6R17EvUbpwUlpJ9An142qplGgB9nb9YZWyhKos94pm6utaI57GyNkZ1+jhdyIaQUngg8VRY5eMlzjLEfwr2JXeqNtKa+uv+zcDjCdr37spaKYJ6w5OQ== 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=W18XszWvqh1fOjVwbse2DTRvwRw3frweJXxqWBMiXto=; b=Jo7uV+NExocfVB0okTYClrfD29YjEubRXzRUtacUJbHl/Qs5lqOzLPnQdf3o/L9B8y5wZ8S42omPqjjqRzVnXgtrYl1LUAtRpsU74oHHdkhZ86cddmAT+Hee2t+4rePW+v5bAxi3Ro3pdS9N4rbcZZ8630YOd8rKBS/1DaqEoBwjE7B+AJ1oQlox5ftJ1QIpWyo/LDv31YnoEiuPmIkLx8cyjNxz908oE2WGVmOyJVgxWbdjZNUa9sk1ufKYSjqpWZjnF+gCyUmJmp9HrILKx3QhT7dA+f58C2rGc6cfpgoUF2ykUMFduWX8G+tLB/+0J6Cw6zY/CeZ83eNMU+3kxg== 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=W18XszWvqh1fOjVwbse2DTRvwRw3frweJXxqWBMiXto=; b=ECRiIXPLNhtWtj5pmQtFG36n2IFs0FQ5RuTz6g413/9TzM6ra/b7jx/5/fC2eNvFDJHQIYH9yKnzxvD1iebCRELwWIrs1rbxXbhhY2zUsaGtGADKI/f/JUn+KSnTBqRfpytvKLuIjJMcSHPlWv0is763Owg4gF33FZEI5OskeX0= Received: from DS0PR10MB7933.namprd10.prod.outlook.com (2603:10b6:8:1b8::15) by PH7PR10MB6106.namprd10.prod.outlook.com (2603:10b6:510:1fa::7) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7741.35; Wed, 10 Jul 2024 19:23:33 +0000 Received: from DS0PR10MB7933.namprd10.prod.outlook.com ([fe80::2561:85b0:ae8f:9490]) by DS0PR10MB7933.namprd10.prod.outlook.com ([fe80::2561:85b0:ae8f:9490%3]) with mapi id 15.20.7741.033; Wed, 10 Jul 2024 19:23:33 +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" , Dave Hansen , LEROY Christophe , linuxppc-dev@lists.ozlabs.org, Dmitry Safonov , Michael Ellerman Subject: [PATCH v4 17/21] mm/mmap: Drop arch_unmap() call from all archs Date: Wed, 10 Jul 2024 15:22:46 -0400 Message-ID: <20240710192250.4114783-18-Liam.Howlett@oracle.com> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20240710192250.4114783-1-Liam.Howlett@oracle.com> References: <20240710192250.4114783-1-Liam.Howlett@oracle.com> X-ClientProxiedBy: YT3PR01CA0104.CANPRD01.PROD.OUTLOOK.COM (2603:10b6:b01:85::29) To DS0PR10MB7933.namprd10.prod.outlook.com (2603:10b6:8:1b8::15) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: DS0PR10MB7933:EE_|PH7PR10MB6106:EE_ X-MS-Office365-Filtering-Correlation-Id: 9d1649dc-5274-4076-1713-08dca115c9e7 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: cY2t7v0mAFCCfuouD3cpYay9V8vHfA88MH6UnDSeEhmd06IH77D5VkXAUDZPuRtdT7/0Jg/KIrqba22R2GGPfgfOMGalXiPloTSiBiAQail3CjP4fDkaPKcW0NfRP8TOvXLqJJp1Ile26e+VyIGnoUvHRfeb+QSqCuVk9bDLXEM9T48WA2L65C+a7HWPVpi4XEKIXuNN7+pMtfkd9WI1zsVbJrg0mrAfKWyaTaGIB80pfpD5akHz7S3GvFho9rE0fa7j6YoScNKruJNWW20eV3oEEWy8164c/LdhKNv77T9kJRp7W1aiq9dBOGqFoDnYy4o7gyark/eGc+swaDKhM6fBuSk62lhE4l0kYUWfF3gRvUvqv4DFkSj8KErQvQzEhqShM7VnGoCP8mPGOqszDsA58N5VDXvPUOKNc+m43bdlcJJy556RJ2e2Y0wchI/TW6Numx5JZdNYvfJoKeE7nWWZEc5Z+bcNUN4YSyHZl9qO5mqn1zuoxAijFGs4woeQTzBy3x1pQCAdJc5R2td/SCdsyJBSfXGzvrZs50Lvo/sUTWvyVlbWyEh53m+gShWrFWSSLlnoTtolAR4sdgy71vHkYGE1xIN6+41kOxDsFwzh9qLZ/YX4j7kb0IeCzRXSUCdkHHMiVaaagjKVVz/R//ueNSUtz9DU31LwzFsvtODCp1vvwGenWNhCutaj71UB8BaInK52ReEN2DoL2+o/uv0mKOurK5QP4cysjK8H9Ufnt3fiqSDIPrJvbPqucXE8sk/7ZaL/KjIu9eDiCQ4sOBVXGPXwKSp8mbqanOHX1mllFQSl2UlZkwA+6znbO3Mf4LGv3DnnjoNoTvXzNofK95RzXufx+51znNCrCEWGcGGfot9DzpI0KPagpjErPwQhaEKz1P6gALgF4IYmGkEQBr5X/y2MR0GPD0yskve7py0FbeWMhqsqq8vIrK9B/hvz2Gx4NY/lQ2y2iCCEo3WMwIYLYMro85QafqYTqAO8b3IMBKXSvWMddPhTESIQZr5R5qkZbcGTko3T/DZr1eEF+TL5fUaljrrITeIf5ItX+FuNd2t7GuQ6Um0wqAoL0sG84Ws95ybys/i4LBCF5zWWxuJ313Bd89fJ6fA7vM0B4oy544XL3XJDmM0LLfJPYEv/AJfj09p7t9TCa0EuzopffgNXe5KXL7nnCCR/CDvIKXTHACmsN6o4ZvC4jkX4+fARAyIjRD+eFQwuFFQZ07lOdploWirRRCRU6w6/hsFXdORT1Wsl02q6L0f+xT9Ybe5ETvh9OHZWJiYqwZcU5MmO6lNGmF0xhUfmEAkQeg2+bCOtp3F57xRj7No+MqBpB2YV 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: DWS8VbW5VtiCheZwyLzM7/8zK+tO6MGPoL7A9Y5pGZ1aDA4ATaamauhLa4KLy3Gs8PSKHjCDnIG6KyYKEezmXCMPGB+dUHGwJO48T+7ZWxjXRgwJKJYT4M+abrRH0tKcuG5/g6PLNGRJcUnN/F/AXvMESDzpz17vvdFMy7sJ+yBPtPcm8zPSda8aErlNGUfUoxrYVyJXNdlBcT8miyqRVfT5s47Lgx6mtEfsE50IelTGmCTh8dRgcaCUCtfm1/bQubiloXrgf1JQucEgujSVRF/PtH+qx0UTbLLVFvQeQjSbHj1OUzfpdWWvb+/K1Vq1zcTskKLmAd5wS2LUo7Jrt4kzVHg8ERVnm81sGOZpQhazIBMG7Ugp8eD7tWx3ZVaxxUwZBEsCFcD2XbjJDsw0+h60YKOrCcOawdESJUk4UaWHtPKBziQWCArEjBtuZDlFMWZ1fH51auA29JbESCVsHvDbd1kV+DWOz7i15P2STh9CRVzBPCwc3oYvE3RPPH4DxKrl1BP2N8LkbXW6ed4BPxmgIDkiJGdQ0xBJ+rpGB0AMZWLVWrwgqV9Gp/OvMxuiMBi1P1z4bHZGOwyOn+D5nAwf1qqbJe1zBT3ldvt9qcJpA3Yu/YwsfAKtLgoLOuSmVR/wElIB3F+exClgobCeoP0sQq5IgtK6wVXufBnlp0X2vsyvovVYBZE5TRSZf2BFhWd6BnJJlzZqyPRjGl6DoijSYvrfoIUXTW8RbOtt/rj/FkanvvQdNIrluQfk2FEzfXK8M8Z58lwDabaJ1gXtCR+gssbWsw2qwdWuxWg1RzpBCJBZ8kh5I1YkFv50avFTGSXTwAfwuVdhpfnPjZK94P+jx93y0r9uGR5n66hLNWb/C33of0IS3D42IuyMTSrvSiJ2YKAlZMNjvB+jYcN44c4NMEzwyp6yX2Vv+jidp1PUeQV8Lq/lS92zDD0AY17KsA6N1XcPoJ2iYChGTXfo7kxXa4/gg1i2Psw/c/5cgruOqvn/IHPymcNgva5A7sjXZ0VWq6qsodVxnx5r/76PqCWnP5p0WTU5AskCSUiF/QfWF+0kjTUppCLAWSM/vIZf8kCSzFAApXNpWNlY/qgAkdXesxdo8oGWUcWJYmCtA0BUdi20b6Tnzecbprm4ecbP60nXqazGqFBf3Wr8XDt3UZh2vm8Baxo7IESgFBbcLR1r1vhWtHxxiqgMQxpVMjMZW2/9/bPKCgUDos1BmVVTil7E+2q5BXv2Hrlb9nHeGjfcRnMJ65oeD0PluDSxnMqLXRZ5+Z+PgfteUW+Qy6v4n/cbtJ7UzATzYVoh4WSgWP+yQcNCbQtrR/F8nsJfc6zFisussRGU1T5YA5TeTHxtfltu+MdgSwzQS1OlG+KOYn/1o1UhTfk4POFU4ODvcQ9jCmPzEnQFc0V2WitoQPk3LFo8gyhvwAcaXWGAD0/kR9Nq8Lzu5hUq4L8+MgC3ZrFUcWkgI5bYitkla08KbKuvVGcVdn7KSaVL/ofGDnxrbTLH/WbQUOvO+Um77F216HdLDG1YvjvoQpg77cSftK9hxWwppJL6LNVqZTVjRnshrKQRf9Dz9siHpN3PEVsCZVvPcqyKm8fnVsUVc5bV7QMCgA== X-MS-Exchange-AntiSpam-ExternalHop-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-ExternalHop-MessageData-0: Xz5FhkQQuAXT8V03cFFZiF88/Jm9UN2Rmo5Upk8l+bo7nComHZVz2F2B1YP26PxvKh/LiwZzn04STMYTrWHWf7krVjXGCBtvwqlaLW8FPdxwpD3ugVsNOtGXVd6SDatiXt4KxuVD2+TRsWTYC4tqjtf+jyZO+VocE969kH3ToQW1wtsmZp5urcqa3vhBrnqHYdf3NNotEZ1ZugdYaqdTKL3D71zlZD8dJBWFrXu2k6kfodOh7tiD5RcoF1CPDJNu6VC9pc3yZ47uG8fCnQZHW4K+TaH4AGw6C/EoANMUx+ziE9wZ9hs07zve2/177MWp2cRl18zHncxrHDeG7JzStoa/dycgTbvg+WFQz1axLQX+J3sDvDFF4lQYw4DUcInkW512z4Dx08EPc+arSpRTet9z7th3eJBNUxDZcKsCmfsyiYFM0HAXjVwkzX1c9FqhTGv+07IQX+2BjlEt2KUpBkOWjOObZp4Sps7GO0Au+kT9UIKZNEZnDxIxq80ezXs5hP+4zoWsSKeNL9JN1VKJKVXfoAoYP73sljFJLQ+Y/EbAgGCgBrYrENyf0uehLuThFd/aS8fRzzkNPLBk5t7GiZvUeTbSc/VVcTO+CMcAHJY= X-OriginatorOrg: oracle.com X-MS-Exchange-CrossTenant-Network-Message-Id: 9d1649dc-5274-4076-1713-08dca115c9e7 X-MS-Exchange-CrossTenant-AuthSource: DS0PR10MB7933.namprd10.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 10 Jul 2024 19:23:33.4315 (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: rzuAd0VlSWagOC2oGlL13r/IlRuKOxcca8L4DgZw7GhMmJEDcmFSzKR30wviNiYUYGnS6wGQc0T7LCH2upKPRQ== X-MS-Exchange-Transport-CrossTenantHeadersStamped: PH7PR10MB6106 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-10_14,2024-07-10_01,2024-05-17_01 X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 bulkscore=0 malwarescore=0 phishscore=0 spamscore=0 mlxscore=0 suspectscore=0 mlxlogscore=999 adultscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2406180000 definitions=main-2407100137 X-Proofpoint-GUID: ILyZD4BsG5QRVH4xa4azHR37Os1ZtWWo X-Proofpoint-ORIG-GUID: ILyZD4BsG5QRVH4xa4azHR37Os1ZtWWo X-Stat-Signature: pz3p77j7gzx69pws5ooh581igrec43y8 X-Rspamd-Queue-Id: 929F7C0010 X-Rspam-User: X-Rspamd-Server: rspam10 X-HE-Tag: 1720639441-494960 X-HE-Meta: U2FsdGVkX1+TQnfOF1A/8wUKOoKeN0V680riyQ4ZfvCDbzXvCUn1MJwkHdp7tovhTU4Wd7D5XJxgme3mKEQ9RnCeWpHAP0g0+sVhep2dewkRbZHkvQwYlVfF66kLRVrSiJLFApXUteOjokvVQg4jfGFEF+aYH4fiR0H9Ad5gWFXTqeKXWBv2imPAwRRGbu4m6kiJrroM5UksEs/B6fK5vxqkPoH6TAmwb1VIhq5fS+BjQI9HCpDgBVc55FMUtXCvLZ5O/u0B9DYGbIlvTyhgYzjgMjKGgP3Fv1ByVYNtzo+MgHj9gaQhO+nvkUyr36kn/U7Fkdzle/68TkS+4JNQRN+nRyyPRx8Na1d5Mey7sPvv2xHMFPY92No5cR/Vmsj5hLocsE7fbeXi41I9tA2ntf0Gzx7efcCXKOuTvmZBTPGQh5DH4qBF6mSOjZjcu2h9MD+WKgJJw0C4lDyM2Z8z+5OALhz7Ma8oZXnZdmsVZ//PHqdHSNzP1CWCgF8TTm/PFARQeNMLFouEuAtmfqtNMeysSdkmFOiCBK4NrbuUFrmoNmbFOhkn6PyZ18rHnFSAXwmIlQ7QLTnSeIJ7ZVEZTj7ZG4qSZ2DAEg5NXMNHfdB9mwsMq6BlRzPU1UyWG8PWcnH4P7o2eg8n2AjAt3SudGMWBrOFgjMC12hGyg2wODDGB9fL3KnIwEqpfnGA8UkIba23TCmfa1VEzyii3P2RpOV6t0cpPSaoyCTAIpMxrFCPeOQHiIvJ+jNG6vr5Rbc52JfUNTPj7ZGKQ7hlJxaKBQze2z1c+KIuCswF2d+uUlK51u1+zjzl/UTSASiM6jIJNRBNXkOP8FTfoa3MdxBT6RYUQy0y1qUEVC/JG//vo1DgrvW7kOuK49AruzUr+vLpXTLbvHsTac3TmHUIqXUdH/ZDf1dJh0rgq8O6b0fajwnvuiijCjdJ1KOuSXhJatk8IQNIhU+jPHDHdnDQJWr zznVEGCJ 2+r50c/JDK5t+hcX2PVtxq3+Q1YpV2RRE/nwih29DIhzru5C3t7S8tzAziO2IX9SUHiRNnHDdsVnHWyAktwWXax62J/tb00BYC9tO2XqMeRIJbbLWEK1fbyHyhLn3klfackPwzIp25josvJPm85Kn2Gamw9wZoGJogosGED5W5HlvX5vh1PT+KG+IoZ2Mne8JVjBSoJ6YdOvyyg9kfL7d35F+DJdMNuEjWJikqhZP6mxTsq++kaxHXpefvj6SogIPGAVzZh+7FNYGuWum5/gkZCR8X5+mBBgFxmA4Br1S0Hgts26m5Fi1iv7OF+/bLuS5V/QGN18cO31twmys7pqzYuhVqShOeUoCg/UGnU1gP76UYtOtAag5byubeDweXVsxFZKuJFSlmMNayHjOH8ldNd04zRq5tsSFhJ2lfdgB5UDRAzOh1NOLyhv9YZkhzFNhdCRlMHxz+bXCMfn+W4+DKIkXQjYeEYw211kZvuG8zVnkxohu8al1bF3edzuYmRfvn0BIq4QFzKdCQYSK9LMe2UR/8lwRQb0Z9GhdMz0DuNfoFzyKiPHmgpjYjaspFCQPEqExV6iPRPkwvfHvPL3++KAzeouQWxYVbQ7APCTPqBR9MuqBCaIj/GCjIZMqRuYu/QqfbWCDh++wYktoleZYuUfWL3h+idWAlJO1saouf/4C4b54ytu6ZqeAQlU5ErNiLR03d+DQc3/p65llJ5D5q3SZyzrdWGCFGjDJBiN85DkN3hbtiWVlUz3uuQ== 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" The arch_unmap call was previously moved above the rbtree modifications in commit 5a28fc94c914 ("x86/mpx, mm/core: Fix recursive munmap() corruption"). The move was motivated by an issue with calling arch_unmap() after the rbtree was modified. Since the above commit, mpx was dropped from the kernel in 45fc24e89b7c ("x86/mpx: remove MPX from arch/x86"), so the motivation for calling arch_unmap() prior to modifying the vma tree no longer exists (regardless of rbtree or maple tree implementations). Furthermore, the powerpc implementation is also no longer needed as per [1] and [2]. So the arch_unmap() function can be completely removed. Link: https://lore.kernel.org/lkml/20210611180242.711399-1-dima@arista.com/ Link: https://github.com/linuxppc/issues/issues/241 Signed-off-by: Liam R. Howlett Cc: Dave Hansen Cc: LEROY Christophe Cc: linuxppc-dev@lists.ozlabs.org Cc: Dmitry Safonov Cc: Michael Ellerman Acked-by: Dave Hansen --- arch/powerpc/include/asm/mmu_context.h | 9 --------- arch/x86/include/asm/mmu_context.h | 5 ----- include/asm-generic/mm_hooks.h | 11 +++-------- mm/mmap.c | 12 ++---------- 4 files changed, 5 insertions(+), 32 deletions(-) diff --git a/arch/powerpc/include/asm/mmu_context.h b/arch/powerpc/include/asm/mmu_context.h index 37bffa0f7918..a334a1368848 100644 --- a/arch/powerpc/include/asm/mmu_context.h +++ b/arch/powerpc/include/asm/mmu_context.h @@ -260,15 +260,6 @@ static inline void enter_lazy_tlb(struct mm_struct *mm, extern void arch_exit_mmap(struct mm_struct *mm); -static inline void arch_unmap(struct mm_struct *mm, - unsigned long start, unsigned long end) -{ - unsigned long vdso_base = (unsigned long)mm->context.vdso; - - if (start <= vdso_base && vdso_base < end) - mm->context.vdso = NULL; -} - #ifdef CONFIG_PPC_MEM_KEYS bool arch_vma_access_permitted(struct vm_area_struct *vma, bool write, bool execute, bool foreign); diff --git a/arch/x86/include/asm/mmu_context.h b/arch/x86/include/asm/mmu_context.h index 8dac45a2c7fc..80f2a3187aa6 100644 --- a/arch/x86/include/asm/mmu_context.h +++ b/arch/x86/include/asm/mmu_context.h @@ -232,11 +232,6 @@ static inline bool is_64bit_mm(struct mm_struct *mm) } #endif -static inline void arch_unmap(struct mm_struct *mm, unsigned long start, - unsigned long end) -{ -} - /* * We only want to enforce protection keys on the current process * because we effectively have no access to PKRU for other diff --git a/include/asm-generic/mm_hooks.h b/include/asm-generic/mm_hooks.h index 4dbb177d1150..f7996376baf9 100644 --- a/include/asm-generic/mm_hooks.h +++ b/include/asm-generic/mm_hooks.h @@ -1,8 +1,8 @@ /* SPDX-License-Identifier: GPL-2.0 */ /* - * Define generic no-op hooks for arch_dup_mmap, arch_exit_mmap - * and arch_unmap to be included in asm-FOO/mmu_context.h for any - * arch FOO which doesn't need to hook these. + * Define generic no-op hooks for arch_dup_mmap and arch_exit_mmap to be + * included in asm-FOO/mmu_context.h for any arch FOO which doesn't need to hook + * these. */ #ifndef _ASM_GENERIC_MM_HOOKS_H #define _ASM_GENERIC_MM_HOOKS_H @@ -17,11 +17,6 @@ static inline void arch_exit_mmap(struct mm_struct *mm) { } -static inline void arch_unmap(struct mm_struct *mm, - unsigned long start, unsigned long end) -{ -} - static inline bool arch_vma_access_permitted(struct vm_area_struct *vma, bool write, bool execute, bool foreign) { diff --git a/mm/mmap.c b/mm/mmap.c index d5bd404893a8..df565f51971d 100644 --- a/mm/mmap.c +++ b/mm/mmap.c @@ -2652,6 +2652,7 @@ static void vms_complete_munmap_vmas(struct vma_munmap_struct *vms, mm = vms->mm; mm->map_count -= vms->vma_count; mm->locked_vm -= vms->locked_vm; + if (vms->unlock) mmap_write_downgrade(mm); @@ -2879,7 +2880,7 @@ do_vmi_align_munmap(struct vma_iterator *vmi, struct vm_area_struct *vma, * * This function takes a @mas that is either pointing to the previous VMA or set * to MA_START and sets it up to remove the mapping(s). The @len will be - * aligned and any arch_unmap work will be preformed. + * aligned. * * Return: 0 on success and drops the lock if so directed, error and leaves the * lock held otherwise. @@ -2899,16 +2900,12 @@ int do_vmi_munmap(struct vma_iterator *vmi, struct mm_struct *mm, return -EINVAL; /* - * Check if memory is sealed before arch_unmap. * Prevent unmapping a sealed VMA. * can_modify_mm assumes we have acquired the lock on MM. */ if (unlikely(!can_modify_mm(mm, start, end))) return -EPERM; - /* arch_unmap() might do unmaps itself. */ - arch_unmap(mm, start, end); - /* Find the first overlapping VMA */ vma = vma_find(vmi, end); if (!vma) { @@ -2969,9 +2966,6 @@ unsigned long mmap_region(struct file *file, unsigned long addr, if (unlikely(!can_modify_mm(mm, addr, end))) return -EPERM; - /* arch_unmap() might do unmaps itself. */ - arch_unmap(mm, addr, end); - /* Find the first overlapping VMA */ vma = vma_find(&vmi, end); init_vma_munmap(&vms, &vmi, vma, addr, end, uf, /* unlock = */ false); @@ -3348,14 +3342,12 @@ int do_vma_munmap(struct vma_iterator *vmi, struct vm_area_struct *vma, struct mm_struct *mm = vma->vm_mm; /* - * Check if memory is sealed before arch_unmap. * Prevent unmapping a sealed VMA. * can_modify_mm assumes we have acquired the lock on MM. */ if (unlikely(!can_modify_mm(mm, start, end))) return -EPERM; - arch_unmap(mm, start, end); return do_vmi_align_munmap(vmi, vma, mm, start, end, uf, unlock); } From patchwork Wed Jul 10 19:22:47 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: 13729611 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 A1D45C3DA41 for ; Wed, 10 Jul 2024 19:24:22 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id E9D026B00B3; Wed, 10 Jul 2024 15:23:56 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id E29B26B0085; Wed, 10 Jul 2024 15:23:56 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id C045A6B00B5; Wed, 10 Jul 2024 15:23:56 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0013.hostedemail.com [216.40.44.13]) by kanga.kvack.org (Postfix) with ESMTP id 9C22A6B0085 for ; Wed, 10 Jul 2024 15:23:56 -0400 (EDT) Received: from smtpin23.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay09.hostedemail.com (Postfix) with ESMTP id 58C3980206 for ; Wed, 10 Jul 2024 19:23:56 +0000 (UTC) X-FDA: 82324818072.23.5DFE85F Received: from mx0b-00069f02.pphosted.com (mx0b-00069f02.pphosted.com [205.220.177.32]) by imf19.hostedemail.com (Postfix) with ESMTP id 2AE6C1A000A for ; Wed, 10 Jul 2024 19:23:51 +0000 (UTC) Authentication-Results: imf19.hostedemail.com; dkim=pass header.d=oracle.com header.s=corp-2023-11-20 header.b=jyF9I1Mj; dkim=pass header.d=oracle.onmicrosoft.com header.s=selector2-oracle-onmicrosoft-com header.b=dghHDPoV; arc=pass ("microsoft.com:s=arcselector9901:i=1"); spf=pass (imf19.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-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1720639401; 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=5uyJ/yQEOK6UxBQ0/FsfhFoC0HXOJMLs6pKNlOOdFCw=; b=HCdIiJoEEQqJP4UGsnDwjdYZ2ZksJPP19h/l38Uw8xQMSrtFt3vcoQMDNqrag/8Z4fO4YR dviQBugy3HvgJ9vkn/Thu4aTTfdmmg45AUxFJdUpnwF+9RdMJ0YsxNNpNdUzrASqnz1D1i LPVWsu2/hgdFbfzpftw32iciJ+RFpbM= ARC-Seal: i=2; s=arc-20220608; d=hostedemail.com; t=1720639401; a=rsa-sha256; cv=pass; b=mFOBhIOUjN03ePHtQweocz4k4QToBZc9n5c+l0kAk+8NWQCp73PnKDJkwjo1XSpxywE+fn 0+ZeXtdonYGqeKHCN4+AwtjxAJpAJ6AwVxrpT9/fJZZQszWiN1UTzgFcZ7MdMgD7Ci4ydi 2eF2gWmbMIeM78A4tKz7QUPQ39RbDNk= ARC-Authentication-Results: i=2; imf19.hostedemail.com; dkim=pass header.d=oracle.com header.s=corp-2023-11-20 header.b=jyF9I1Mj; dkim=pass header.d=oracle.onmicrosoft.com header.s=selector2-oracle-onmicrosoft-com header.b=dghHDPoV; arc=pass ("microsoft.com:s=arcselector9901:i=1"); spf=pass (imf19.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 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 46AG1ac3012151; Wed, 10 Jul 2024 19:23:44 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=5uyJ/yQEOK6UxBQ0/FsfhFoC0HXOJMLs6pKNlOOdFCw=; b= jyF9I1Mj79jg8frDcIoWb8VdkxOJslQ5bysjbruEs7D1UvZ0sAVWY4tpWVbAIksO FwMypNUaHClWMAE/fzGXQjQIUbMtlO3GagzHiLZB80zDvVdR77oTQ5c6q6iC6b9D 0Z4YDUqZU00+D3GtzetSLqKd7/y3SB0AWc25KIU6ICeUX+JTnBfZdWMH/Nd0B1Hr aehH3JImZpdHgs7z+Z/zVbeSU726LHv/BNdQQY70qct5bWXKzg4j8BkVQDdQTnpy tFBy1/XbaMw4RhUNvPC4bRnMlKlByu2k5VlfKcng1AkMWulvhnVFZHQ+lkiBRD7T +5OOyE6iM4Niu93r+Umgeg== Received: from iadpaimrmta03.imrmtpd1.prodappiadaev1.oraclevcn.com (iadpaimrmta03.appoci.oracle.com [130.35.103.27]) by mx0b-00069f02.pphosted.com (PPS) with ESMTPS id 407emsyctr-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Wed, 10 Jul 2024 19:23:44 +0000 (GMT) Received: from pps.filterd (iadpaimrmta03.imrmtpd1.prodappiadaev1.oraclevcn.com [127.0.0.1]) by iadpaimrmta03.imrmtpd1.prodappiadaev1.oraclevcn.com (8.17.1.19/8.17.1.19) with ESMTP id 46AIlfXu010839; Wed, 10 Jul 2024 19:23:43 GMT Received: from nam10-mw2-obe.outbound.protection.outlook.com (mail-mw2nam10lp2042.outbound.protection.outlook.com [104.47.55.42]) by iadpaimrmta03.imrmtpd1.prodappiadaev1.oraclevcn.com (PPS) with ESMTPS id 409vv4s3w9-2 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Wed, 10 Jul 2024 19:23:43 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=WYm4BCVWA8Ab8vzB1YiuvzrZWzTDWZxXh4O+/cRGeqX4P6qw8W9QQRslCYM7kSueRwxzsfY2BS0aSwojUr5WAY0i47XHgIwp0SyFViyNuzCNvbXC1I+kruXwiXgkSYWEiwiPdg5HfO1zFR6F1pGOxH7Tsp2puR4elJpsYSoA92aWf5JrQ9t7YCoiNFrjBLxMceMJKzoPcj7BdG1tTYpcCcQ6NLW/VEfBcqHJEjeN3ovdXS79cpn4gq/ox3sL3PcR4sL9h1xUD74obm6///+NQrn3DDVMfRxfi0xCTcFURppBEUs7mGSgTZNs3pk/8nnE4h5EjOmvizqRz4MoL5TXfw== 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=5uyJ/yQEOK6UxBQ0/FsfhFoC0HXOJMLs6pKNlOOdFCw=; b=ogoEAf5+klibMiPy/KMpQN3WtiJ5Gw8MlGzmBmbmNN1gzCLvG/gmgNVbrpZfEkVNlesu74/XGpWsJDh4iM/hEMgg1+FkWOIy76V6wcjDtaVVzFbzB+5uMqAUiIYU5vtfNhcmC3sil7oRCvTSOgp+g7M0E2kmE/fNAwG1GEYLIf9i2sRDw+jAvRCnRTQ9kJKs6rBTo6iWWn5Ypg2YRHMz8ldFMKq0qPobwlDaVERv2YCBKi1C2+lZwD0J+B9anRkR/0u7uGpHbvFXLr1UKbqyzkiz/ISOfrnXabj+L2THHd6IQ+2Ux01w9b/us/L3p6r+I6I7k2xQtgUo2YhREwmI+g== 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=5uyJ/yQEOK6UxBQ0/FsfhFoC0HXOJMLs6pKNlOOdFCw=; b=dghHDPoVdHm9jIP6xj0alL/vvpPgLli2kkCACU1rKANK1rtRpliZcunIR9vNcAbFvO+J+Opw8EqGfGNsp7xQ0FP+TEolsPGivjuKRV1jb2Nn37Hc9TLBWOLW9s/mR0yysMFqGBZnjbGehkkLwZXE/PbkoLPioPGbu1xClNcxO/w= Received: from DS0PR10MB7933.namprd10.prod.outlook.com (2603:10b6:8:1b8::15) by PH7PR10MB6106.namprd10.prod.outlook.com (2603:10b6:510:1fa::7) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7741.35; Wed, 10 Jul 2024 19:23:36 +0000 Received: from DS0PR10MB7933.namprd10.prod.outlook.com ([fe80::2561:85b0:ae8f:9490]) by DS0PR10MB7933.namprd10.prod.outlook.com ([fe80::2561:85b0:ae8f:9490%3]) with mapi id 15.20.7741.033; Wed, 10 Jul 2024 19:23:36 +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" , Jeff Xu Subject: [PATCH v4 18/21] mm/mmap: Move can_modify_mm() check down the stack Date: Wed, 10 Jul 2024 15:22:47 -0400 Message-ID: <20240710192250.4114783-19-Liam.Howlett@oracle.com> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20240710192250.4114783-1-Liam.Howlett@oracle.com> References: <20240710192250.4114783-1-Liam.Howlett@oracle.com> X-ClientProxiedBy: YT3PR01CA0114.CANPRD01.PROD.OUTLOOK.COM (2603:10b6:b01:85::31) To DS0PR10MB7933.namprd10.prod.outlook.com (2603:10b6:8:1b8::15) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: DS0PR10MB7933:EE_|PH7PR10MB6106:EE_ X-MS-Office365-Filtering-Correlation-Id: 9ef1313c-d9cf-476e-ed46-08dca115cb65 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: 2JUdvlaHNf5IZ+Lq4byPvlnRGLVM2zLWy9j2qD5viYvcQve+o4yif2C8rLgVZVbIXzYWB0o8Srg1Fy3ZDG63t5i8xxqvgTFiZI6zbjOliMdnHI6x2JbkEvuYl3j4fVaa9siXZ6EDE3lmhmV3UfsUmTWv6RfkU+DgG9RFpoBHkN8Lbyhvc/WGgkE6SYRIUtEwzZdXTRC3xCvJkuCEDUk+RqOrHjP14N2871ySiaQ6er2Nzxw5MgaDWqamdnvh9NzJrumZwgEWvIJ6dV+4WAg1BRr5/Gq0OvuryQjSuDwXzGmTvlDUbOVQAV5Tu9s5GdAAOVsdlocaQm+hyGuXyyU3MRXcA2TOsV93pLyyx/0CNX9uupZAL0eVke5hxA8ogMy8rbl8mPypoy1MYnra0e6ZIWgno2fG/TAyyNKNYRpgv43k34lrp3CdW2jyG1zri/MLo2Y7YSn5bba9T1tjOX2OAXU3YTXg9X3Y5967OL+ozBH+SqNb9uD0FRtLBX+zhUTzAcIX2oUwCR4MwNfmnRc1hoQs3F5/8C74z6gwS1bQIuuxJ9stNQsWSFrWrwKGBIJyrjZtQ0sjl1NOFB1VlZ4cV3ftAhWvubQSFvZbv06o4tqZ+9ZYtG6L3yyHfuS/V6YUWSR0++nxHQhQZEXB6dOE9mKasb/1JK/LIDKV1AaB1FFrrM8z0YglztQth6efzZ8Acwp6ogLVTjQ/jLF1+WKX0OTxUwuVj741409/pz092I90XEVI0s0iTDUQLznCwr4dlpJCEwHTANHd3xuDr1AELtLRW/B3yPqgOO8Pze+A2GV4F6f5nLjNH7tMNnDzbMueCbdXVr1e3SOuxqY7gOt3BxqUDV9lkmz/zgReclkq6WKFWLliBqX975Etrq2262y2u2iitm9/20C8Su97Xdu1vurn+bRJPT9c4KnPgFpl3ASvVoF/CjlqdEFWOC0RGbkAKIzYjYjz8N6/JyOE3geDDXQ4lmLmz8oLBEyJNet6epz7LTJ0UOE0+m5rxXP4zyS6etCIlxE7zHqQS6r7w0CcKjWE0YJkzVpqqCCMgIfrJpdDa8ojejLklggB/BqknyBsi14S3u45Y5f04hv3hMX9ov1rYdSJM3VXucpaJYPCgHBLclaQ/UM7oQzMzDOetdNVU9e//Sgr1k0k9fh8PytpHvkQ6P03oQLNxFOuSZFluRumpnPOhi5h3oPo6eBf63EQs+EmzAyXBwraZPmWSW1gyVy4IRFIVDTc2VZuNnOvdD78chGzF1hyUlnMzfxNUQKHdnwERNNBGWNjDehqMZ486FpC+xfgTXhP/ylwjN7alXTIk9uJyV5JIJfmBNVZHok5k4+tLS/IDWhuzxb39WcPpQ== 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: 7wnc51zULSZvHxYANP2lfzy6BRrZFrlbZo0FvAnRme9f4BN0S+EIfAPDdnZlmas1xIhTKI+bX9xQ06Tzh6w0/DTegyUsLyvRx2FeGh5soCpyycdMeMk5I3t8OZnm1lL9p5yA264Dl76z9xAG2ZtkbbLMk2HsGFT42STilViaGwePmjfB7PJw8n0kqMrpmhTxx1IH0MhE8C79zYkHHDx5J7PT66dvQOpVYCkNKIPZi4eezOgmlglVFCFMWDdvzyXDLeH6TJewA/KGMlWAlnubDJhLP4ZepVvEXXWKZXPdBMTu9gfvIoGOKzu7WlMw94T0XTsE76aJD086w5cp4U1/97nR7YU3Ez/5i7SyECSBFEg2WBwFJ2JUNqVrtb4zOTAjp2wmsh4poTCYpo1P+GLyCDTXmWy0eC1RVUPGHg7ErLwACc2GMybCcd8AEFxVSVE6FFp30hzN5pMhPF3FLjSsn8Y5IoliAB2KDOacpZuQ1fWiPReaJg7SKl0U5MD4O2QAW3wmg7QQmxLfh8jgA/yTtXBGe+ex5aTPGydtKVVBKdQpg3fX30c5W3DRu1OOmCcInnSDe2Lc4HnvlMH4WzTJyusuio4BPBLql+aSjHzkpgLfbsFbaupm8sXAVVvWUEVhtkEA3fKXzYljC/9RGqG45T1YXsTyjQHaWq61Uhede9/xcNRSYOabeoqbaJIdlNVvwUO+D5iv5H7kkXdAY5UodEzYeWDCUSZ4u6Kc/Bk+ePfrmvUpz2+2g+kOKTpIg60hSrnMhBcvYSUaculdrRw1yFIc2xMxSZtvM6a2LartRo6m6H0iildO/Ft0pvJZSQPZhQf/2sc1AjJED/VV9fokaGe9SDeDJrm+DYh/OxxBOSwDgW5O5QCPudyWCKmNYpTBYd9bW1YA2msSdOvkWAE/eddTthfr3r6dbPxXGfjOlnKt9azWmmdIzZ2yRWfO68xt6arjBzosKcmNM/VdL7vi/X36lHuiOsS5oqr6hDBJN3z/9+8bt2FSsBC0yZxznU0W9NR+ldeul515b1hCxCS3ROxmMwwuxwjsch7Jr6/w7A7JL0TadgfoOhlFcXeQ8VXGCwFl1lUoVZRM8QMYOQuNTrkyz2IFJukiv5++Euk0QEwJ8vh3MAV3evOya9LpBCCig6hg3VvYtICj66hEKIK7HAq6vf7MIyjqYYS2ihfYOGfQvwgEMJut0JqUntNkjT69ET46Z8bC/rYIuepVxI8JagXxwo+rpgHOw/YAoaBlD/e/Eog3xHFnnt+Cg0o0Xqw43Stb3YN/05f+IkxdsRkEKTl7hSQ9Rba5r9Hz+8zBDd+CrDMy4HFuLRJ2OShL7S66zU1sZTLWicbiqrYAH9LN14YzLaOrzVf0RXU3Guigsh/nna1Sx9298pvXZBsnfO3rP8xIqEDwDTRlanw5Z0yN9es9lMK04QhoGyPZ53XIH3/WrmSYtI5cuQUPXoC1D7/GOIdnOpcvxt2Ylk03BqgUbm43+8S40EmWzWWfmZET0EeHLd9g62EH01UJr/z+LRB8pReyeTAdOdU1fQPLPLpo8iXt1M2nmz7XcKpwIz9PY3HmTqXT1s2PmC5sDxJOUV5GwwYEIjrTFzK4fPw2lBedMw== X-MS-Exchange-AntiSpam-ExternalHop-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-ExternalHop-MessageData-0: RRH3ryhYmoFEF4Jn9EDnPMheRbChzy2uTW/xIzdzP2YpmEzThgU9EEIcwce6NvV+ANXJSiXUbFhYEjY7Kc3CRbYeeMgOMQOUckyw0daVUpcK+9m2Q0GbgM8sFcw0mG/Pouj5u5+PCxSxDu46S4dG4e/cexySftnfsZml9UsFuz4t4mV+BDOWcZJ2+C5+8oXtrYicS4Fti/vaYjKww7f1MO9ffreM/jfpxtjOzk4lTogDkSlq+U5w+T1mn/n1vbVIHDWOkmb6Wq6U8R4D4GPUX8DMIRZTNr+mpGExbq46f7Uais/bvVOSDVjqmnu9Pyq4YO9Fo78um7E3nxNDY+nw069un/iAa7Qy11BuccleEjUCxbL9H/qDR0r5Z/FJJhf2ZFsoB0xiiDEM5bY5/cyXf/GBnVgrSf+9d/bNgt10OEzaqVXabO2ucuztXE/c/Gz/m2AEdMmvIHr8wTz/dYL+6XoapvpEp7dCBVnoSXq/XSR++BIKgjk7lDCztHF+EZmVuzos+VT82f0LI7MpseBN84MVqNNv/n5KCPJbrFBHN32kcDOre1o1Q3q1M6TLx4I0ecQyQLYHROxpGjgFPYk7zc3iIEuFqF+cXCxTJD4LyV0= X-OriginatorOrg: oracle.com X-MS-Exchange-CrossTenant-Network-Message-Id: 9ef1313c-d9cf-476e-ed46-08dca115cb65 X-MS-Exchange-CrossTenant-AuthSource: DS0PR10MB7933.namprd10.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 10 Jul 2024 19:23:35.9514 (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: rVEObsdGaMrw1TIoCziNi/dfH/DdxpB6RwnUN8FtlBLtqv+YsGUfors/zWLLXJusyqmCzxiTe3YiZ+qtwXiJxg== X-MS-Exchange-Transport-CrossTenantHeadersStamped: PH7PR10MB6106 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-10_14,2024-07-10_01,2024-05-17_01 X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 bulkscore=0 malwarescore=0 phishscore=0 spamscore=0 mlxscore=0 suspectscore=0 mlxlogscore=999 adultscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2406180000 definitions=main-2407100137 X-Proofpoint-GUID: d2Azyu8hUA4IQ7CrbOnTAHCmTHXtFNRf X-Proofpoint-ORIG-GUID: d2Azyu8hUA4IQ7CrbOnTAHCmTHXtFNRf X-Rspamd-Queue-Id: 2AE6C1A000A X-Stat-Signature: g1zyxcofqt6ugb7kdbbah9kewenddco9 X-Rspamd-Server: rspam09 X-Rspam-User: X-HE-Tag: 1720639431-956948 X-HE-Meta: U2FsdGVkX18IB7KBOVjP4T1g47NGEu6JZBGymlv/jzwlNBDSpZq8Kt1Vn/jseAl0Vc5xksj0D12MH9gtB+aSK8MT7OE2Vt+7xRPNZIn4ykiCbIiN8VqhL8nq0Bn83D9E48uJQt/V4Kd5gFAp6eDnYKZ6y6aIIt/2cLCRFtwvw355pNXQqAgXmCA3oFaXR8ihE3KclTga4nKWRCbb12LSvnLVwtEwEMj5mSm6jnIvDD4iOUoMRfxkHT6q7EWfBok6C9Om+Rcgs9aKHG5J8YlOIGiqw5Yptqg6yDa13WPr8T6d3ZVc8Z5OC1xLAFMm93bXwX+QU4IqBle9NQxQS24lHL03TGunOnRoRzgNASsJmazZACweVI5u2213qYixG+iMjcTXji2iSGPCGcLwXm0zeYmp0X+Beccs6uRccX5Y116UEs9gx+41JYLL3qnIV9ltdmVPDPdKq0/pg3xC1pB4yZg2fFJAv0NsSFpksYNtx07ldQUQ9YmcvvP4Q9T0iuNlC6hrlbNjjqEka43r2MHDTiAheSzqnTLSXlkEEXnHlD9C6BM75r212qfM/XN7xN2bGwJJo+jMLZv0W/DhMsoGI+HjF50DFZ/P/WJ/WbFgafruTWwwnF+9LX7SgaVxbG1WuEMW9Gq0JlxwFIBNPuaeb2KxnYTZvMBlQUwvsrgrGCEjyZEi7c5kY6lMcU5CLDlsGNCcTuk8RdaQCjk6rhxnzR6rjAsCtBimTj52alIa4BpuYzL5uZ07FGIeV7l8Xh7FG1VoYPIl2DsFWVhA6mtvz4jdETeSU7+Ok/3AIVirCZkGTmAphRS5HGNjuBD2ydmHaV9LIb8TcP8APdzVNoay6XVAmpGBUUOXMvSiyxyJ+iFGY04SGQ19S5IgZlhSDsnckp6mnhMktO2M061kxu5Eluehu0Y7IkFUbNMnTPZ/k0yugWPOomvAj0EClGCuLzJp/3CYqQ40jmv8cER9pD+ bSXTYMgw Y+SEzqCAEZK8yvKyHxTv+WBqBQp8osE5miGxwSBtRS2N07kMNzuH3oF3FFzdeC3rXqYd412KPcqH3XyforIQdlGCRHuBWTTi69V/FblNjV9tgFKPShpsX15YJyvmXDa61HYMycPvvjsoBQ4CdAlmpffaiyMXrLd4IioKeNO5wxwXF+5GlreIPy8nLbHSDtu1ljKLLDGC2UToA3T65T8kn40Wet+QnPRLWu7nmc4jiJkDZEKr0yvxV+WSIRhU9CEnK17sGZBhSTwF/HJEmN2sL7lHDyYBCaHjt+WA0mIxpe0xGjYSzoZrsjten4c1LT6Op7ZpgI968IqgMmyLrOHCEiy61yjfIsqCN7w/IgvKf3Q9iEHjZgAPbmQGP0iMor9a/tIO09LNXGTSZZZruJHZcVWOpiQGyHx9EdTleCcHRaVLrfRgu/3bK2OV6MuhDoTm16+qxaGksqcuYV6hGmcRSEockn+S/waH2uyMYDQQAiSAT623Vl6REOSrwx2BQauj05E6hAYITgmOX6HGDQEhtC+DZCByByLM4I4ZlEDR9NUsyDTioK/4XsOQD+/FSf3DQOD6IrYR46hNHI7E= 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" Without an arch_unmap() call anymore, the check for mseal'ed vmas can be moved lower as well. This has the benefit of only actually checking if things are msealed when there is anything to check. That is, we know there is at least one vma that is in the way and needs to be checked. Only call the can_modify_mm() in do_vmi_align_munmap() and the MAP_FIXED case of mmap_region(). Signed-off-by: Liam R. Howlett Cc: Jeff Xu --- mm/mmap.c | 24 ++++++++---------------- 1 file changed, 8 insertions(+), 16 deletions(-) diff --git a/mm/mmap.c b/mm/mmap.c index df565f51971d..c343366b3ad2 100644 --- a/mm/mmap.c +++ b/mm/mmap.c @@ -2849,6 +2849,10 @@ do_vmi_align_munmap(struct vma_iterator *vmi, struct vm_area_struct *vma, struct vma_munmap_struct vms; int error; + /* Prevent unmapping a sealed VMA. */ + if (unlikely(!can_modify_mm(mm, start, end))) + return -EPERM; + init_vma_munmap(&vms, vmi, vma, start, end, uf, unlock); error = vms_gather_munmap_vmas(&vms, &mas_detach); if (error) @@ -2899,13 +2903,6 @@ int do_vmi_munmap(struct vma_iterator *vmi, struct mm_struct *mm, if (end == start) return -EINVAL; - /* - * Prevent unmapping a sealed VMA. - * can_modify_mm assumes we have acquired the lock on MM. - */ - if (unlikely(!can_modify_mm(mm, start, end))) - return -EPERM; - /* Find the first overlapping VMA */ vma = vma_find(vmi, end); if (!vma) { @@ -2963,13 +2960,15 @@ unsigned long mmap_region(struct file *file, unsigned long addr, if (!may_expand_vm(mm, vm_flags, pglen - nr_pages)) return -ENOMEM; - if (unlikely(!can_modify_mm(mm, addr, end))) - return -EPERM; /* Find the first overlapping VMA */ vma = vma_find(&vmi, end); init_vma_munmap(&vms, &vmi, vma, addr, end, uf, /* unlock = */ false); if (vma) { + /* Prevent unmapping a sealed VMA. */ + if (unlikely(!can_modify_mm(mm, addr, end))) + return -EPERM; + mt_init_flags(&mt_detach, vmi.mas.tree->ma_flags & MT_FLAGS_LOCK_MASK); mt_on_stack(mt_detach); mas_init(&mas_detach, &mt_detach, /* addr = */ 0); @@ -3341,13 +3340,6 @@ int do_vma_munmap(struct vma_iterator *vmi, struct vm_area_struct *vma, { struct mm_struct *mm = vma->vm_mm; - /* - * Prevent unmapping a sealed VMA. - * can_modify_mm assumes we have acquired the lock on MM. - */ - if (unlikely(!can_modify_mm(mm, start, end))) - return -EPERM; - return do_vmi_align_munmap(vmi, vma, mm, start, end, uf, unlock); } From patchwork Wed Jul 10 19:22:48 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: 13729612 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 7E8AFC3DA42 for ; Wed, 10 Jul 2024 19:24:25 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 28FF36B0085; Wed, 10 Jul 2024 15:23:57 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 223E86B00B6; Wed, 10 Jul 2024 15:23:57 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id D63E16B00B4; Wed, 10 Jul 2024 15:23:56 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0010.hostedemail.com [216.40.44.10]) by kanga.kvack.org (Postfix) with ESMTP id ABD546B00B3 for ; Wed, 10 Jul 2024 15:23:56 -0400 (EDT) Received: from smtpin11.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay01.hostedemail.com (Postfix) with ESMTP id 780711C05C7 for ; Wed, 10 Jul 2024 19:23:56 +0000 (UTC) X-FDA: 82324818072.11.9DB54A3 Received: from mx0b-00069f02.pphosted.com (mx0b-00069f02.pphosted.com [205.220.177.32]) by imf24.hostedemail.com (Postfix) with ESMTP id 3A93218002F for ; Wed, 10 Jul 2024 19:23:53 +0000 (UTC) Authentication-Results: imf24.hostedemail.com; dkim=pass header.d=oracle.com header.s=corp-2023-11-20 header.b=HkDpNiZv; dkim=pass header.d=oracle.onmicrosoft.com header.s=selector2-oracle-onmicrosoft-com header.b="CVj0QTQ/"; spf=pass (imf24.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=1720639417; 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=Bpx+5nt3hJiamwLBX4gv68ojQ6NnvKXOC8koNrrVhow=; b=lccb2j8MpsYu3xk/kZH0agaEakAbVvVo0zXonGyU3PgqShDZOk/9U5MWIrWDIX9m8MEx+n FMQt0cGXomsLymokjwVNEbe9Ul/BgYDyCyLbTDvJHYge8rxYCTppITxRIJa6ypIorIcj2E RVWQKyPCPNBcpwP0FX3+z21mdHoVCdg= ARC-Authentication-Results: i=2; imf24.hostedemail.com; dkim=pass header.d=oracle.com header.s=corp-2023-11-20 header.b=HkDpNiZv; dkim=pass header.d=oracle.onmicrosoft.com header.s=selector2-oracle-onmicrosoft-com header.b="CVj0QTQ/"; spf=pass (imf24.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=1720639417; a=rsa-sha256; cv=pass; b=hwG/ZBudIdy/mWR6tIcpxa1G8utIeVhgzGsmxDVHkNApCGREzJG8i9/ST92MZBnAmt0a8o LFZvWJ9PeUbrsOIjmF5LW8EBCOgtwa1Pk41dHVu2cLtG10NUL1U33yfkGiSqM0oMpX/0a6 njFr4t/FuHZaRx7Y04+O6oHMc/q2APc= 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 46AG2MZ9017489; Wed, 10 Jul 2024 19:23:45 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=Bpx+5nt3hJiamwLBX4gv68ojQ6NnvKXOC8koNrrVhow=; b= HkDpNiZvoTyS0ci1plBmRso2yTmEUNSEbkD+K3dLWtSuIJ/PKr+PXrl3oaKrKW8u tV9Os/oD91STb3pRfMsmjDKy349PGaD2xX+WAVkXwBnHw3wqDY6DT+H5O39oikD0 RnNF5ZY35xAHfvMwkPnNjEa3n47rpso9kpe6JOuo17vjp4KCxbSvKNVxcm2lKe3X W93Nywt9m36xGn/j7lctteYwM9KVOPkRbH7qlVlDDhYEmBEJ2xefjw6Dh+XfQwPS rWToIrCp1M1clBEmmPKmnVgBC9porL6FnZ+/3+F1Kkp/JqjPC4FD8jzazEkhc9RF tdS04gcSH3SCKCap8zBhPA== Received: from iadpaimrmta03.imrmtpd1.prodappiadaev1.oraclevcn.com (iadpaimrmta03.appoci.oracle.com [130.35.103.27]) by mx0b-00069f02.pphosted.com (PPS) with ESMTPS id 406wybr4dt-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Wed, 10 Jul 2024 19:23:44 +0000 (GMT) Received: from pps.filterd (iadpaimrmta03.imrmtpd1.prodappiadaev1.oraclevcn.com [127.0.0.1]) by iadpaimrmta03.imrmtpd1.prodappiadaev1.oraclevcn.com (8.17.1.19/8.17.1.19) with ESMTP id 46AIlfXv010839; Wed, 10 Jul 2024 19:23:44 GMT Received: from nam10-mw2-obe.outbound.protection.outlook.com (mail-mw2nam10lp2042.outbound.protection.outlook.com [104.47.55.42]) by iadpaimrmta03.imrmtpd1.prodappiadaev1.oraclevcn.com (PPS) with ESMTPS id 409vv4s3w9-3 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Wed, 10 Jul 2024 19:23:44 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=AiP3JkxSgxHqvBCsSZz1Q+y9f7XVs3gyphSdRcPmdI/Osp/DyCHL7F4PnZ4uF6DQ/Ikck8wI1hKedwpmiqb/ExwMfZowtxC90II5YqXjl+hovgJEjIVBXLDGrPYTNo7OT3AQwqsM7D+nNLDWPPQTrD4tFbgV9X0b8MdbPJKibc+91Kn/j3AAVZgO1H4vJehHnkl1YG8kOFKr09+PAJHZQN9XMZ74o2KUtnQoUMlAAq8HM04zXlxGlzOSPu+0iBStFQm75NLVy+YMlnUbzjuGv10TVrkPjJY2K7aqSoVesTYYpEksDmzCyMTep2OhIfsbpBAc3GLeJhV95q47vFCt7w== 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=Bpx+5nt3hJiamwLBX4gv68ojQ6NnvKXOC8koNrrVhow=; b=CwvlxWfn9YJ0e8K2GLYHZa+q80kKHYBxbtGzA9TkA72qtNX/9OnCvQu32/KmaPcQ/cxNRed1jLnq72zCaxSnh52utP1XthNQ5ZXHVPI2xqWxk3dpLvUBmzyUCjrkPfFCcY/L5hwJOkfD3LavhpiNYfjT8KwjWwOW1NnlkqRMmlCiK07EQ4tKU8RToA/TOjB/EfHCPB1IHw7zJ3f1KSX/+xAEWhO/SMrN7hSspzIRP6tkO62NmFtUW1auFiLFZ8ydURy33Hu0KaQX4SswwxCmZ0S4i1SpGFYLKzmHxx6WULv2j14AUoeW4FHz4a40cHHl36g1Qm1jH6QtBZVXuRloEQ== 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=Bpx+5nt3hJiamwLBX4gv68ojQ6NnvKXOC8koNrrVhow=; b=CVj0QTQ/NtNtmscxE/mQ667xCaZ8are3W9P6GiU3lhExOXTF/Q8unEOaTfWzyNNro3Xn1YUjfl1kKbMNx4vfaUZaeAtH3PWOhGPULyeP0TXs/J9MVbXUMDr9mH3qsPuqrKaVB9FNlCwO5LUC1VD039HX/7igpSyHYDTuBue2fKE= Received: from DS0PR10MB7933.namprd10.prod.outlook.com (2603:10b6:8:1b8::15) by PH7PR10MB6106.namprd10.prod.outlook.com (2603:10b6:510:1fa::7) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7741.35; Wed, 10 Jul 2024 19:23:38 +0000 Received: from DS0PR10MB7933.namprd10.prod.outlook.com ([fe80::2561:85b0:ae8f:9490]) by DS0PR10MB7933.namprd10.prod.outlook.com ([fe80::2561:85b0:ae8f:9490%3]) with mapi id 15.20.7741.033; Wed, 10 Jul 2024 19:23:38 +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 v4 19/21] ipc/shm, mm: Drop do_vma_munmap() Date: Wed, 10 Jul 2024 15:22:48 -0400 Message-ID: <20240710192250.4114783-20-Liam.Howlett@oracle.com> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20240710192250.4114783-1-Liam.Howlett@oracle.com> References: <20240710192250.4114783-1-Liam.Howlett@oracle.com> X-ClientProxiedBy: YT3PR01CA0135.CANPRD01.PROD.OUTLOOK.COM (2603:10b6:b01:83::32) To DS0PR10MB7933.namprd10.prod.outlook.com (2603:10b6:8:1b8::15) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: DS0PR10MB7933:EE_|PH7PR10MB6106:EE_ X-MS-Office365-Filtering-Correlation-Id: 3413d912-e0ec-48c9-e5b4-08dca115cc90 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: 9U1Whxo0UgPiBfA6sW1y61ZXXAUtRIVQyLrS5IF6+S2wblEoXZmn9vxdtVJuGdSo/pCD3QU8nhqQSvNcwjSSQMKXScVuW5guuVgLWg1m5N23uWZxQoP1tgMF32hXBIdyIfVY5NHb+BGf30Xhwtu6ArhbYbJhdhvoEKYYs0DUc6hcqXK9w9DeuOXcQWAHzq9DgH4/Mmgv2yScAUTbtB4htGiKKjwzbPRj6GqM0L0NKJDf+RHezfSsCcw8MyaKpAlMgC+oqToyD0SBY2uZPBI96oym9w9YKCbwlhjckx1Pp9wOlNyP1YYZUHXgAD9SAyxc3zl8NIEukxC5Ua6ykR8gRQdIGGmrDnjU7DQX9w6kW+cIeCWEN8YINMDDVD7BvIBCWJevsQs7oUMl2tOA3mMQzqYCycTCQBGwoO/f2pvsNdNd8qLkwJq40TfKEqkw1k4Qt7bdSd579FsiMZhoRvCk8Yt/B1VhGpqeKIjY1dzRJl6z0w+inFp3iHIIpaYK/UDDaPxAl09bGLdpCtTwyydcAaELO0RYLgLnmkeln72j7FvnkNp0sYk3bvmhLzdZgvHY+cyac7tdgR4+I1RPb9pIh8pSN6WX1iAi3h4w+PwAuARz82kTzHVBcJFwNqF8hpOvonLvub7FJIv/ktU9oYkN3uYUbyQULXX704mob0wyrjPQKEYJNDltePqNglwxkBP1zFpls2EwtVqW3Wejy2V951/nQV980NkoaZkSgSsdKGZ0oxF+XwMhoGPEh/TZYmx1PGKYhivk7qibyEf+7lCZNvZSso06PK9AjebLhsIKQeXYRRygSzf6rcXlvEwnKBIwfB2Y4hN5pCX2pBM8orEP2rgisPBP24rrLMhZZ6BA8VDbr+5jTxLCy4T46aAYonK8pIWc1VprzHVBzte02lYNfNhSPOmSj5Iq4QJdyB4e0X9rSc+Frm8KfX14NeavSdWzfO5L7p9EGqfCjG58a/013q0iwhO0W3+EcPuE8L0BnlSnF9z7EkA/Ji4OBIzeRsL9/7Z+3AfyN7BlQeW0FVZ8Rb7ITPT9hUxI6K3hGjkUwR5LYrUnJVcgyU/PdGgv/5ez2VN1M/qLi/xNC2mM8bqSy+DXT5c/yMyH85LP048vgPSzBI2GtYFvrB506TChQ3QeBW4omklKLSQ8GmF6eLBmN83VJcGUQZtpQZ0loU3hEqwi+2u2JDnYzipmlzeFJkimghGYUcNDO58Myt7CnVfSEc6O0nmdQXFSYTHSKAjMtrxpjuBXHt5XCNfq8Wqk2TPIal+JIlQF/8O6YfZh730SSb/8SCLexhDCXmWsK9ilGHxkjqM5G5t0QTIR+UPJ8f1fAOHPL0KAnVAfflbu9Z0kQw== 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: iFsWf90qc9YJ7vBAasN5sgryyf1ltZ+ab4nzeIc55mg/3BZU/iS5P1HzDny69c1QY7/ey7YfHSZ/0olTFXqFnEEtii7V/+3++XzPYGHldWxDyIt2Rf6Qv4KIsF0ZyzaXy/djFQQqjbKSVzVzGnKlUsnwzXEXsELvGQR+caCtyfSWxGscJ50FsqO6S8BhBkHMI68c7RYBD/hvWVdmLQiwJwzkcZ9MTq7gJ+zj1RfoVAOO4ug0EWShzHSYzzw/HGOxZn021hgmNS1hOu6EDPL9Ur5nvoSrJjtKWQV6QmuuZVYGw+X2PPKPkxE23Vqjq7BnlSwC9Lf4eaxhyAwippxB3RkCWlZIII2Pq5EcQz1GOFkGAyjX1C47oi2szYEsIemVPx8B+7R+mmE1ImNbnXhyspXfB73j0u6p6erw9edw6GElHD66L47SEq+KuPcVEVdxof3huKKbV8qLa55ws1ewddxVtyvcOS/+mZLjNWSiGjmCMw7cMV1l7w9Ab7DrE1/0grARwy7Uc2rfUImrxbert5YxWDNI+s40tO9zRFmqJQ4WpDRgtj1e2gj+iIyemUL6GAbhOD4epW098PqLwIugrpQYke1UNxlO2TVHecZqh1sFZ/PY04q13yfmMXBXtLyj6C/iumdP8DXtQSLhSE1Fb1xeN7bVrcXhwveTLMpVbTUPc81RBHQpR+P12yVIksbPyNLO6C4y7ZPUJz+AYJnW6ctlJQrIjCgjgdHdg3mUBvL8M2K0aK+dYz6mZ+YzXsSQpec6peAw5cpfIhYVViCbHLjhieVg6uumQ9+oYN8acT3WyCBZwGRXu6t0T5Y56lTJ2LOewtbtlTDJQdP1LxVLmqDOTcpMdUXhXNkHTQCZ5J2VqOdHAPuv+mTnwm0W8lO6nGNy+fxJEOx1KUagUo1D/ySdYZDFyjTHubcr5XyvD6UTVGl4F2DvUZEzdHFAC3LHEXgqLpGlY7KWyx3cDmmwNVIEA5gJq0ZFmZDrDJuHezF22rR6EUVIb5NDuaqwDvc02dYlYdMrnWkdSDGM0q375MDDoZvJIt5AIDQcluTZXVZCXaPSjOkaqozvd27p+6EUZkEkVcw6MWqH3iGcInHW2emaXKHDLM6hlHY+2JO8LDc9nqOkmX+P4TkHwL9w5y0/TyuHJ6Q5qywtXYn9nOWgYPkZ+iIn39TG8WeRLXe2INx5FM6g6BfdA2iWCkJAO8F2Hxr5MTU1V9w2ZKOv4nteyoXPXUCSO6S77cwI0smFGC+Na1CbvkskfcQdJ3Ll82YsMIgK7SJgi2QeJl3vM9xJ61mVlsbfJcX4pCXtS2nc1ZEsrxiSRo3ayZKUmo56W/nVD8/tDFYtFkGtoPM0ucnX1zF6md9uM+7tmUvp5YpeC0bWkRb+o5GB64+u7YjlQM3Hew/JJLSxj9LXAGewl9QpZGZfI888Rp8L36bC5gokaGps4qiQniBKRmisM2/Z4ugIzLYmvnpLPRUEZsJbsqb3qVVjWWkSa8SnBvL/JDDN4pAWU1elz2+I515KlopLPWBl78N5PnGi//co+0obqrIONdqJfToFgT3Gzda51Puj/IAGBP1G0l1uFbdcZ8DngXlevNAqU1e9xeqVFiYOBGUI4g== X-MS-Exchange-AntiSpam-ExternalHop-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-ExternalHop-MessageData-0: QsRfH5p7mAWDoFgLiUMLQUCn0vL/VDqGqgk7AqtT3ma32t82UtE791hGfNLpFbqM5J089Dpr4rD7nOPFyUVcDA5y40fwlYATTj/GcP3oU6fnaQ4zW8SwR3v9RQWNl6Nkm7SGTsGVpeklqFq/Cz2QAt1Q92Q0LExG9bgbsb36HEFdTAuR0VebAmVbHqtNlxcnFlbPdny3+HYf7C9a0Dyqg1o0mh3F8l5Hn40lqniLa/wsM2t52Rb6QG+Egrw24cp5T5RHFZgmwoQshNFy33DJNJInLRtab3f739jYp1U5HI9GDpkpgLz6kt2h8cSXGkQZB48LOaZvV97oeR6TsJfuflTy9ir2yxU3Kf58rYCERzny2e3KKh5UieMOIc1s6GyRiJGP4A8CtBG41UFm7CChHwkXCI+E0wP7fOebJFmRgluSXPuptrAZ/IQlTy7BNCFu3p2gyS8m+yXM09bWvHPEOrCL4purYZ+Kw1PjJCc/ElUsshakg6IqfHqPqeKw9sRbiB9ldTsaDigpKZv1m4VSLXjZdB2oFapXmiTqaK0FxZag7RJAEQC1DKWn+IjD0/HVLycFIAWiZ/1NzE4L8zlF1ZZHf9XU/8G6CGuylDBa4IA= X-OriginatorOrg: oracle.com X-MS-Exchange-CrossTenant-Network-Message-Id: 3413d912-e0ec-48c9-e5b4-08dca115cc90 X-MS-Exchange-CrossTenant-AuthSource: DS0PR10MB7933.namprd10.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 10 Jul 2024 19:23:37.9389 (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: i2rQz9TCfj3FZY/eQ/mPhd40nm/fs7HyDlHFIFP2cbIvjfPI/sk3YPwMo1TYlx1SK98j7a7zj3pnjpC7qhCHZg== X-MS-Exchange-Transport-CrossTenantHeadersStamped: PH7PR10MB6106 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-10_14,2024-07-10_01,2024-05-17_01 X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 bulkscore=0 malwarescore=0 phishscore=0 spamscore=0 mlxscore=0 suspectscore=0 mlxlogscore=999 adultscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2406180000 definitions=main-2407100137 X-Proofpoint-GUID: 1FcKdfosRXhYOwXFQVBbYeag7KEW4t-q X-Proofpoint-ORIG-GUID: 1FcKdfosRXhYOwXFQVBbYeag7KEW4t-q X-Rspamd-Server: rspam03 X-Rspam-User: X-Rspamd-Queue-Id: 3A93218002F X-Stat-Signature: c1ukt7duei6n57fz84unkpudxxezy19x X-HE-Tag: 1720639433-763010 X-HE-Meta: U2FsdGVkX1+ziSSEmhcnltDuy/S34eTGFGj8kOpnVOfpZvvTDULQHlNCvvFGQJcf6wBz1gxHoAJCkq43YaJefptsrtjt8sSVNSHTYuSlOcT+ZmBZxhm/R8LnfVKoHK2w3qnbl+7V7KtIa9GfT2IR1m3wrrpNPkkcC6xY7nQZMdr8tURPJUx7VJf3L5rFzPHMlFjMOnzS41fP3Ap/PHNXuJrU8jKzxIkzPwLs/N9CFpIzMQmHkZAOLvSfY7uyQ3/MLkWqW9+EkXNeY6ndvJLzbafRhZ0uvkiOOlnEE8dmgHAKdV4InZ/K7tYmAaLTETmP6MJcU5THbvME+ff1k29VwEhRlqDfCqtBw8XSX/ub9UDZaptxtohWOFPejc60QdncBoQRwvvBlsNzGfC3Ih+ssNWwJsOidc8Bac8YdJma4vLAfbSCZnvK+QrxoiOzjNBzBz+vEyFo9DOK9lwn6CKq78EHQKPdITkD64QeJ0lldelXN3u+1BQOckvB5EHIvoDjrUNU7/K5W4CEQAC1cp/cvwJXtkSg0VG/G6ovmJ/U7w9hjpBNyfVdQl+eTvENA9dGmO3tN91XdrkdRyvHnfj1SY+t8ypZphG5n8wAHOo87oDOJSpu3p0qIZruLJS//wxDYhxhvvQrEY91y7OHkpAWfgCwhkzjhKXgI2+7YdsYMsthfrFwtO8ezouJkPT8LlVPkbTwoBK1Yja3y92/EB3/wnDNp8CQdnGuLCukQS3J4/48RVAz7WO8o0x3+bhNuHF3t/98EYhIDjS5iOS7+a0m4dXpQrFHnKpeW5jtmud9vTMUMNCXyTh7z9xjfqvUvVcgsRWL2een8XDpPDZAIgqLk/zw87ienI6P1EpdS2rFyD6VTHNkKQ3T7kO4tZUtJokpAAcQKy1cwtc9L+/XK3ASX2RqFu/KXWCVG8gjZgoCmU+FSulnVMfdv/JGSTFALG/bm2nZk5sv4YMR2g5OatG GdngaNjh T29FtUksWeL1K+7v9VS5g8K/3wEJJBSNjDOOa8ppT4BWw0YZ21SL1rftSzisJ4PI/hn9GZEk+fPjcYbRzjUqP0hO/BAC8jnJMSgqUL2380tZMA7meyaa37rVlEZ3kfrVjhUrgyAXix2Lb+SHodbz7bRYDLFjciH3CJDvZiYi1TTH3U/P4UI5tIO1KArfbVjOSsnkFqT7oHd2yEU2GVReYx1txFXMmcaUw0OtGrS07vqIxkx4dxkKtfU0hDDO3HZIgHJanr2fX0+pjaixNthlKr3fXteeGfdaRidKZ7AkeNrcuIHH4M+tA9wnVpaExiMsNUmPna7TB7OatRPLX6OXrLXg4uD1yC4DxD3dt76+ei/PWTrh8Jrjp5wQ7eJXzQ1AvGaODyDBgCLFL1eMZyOz/dJojvhX/2EVOfZPNz5QFFRNDBtjDqL+r0pNgnCEqanKndvvN96xQuk7PZSyrNPWxsicvr79djjiSn0mw2ixfjjqPCTPfanCL5qI9mYpHZcWxWBswh7CKVt235mm5vWu5fEKbsA== 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" The do_vma_munmap() wrapper existed for callers that didn't have a vma iterator and needed to check the vma mseal status prior to calling the underlying munmap(). All callers now use a vma iterator and since the mseal check of can_modify_mm() has been moved to do_vmi_align_munmap() and the vmas are aligned, this function can just be called instead. do_vmi_align_munmap() can no longer be static as ipc/shm is using it and it is exported via the mm.h header. Signed-off-by: Liam R. Howlett --- include/linux/mm.h | 6 +++--- ipc/shm.c | 8 ++++---- mm/mmap.c | 33 +++++---------------------------- 3 files changed, 12 insertions(+), 35 deletions(-) diff --git a/include/linux/mm.h b/include/linux/mm.h index e2140ea6ae98..40f1db1fb233 100644 --- a/include/linux/mm.h +++ b/include/linux/mm.h @@ -3400,14 +3400,14 @@ extern unsigned long do_mmap(struct file *file, unsigned long addr, extern int do_vmi_munmap(struct vma_iterator *vmi, struct mm_struct *mm, unsigned long start, size_t len, struct list_head *uf, bool unlock); +extern int 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); extern int do_munmap(struct mm_struct *, unsigned long, size_t, struct list_head *uf); extern int do_madvise(struct mm_struct *mm, unsigned long start, size_t len_in, int behavior); #ifdef CONFIG_MMU -extern int do_vma_munmap(struct vma_iterator *vmi, struct vm_area_struct *vma, - unsigned long start, unsigned long end, - struct list_head *uf, bool unlock); extern int __mm_populate(unsigned long addr, unsigned long len, int ignore_errors); static inline void mm_populate(unsigned long addr, unsigned long len) diff --git a/ipc/shm.c b/ipc/shm.c index 3e3071252dac..99564c870084 100644 --- a/ipc/shm.c +++ b/ipc/shm.c @@ -1778,8 +1778,8 @@ long ksys_shmdt(char __user *shmaddr) */ file = vma->vm_file; size = i_size_read(file_inode(vma->vm_file)); - do_vma_munmap(&vmi, vma, vma->vm_start, vma->vm_end, - NULL, false); + do_vmi_align_munmap(&vmi, vma, mm, vma->vm_start, + vma->vm_end, NULL, false); /* * We discovered the size of the shm segment, so * break out of here and fall through to the next @@ -1803,8 +1803,8 @@ long ksys_shmdt(char __user *shmaddr) if ((vma->vm_ops == &shm_vm_ops) && ((vma->vm_start - addr)/PAGE_SIZE == vma->vm_pgoff) && (vma->vm_file == file)) { - do_vma_munmap(&vmi, vma, vma->vm_start, vma->vm_end, - NULL, false); + do_vmi_align_munmap(&vmi, vma, mm, vma->vm_start, + vma->vm_end, NULL, false); } vma = vma_next(&vmi); diff --git a/mm/mmap.c b/mm/mmap.c index c343366b3ad2..18c269bf8703 100644 --- a/mm/mmap.c +++ b/mm/mmap.c @@ -268,11 +268,12 @@ SYSCALL_DEFINE1(brk, unsigned long, brk) goto out; /* mapping intersects with an existing non-brk vma. */ /* * mm->brk must be protected by write mmap_lock. - * do_vma_munmap() will drop the lock on success, so update it - * before calling do_vma_munmap(). + * do_vmi_align_munmap() will drop the lock on success, so + * update it before calling do_vma_munmap(). */ mm->brk = brk; - if (do_vma_munmap(&vmi, brkvma, newbrk, oldbrk, &uf, true)) + if (do_vmi_align_munmap(&vmi, brkvma, mm, newbrk, oldbrk, &uf, + /* unlock = */ true)) goto out; goto success_unlocked; @@ -2837,7 +2838,7 @@ static int vms_gather_munmap_vmas(struct vma_munmap_struct *vms, * Return: 0 on success and drops the lock if so directed, error and leaves the * lock held otherwise. */ -static int +int 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) @@ -3319,30 +3320,6 @@ SYSCALL_DEFINE5(remap_file_pages, unsigned long, start, unsigned long, size, return ret; } -/* - * do_vma_munmap() - Unmap a full or partial vma. - * @vmi: The vma iterator pointing at the vma - * @vma: The first vma to be munmapped - * @start: the start of the address to unmap - * @end: The end of the address to unmap - * @uf: The userfaultfd list_head - * @unlock: Drop the lock on success - * - * unmaps a VMA mapping when the vma iterator is already in position. - * Does not handle alignment. - * - * Return: 0 on success drops the lock of so directed, error on failure and will - * still hold the lock. - */ -int do_vma_munmap(struct vma_iterator *vmi, struct vm_area_struct *vma, - unsigned long start, unsigned long end, struct list_head *uf, - bool unlock) -{ - struct mm_struct *mm = vma->vm_mm; - - return do_vmi_align_munmap(vmi, vma, mm, start, end, uf, unlock); -} - /* * do_brk_flags() - Increase the brk vma if the flags match. * @vmi: The vma iterator From patchwork Wed Jul 10 19:22:49 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: 13729613 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 353E5C3DA45 for ; Wed, 10 Jul 2024 19:24:28 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 9E6766B00B4; Wed, 10 Jul 2024 15:23:57 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 91F026B00B5; Wed, 10 Jul 2024 15:23:57 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 6ACB16B00B6; Wed, 10 Jul 2024 15:23:57 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0010.hostedemail.com [216.40.44.10]) by kanga.kvack.org (Postfix) with ESMTP id 111316B00B5 for ; Wed, 10 Jul 2024 15:23:57 -0400 (EDT) Received: from smtpin09.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay09.hostedemail.com (Postfix) with ESMTP id C6A5180206 for ; Wed, 10 Jul 2024 19:23:56 +0000 (UTC) X-FDA: 82324818072.09.CFE7F9A Received: from mx0b-00069f02.pphosted.com (mx0b-00069f02.pphosted.com [205.220.177.32]) by imf23.hostedemail.com (Postfix) with ESMTP id 8EBA714001A for ; Wed, 10 Jul 2024 19:23:53 +0000 (UTC) Authentication-Results: imf23.hostedemail.com; dkim=pass header.d=oracle.com header.s=corp-2023-11-20 header.b=EYKbQRth; dkim=pass header.d=oracle.onmicrosoft.com header.s=selector2-oracle-onmicrosoft-com header.b=j0xantRZ; arc=pass ("microsoft.com:s=arcselector9901:i=1"); spf=pass (imf23.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-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1720639401; 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=R4F8rao3MjayBNoKJIVe/EoeHe5UK5E2GYhCX8D9hFU=; b=zl8+xfgUHFkWAcYtN41ANC5pFs9XeIWkuBf3vg8bwX/qKH7DrgRCbi1TKGH0TaBXOoNWdG hwQ/wZVP4UMWQ7uWPSkjd+G8vhcdvWDMfYkpSxTG4Z4MhwnfDiCKk+m4COre8E4p878Nyk voKxRahMO8LIJ1n1ALhPF3Uc5Dx4hWg= ARC-Seal: i=2; s=arc-20220608; d=hostedemail.com; t=1720639401; a=rsa-sha256; cv=pass; b=hfXATXIJxs0qLVw6XH/uq5rPJUFFFDduDhAAaJ0ncx+8DQbUEfBRZADZHy2IW9F/pMUfM2 tAgQAG0ntWrQ00Chpf5YDHI5vyO7gbBQcUpKXixGg/FrqiMCB3i8n/OJiscFJ0XeV0LzXP Uhld5HU1G87D80ppanrpiK4YglUkgeo= ARC-Authentication-Results: i=2; imf23.hostedemail.com; dkim=pass header.d=oracle.com header.s=corp-2023-11-20 header.b=EYKbQRth; dkim=pass header.d=oracle.onmicrosoft.com header.s=selector2-oracle-onmicrosoft-com header.b=j0xantRZ; arc=pass ("microsoft.com:s=arcselector9901:i=1"); spf=pass (imf23.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 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 46AFWakw012654; Wed, 10 Jul 2024 19:23:45 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=R4F8rao3MjayBNoKJIVe/EoeHe5UK5E2GYhCX8D9hFU=; b= EYKbQRthbj7NQZ6eoauLLT9CJ/L62ZLEYdT1i4Y4oLUOKmF2mMTp2lKuFV7W6zC+ WyvDwH50Smg4hwWkQOk9DybtQCwgXedy7y1GY8pH0vmIFrABc1mBhre5fiGzeQmd bq66Nx+3heWhyz/XAz/J0IdnSymaZp20li//E0QSYpsGArligRsFaHwGp9J7csR+ g5WQNp8C52aYmGf9eoLVceAeF1DdFiWFOsD30PKUKz1EN+uDX6QNvMJvKHA0Bv7M TV5foTjn63QP4S4+u4mMN8xr+MpMUKnpgeOz76gJ4pLRTQ/G6qf1oAYxryypVZVA OZDbFY9xeTcnxLCJGmNjVw== Received: from iadpaimrmta03.imrmtpd1.prodappiadaev1.oraclevcn.com (iadpaimrmta03.appoci.oracle.com [130.35.103.27]) by mx0b-00069f02.pphosted.com (PPS) with ESMTPS id 406wkcg0c9-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Wed, 10 Jul 2024 19:23:45 +0000 (GMT) Received: from pps.filterd (iadpaimrmta03.imrmtpd1.prodappiadaev1.oraclevcn.com [127.0.0.1]) by iadpaimrmta03.imrmtpd1.prodappiadaev1.oraclevcn.com (8.17.1.19/8.17.1.19) with ESMTP id 46AIlfXw010839; Wed, 10 Jul 2024 19:23:44 GMT Received: from nam10-mw2-obe.outbound.protection.outlook.com (mail-mw2nam10lp2042.outbound.protection.outlook.com [104.47.55.42]) by iadpaimrmta03.imrmtpd1.prodappiadaev1.oraclevcn.com (PPS) with ESMTPS id 409vv4s3w9-4 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Wed, 10 Jul 2024 19:23:44 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=bfXuo6kL6+QoquwV4ZdshoB/of6oLtHSggFhL3whxQXQoyuiYC82Nm116SBYUyJZVxu9rxD6aDG4btii9fiRMxJC7UKC1Fxx4iN8KKKhsySWprEvRMMvCTRgdZEbkl6M8wzi2C/poK2z9ZZ5CdH+o1OxIFsG/pBFdBadk/QF/x2VBTCtklOYjFPVkkHEQ7/ZNvjb0T9DEoPLsu+PRb9dkeLNfwe7hOGJDzqcF23+KLMw6MCPnXiTSwViisUbIZXSOmBwe9HtIihwcERKMk2f1nlKpZa43ks7NIrOggiWVdUjpYaQyQsAF7X7AOpQw/1QJp3gY86WCUxxGgII5GFGmg== 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=R4F8rao3MjayBNoKJIVe/EoeHe5UK5E2GYhCX8D9hFU=; b=WabtkdCmFD7Vdvl6+tsxNQnORSX6TCDHe1sojUFmYxHDfNi5A278LAKDs203skXhNN0WaQ7SJa69Y+xeRL39gIf/ADknlWuEe1jzls4rtP9ZDCvaALXfuvm9qOmS0LaD1jDyw7pacXMZV4vScIKW4cVgufyGvx64rpkbQtwEaCk+BOg64+Iw2MA23Oo2KFiRzQ136RBbodTX9B2xZlu8FNj1Z5wfBT4Okd1A9jcdDM8BZPhuPMTtIHkGnbni8KAKS2+U7HUm7tkLC4rU3qrPjma9D4qNf9+aTyEk+wtM5QT/6UDllZemVKBHgl/MwM1Y94TmMd0NZRbRoskKb/oKEQ== 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=R4F8rao3MjayBNoKJIVe/EoeHe5UK5E2GYhCX8D9hFU=; b=j0xantRZF7nRYg3afkJ2ksqeVYnHN4sVaCtgO1g0IULyTGcy6LzJfk3x2aGZyiumyDFberlTtthTnZKT36GPFyHOO8mQX9CbFKbc7DazNZNdEzvVL6KbFDq3qWd9z/BQrUBa3XVo0J8D0qd8sC+qPAYUxJ7iHPhw8FCiEwpXa5Q= Received: from DS0PR10MB7933.namprd10.prod.outlook.com (2603:10b6:8:1b8::15) by PH7PR10MB6106.namprd10.prod.outlook.com (2603:10b6:510:1fa::7) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7741.35; Wed, 10 Jul 2024 19:23:40 +0000 Received: from DS0PR10MB7933.namprd10.prod.outlook.com ([fe80::2561:85b0:ae8f:9490]) by DS0PR10MB7933.namprd10.prod.outlook.com ([fe80::2561:85b0:ae8f:9490%3]) with mapi id 15.20.7741.033; Wed, 10 Jul 2024 19:23:40 +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 v4 20/21] mm/mmap: Move may_expand_vm() check in mmap_region() Date: Wed, 10 Jul 2024 15:22:49 -0400 Message-ID: <20240710192250.4114783-21-Liam.Howlett@oracle.com> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20240710192250.4114783-1-Liam.Howlett@oracle.com> References: <20240710192250.4114783-1-Liam.Howlett@oracle.com> X-ClientProxiedBy: YT3PR01CA0129.CANPRD01.PROD.OUTLOOK.COM (2603:10b6:b01:83::17) To DS0PR10MB7933.namprd10.prod.outlook.com (2603:10b6:8:1b8::15) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: DS0PR10MB7933:EE_|PH7PR10MB6106:EE_ X-MS-Office365-Filtering-Correlation-Id: 92ed5a95-e31f-4c7d-90dd-08dca115ce07 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: wUJQwqx9tt5cfmT+qnVeW7vpEzE7yLYJQ5I6/NIGBy0dhKLvLgkYMQC0IHTFa6WG6BuEH6MwIqAQCz1I15WmoU04rr6P1fQNFugym+c1r24J1lX56cLjmV2TeoZSQ5oFotyU7Z0sizADm3KnXc+c5VKwHuEkG+0B7hL1wWqFuXbLTnqdIgheTmlpsp1BbogJOroGqN4V86YBn1bdM3eaGvCgIkW1/cVVCQIBi7X7cjLsvTdQ/rkj5aJyb0ASRkFa3ORAEfVdVIzmFLE3mZnIkQFlN58C4Y38ZqZpV4nP0N85SLX+VtGKIh3gwjn2NcippWrR4ozaePzAIQseKHkiLZqEXv1TsJ6Ldbc7m/c4QcjfntrlB3ll0Jf1maXMQphv97OfUSj6nqxg9JCP0Byf121Aj+z0buVTFCcJisdLEI5l/F4l/1S1edrbuk7gqqWkejgAvU7k6zAhDPLGiUeOwOnT3RFogMwfrTw+PTVNwLsY3X6NVxFGedYBuxha/kYJEfpgCeWmGV2uJDK7VfXVlsk7h3enF+zPPwuxhhliy1Ddog/3/i/W7gTZ8KTmWCwJ84Doln5IE1jkaJaqbUmc9GWWoxGKlL0PfoWRbZY21Rn8jVNvdUJqz17d53r6NtU6lEiuQmO9xfsO9CECyZSH2hgzMbdLAzRZpgtnKWUeZs4tL7Ts69I1E5+nzFutvo7YiOoTBSyyokHhg6m01BCULgmmIsrGAnLL7aSEKCLwqDpX9heub5Y6yccNawlF8PlxSw48xM0rU9fZ9qOzz8J/RJHQDQiyOkP4rKfWVpNcwS0umbbKpNKg9lAW4mvo4jLlSjR7Ysx4oNi8BQb7ITqvdy9IWeVNl4n3Pq579vNRf9r45KC4bYjj2YhsUjFih2bnDyIfKBx4oQEolxofJs5YRV0bwLgpaXyj6r0qLIwmicncMWA5qpuavGGW851yi8PJvuxDtq8WeUvemBH/GfzvDUqF3s9I46RGdRWGNWWPTklhP7+rY8u4YDb6gJ714J1ivxo9OIGfEC0r5fbfnMtnz486BpOqR5h/lXDej8JyP6YUzfm5hS3wpHt9TRi7GaKtm2/uVuxS/VF7IWLibQgcFXd2MTCidb84LRh7iK+XXTwVnKnH0GWPeOOu83N3cjh9ZzNWjzX/32pvlx3LgNSgsjuOrT8HR4bO2YFd3OEPDeqjGM8kFKYSW0wKila+nnbDpYbeX/4rbH+FWEncklbvE1jVE8ZUJcAQXR4gREyR78DsGipKlT8rRSXqeDH1H8Cq1EfT7p66n9R1IOvPAwqrfpcGU6CaUmaVYhSd6ktuwWMfsfqnfEEiNTx2wC8/Jwpc0zOifGSjYYkfPubIBG4wfQ== 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: 9FGTzLTqorJSnDScjEfMjeCn9mJITulKc46XZ/GHtplnktZYMwBG+ZDC7wwwye7AtqiMhuw/YO/TRgOIY7Un7uG2OnPQQh20KldBTmv2zHxphoXXFyprF9kBYjCQZ6u5NtpI4YxCg5mqPlPYLIuc+AFoLNxQmjHdhAyVm3UEN4+hHVkw9Pzo+fUI0U4pybM8O26C7/RzMD8nJOWFOqgFX5pnhLKvfJTDuNM5LLCX8r/QB32lDdHJb/DM0DFloUqvZx91q477vsg/jR/M2efIqclbuYDny0j4l8Wo3+E9REHxn+bSEZkyQfZnGvxuU1f6y9Z37NIgwV9GmB1gWJHbMr8Ea/rvsOzGcUJj6FgjDSRyhE1W1qUV3IwxKVu+k5kUr+7z/YOxKioY6/dBtk94QeJ+nerncNrhmavCIhmQz0gc0Fg/gyt/18bTJySQ9Ctn05NHl9IqGMCvAU55FXeQuJ17OlR7cpkYLCmVN/J3da60kW319xAMSYFMIT4Ei4XZQZum2g50VJgCB3j4D3VVkBnpZ5pxidp0KCVCE7aEaxKRai1uonXlJlgchZuCix1OYrwt2bWYdJsrR/p69O0T06XpWx0A+ZlyVl/gEca6tlQrekhu2bx2GTRTCQ8qGVwg+vHm+PJELH6fQ2Lmt93/rAS4d5kMRGTD7Eg5uH9lCawTsu/KdN54TFcN3wHmdMZG4OckAEdtLj/ucQG5OLaMTvmpYMLxuAzZbuIQBiPtoKgeN+wIU6CR+uSqcN5BYv2iPR3Sg8HItPDAdBHNHdD9eujommpCxkmKOW3RxzQUQ+yAhiR4gDG3Vgne2Pb5NyFwbw4WGBK92KbeiMw6bpxdsyue6I8Xx8HFavKqQAM99Rx5NQzpc8g8y+G380NOqpQ6oOa6iEhOTtRNdCfheKP5lh4rkRw46MFtjlQtaM7Mu7+DdUZojkVCjOLrBrxddiQKgBgT0Q2E/wM3TYnMgi0huqLv9GCmF5SVXjs3T/tjIWs4bB7+YABEcyrxz3OigB5jSubZoDFeSkmoBzKMjoAk+PRGDzLZB75FGsvTfkycSAmaoKMtfdOsCp2BI8qboE7rQnYuMufgdGMPNw2y6rl3qz6V26hwBosVBe2TGx3p16T3W1GPzi9AiBAMiVxugyWYmSTIY7XxcFfY9H7cvawCNKJ7vJfCOOMOOiDTEeU8uoYLNhMH2uv4Y7Ng5yXQhV74qxTgIeimtzeO2YhroUX8+n5PegIWy3dkXKVWNIrTqft8QuxUcC+hifx3kd7DD38e+7BfOPx+pAmFeLfO8GQDg4HbGaexwd/PMNcVNhVlH47z2AV8hNRJlpZh6VK16NVyvWDgaytE8M25+T/3LFcpnvfuhAQFIdzCzUfudmTUDggbLKrzDMS73iD/jSUgHpvNWcBQITKygvud+YQnT/iZspLyAbZOgBR2QY08yzfncMn+YePVvxr9unOHVJZSgG5/rHeCcOTbBEIf9GPz8mdCDsEQ278Nfn09ykc2ILjIkZExo+aXuQI9N8fCjxicZ1DIrKJLlYZI9ZABk069kye8qJm1fr28ITQweVN4zf/aXiKqBx6NLneGJw3o73QBJ6jE3BA5oIAmj4RXbJqk2oVyEg== X-MS-Exchange-AntiSpam-ExternalHop-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-ExternalHop-MessageData-0: 5jfqwHu3kvgcAmLQUf7B4pvkmIg9GmeILMP0sH4Mgp2vwZt0fMrjJ+urX7XWmbqGM0SJGYfGg/MZgotUIu6fpKb0tOiqWfDhDk2hIM4WBsj27I0bYubk/dYnqH7hS4Bxx9+kfdM3akYaNawDQ8Tkh84YVgPqeslS2mz28bDjk9qlGHg8Fh4k+sKrSZuZ7stRin1S8n0xTZzWXBIBziSL/p7jEJXsUPjdXYcpurK/HfPKKgR1e05z5NOEbhcX6wX3nyIRUoByG8/PRVuvaOOvjnGTOd/nTJnxV7MpTvzHIbSCRBsrc88xJSzsQ6IRo4CYj7wvTK5kZdyt1s1hEYik7S4beN+PgFZeSYb7vXULrqbTLlEO1eqdLrkraJSK/FbYVMklgSQd2Cu801m/mdQBWoVUIF/03lWqVJaWH/XXqDvykjlyGZ+ClcteuJvKxCbeqgiEkaihD8QIA15xotQwyAZcaGpoX4Wa5aPfUwwtpw0GDfoqAHZwtndgKLLBx+opUUUU1JxLignQ9cBYeQQmbwL9k+JriMXVZIoC1RZOLymY3CnxNQ7GpuW5o2rUkZqyISTPM8oyCsz10Px0T3ikfEdc/fU/x1zjZX478bN1frA= X-OriginatorOrg: oracle.com X-MS-Exchange-CrossTenant-Network-Message-Id: 92ed5a95-e31f-4c7d-90dd-08dca115ce07 X-MS-Exchange-CrossTenant-AuthSource: DS0PR10MB7933.namprd10.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 10 Jul 2024 19:23:40.3483 (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: 6RtyGHHf3Z7ebEQusU/LtQ5gjoqjdF5jgbMy9t9Xu0XhNTRsCCAPQnuOJAG5Hdg78h8BqV6sw1SX8UGJZvAEOQ== X-MS-Exchange-Transport-CrossTenantHeadersStamped: PH7PR10MB6106 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-10_14,2024-07-10_01,2024-05-17_01 X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 bulkscore=0 malwarescore=0 phishscore=0 spamscore=0 mlxscore=0 suspectscore=0 mlxlogscore=999 adultscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2406180000 definitions=main-2407100137 X-Proofpoint-ORIG-GUID: KNAbtqKf8cPVN4NL7WcjgUnl-MgSzX4E X-Proofpoint-GUID: KNAbtqKf8cPVN4NL7WcjgUnl-MgSzX4E X-Stat-Signature: dtw6n6rseey31bkzt7bj4w8r33twiopm X-Rspamd-Queue-Id: 8EBA714001A X-Rspam-User: X-Rspamd-Server: rspam08 X-HE-Tag: 1720639433-696384 X-HE-Meta: U2FsdGVkX1/8RuVrcwI/H1HFPY387VZmvwNfPVwmQKNbRFLLUFl0MYJhDqg4Bdr6sW2YqyORcC3wYTxG+cO6gsxiiWv53NZUGoRV7F60yNVeK/46bRG/qJVWP1cRxGFW3y2rYXgCxBR7CziZoqztSG0cHa5u+kR9jqd4JWVn3kiGZFYt7IQske4+gVombt20KI7pNhIDu4uULzrkiUCGMqM7H3YFSvPazrz7PkUHWA/ibYS8/KGa9vm5Y4nRNWlO3Xg1woE5Nspw+KWntE15sGbDYsuB445dgTGf0k+9i4CPofeCfX4DwhkPXb0ZDCYypuxaXfIUiP/iQ6GvG8xNudEZhHg65/zZB5mVwVtc0jEIqxMkpI+8drBMr10CBJp0C0d7xRNGcmpremQqU/oRQYJPkg19caq4LvC2JHI8zQ7NSJL89FLheILOELVK9XCmuv7NeSJcluZLueUqonfR6pPO8fMZpdYjjX29m7lNg8xvL5fyNYc4jGjZbPVBgdrP166jBKy01kp63Z2Vm3cs18gtbp/JK4kOTnKXb15sSx6Z9o/UqI8EREGHt8LBemwGCSR0idfbJaiVvQj75Z0D1cVKiQ6oJHGWHH4sfGUudS4LaC03FgeP4rdr59bmQqjRUeYkUqZ9grL7ZgY9bHuQrHtRMeg3gT05DrMWSF5bUqh5y4zL57wj7nssFVpPRcDNn5bfU8Y+PmzwHaK3n75i5IQXFZBapiayaM5opVWkTDKYhk9dv8deliAwIqE3PzY/GvsQJBuCHvIit2q9R2Ke+JhbWMRg0Yq0xaASowt22ONmsl+JJxSXrl9r0hN/b8CwtFAhox4VEc5O9gFQAlL1aj7+sm7Z1wPHggqovI20ZGHDqaGCBD2ZiAW/CbxC4THRatPwo8FnQ2AL2nVEBlHJNvZcLqWPDmsno+sAsePr1umpXaB1wWMaqYNgPZiddjGWW4TVr36jCmMilCf8aUe GNvlsiyK /UsGl7Oan8RXPPkUHee68Hx/a0gERQXbRMYAlMhy0LGLm10akL+HGwyg1823OfGPkBcJYp8YeywEDsuGF8WQMWVNjPwX9LDTJFH3vL/Qy+xUVP8GevbON3ACFJfl52kjRPNfeVsEjXo68uCsDV19d4FAFl3Z0ktbGU851q5xuNohcCRAlaZLmQW0HYze5M17NGmtIpE9xHAiUsVaZ/ZbJyUDubEV1LDsVxDLdiKsNjU5p2cKfPuAMGz9q9qG17bgdhCwEsh+eYUi3aawYsVw7GhFmHDsreM4vxS4PjGg1eO/qAeSObaCEjLS7/F4PFTkWqgdFmy1Qq/Tqvi6RD6DlEtRqCsVu9qp3V5NUEbjOOfRQz7FV4PdoPJvKSF5CfiRdrUrEMBnQ1EsE2haMI+vUflVRG4MlVo6SVlrnt95pQmigDsZ5ZWfIywhuv0ca+U/RSm4V8Vc1b5T7ve1PsakggpNDuTSI1yUdDPCbWmEyriLxYO87c73egzaVDKwdGfwhI0rP5YZghl6fwA0= 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" The MAP_FIXED page count is available after the vms_gather_munmap_vmas() call, so use it instead of looping over the vmas twice. Signed-off-by: Liam R. Howlett Reviewed-by: Lorenzo Stoakes --- mm/mmap.c | 36 ++++-------------------------------- 1 file changed, 4 insertions(+), 32 deletions(-) diff --git a/mm/mmap.c b/mm/mmap.c index 18c269bf8703..7a440e7da55a 100644 --- a/mm/mmap.c +++ b/mm/mmap.c @@ -401,27 +401,6 @@ anon_vma_interval_tree_post_update_vma(struct vm_area_struct *vma) anon_vma_interval_tree_insert(avc, &avc->anon_vma->rb_root); } -static unsigned long count_vma_pages_range(struct mm_struct *mm, - unsigned long addr, unsigned long end, - unsigned long *nr_accounted) -{ - VMA_ITERATOR(vmi, mm, addr); - struct vm_area_struct *vma; - unsigned long nr_pages = 0; - - *nr_accounted = 0; - for_each_vma_range(vmi, vma, end) { - unsigned long vm_start = max(addr, vma->vm_start); - unsigned long vm_end = min(end, vma->vm_end); - - nr_pages += PHYS_PFN(vm_end - vm_start); - if (vma->vm_flags & VM_ACCOUNT) - *nr_accounted += PHYS_PFN(vm_end - vm_start); - } - - return nr_pages; -} - static void __vma_link_file(struct vm_area_struct *vma, struct address_space *mapping) { @@ -2949,17 +2928,6 @@ unsigned long mmap_region(struct file *file, unsigned long addr, pgoff_t vm_pgoff; int error = -ENOMEM; VMA_ITERATOR(vmi, mm, addr); - unsigned long nr_pages, nr_accounted; - - nr_pages = count_vma_pages_range(mm, addr, end, &nr_accounted); - - /* - * Check against address space limit. - * MAP_FIXED may remove pages of mappings that intersects with requested - * mapping. Account for the pages it would unmap. - */ - if (!may_expand_vm(mm, vm_flags, pglen - nr_pages)) - return -ENOMEM; /* Find the first overlapping VMA */ @@ -2987,6 +2955,10 @@ unsigned long mmap_region(struct file *file, unsigned long addr, vma_iter_next_range(&vmi); } + /* Check against address space limit. */ + if (!may_expand_vm(mm, vm_flags, pglen - vms.nr_pages)) + goto abort_munmap; + /* * Private writable mapping: check memory availability */ From patchwork Wed Jul 10 19:22:50 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: 13729653 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 74385C3DA41 for ; Wed, 10 Jul 2024 20:17:31 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 090D26B0083; Wed, 10 Jul 2024 16:17:31 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 040786B00B1; Wed, 10 Jul 2024 16:17:30 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id DFBE76B00B6; Wed, 10 Jul 2024 16:17:30 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0011.hostedemail.com [216.40.44.11]) by kanga.kvack.org (Postfix) with ESMTP id BCC676B0083 for ; Wed, 10 Jul 2024 16:17:30 -0400 (EDT) Received: from smtpin10.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay03.hostedemail.com (Postfix) with ESMTP id 65DAAA024C for ; Wed, 10 Jul 2024 20:17:30 +0000 (UTC) X-FDA: 82324953060.10.EE9F762 Received: from mx0b-00069f02.pphosted.com (mx0b-00069f02.pphosted.com [205.220.177.32]) by imf02.hostedemail.com (Postfix) with ESMTP id 28BF480010 for ; Wed, 10 Jul 2024 20:17:26 +0000 (UTC) Authentication-Results: imf02.hostedemail.com; dkim=pass header.d=oracle.com header.s=corp-2023-11-20 header.b=ege1EWxD; dkim=pass header.d=oracle.onmicrosoft.com header.s=selector2-oracle-onmicrosoft-com header.b=WcDOuWbV; dmarc=pass (policy=reject) header.from=oracle.com; spf=pass (imf02.hostedemail.com: domain of liam.howlett@oracle.com designates 205.220.177.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=1720642611; 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=zX443Iheh2qc0Sqk+4vF3PSlITJU3/wSXCmEz+kPPYI=; b=PgWmCsbVY8P6HDicnyG873P/7a/datptKjD6SZQAwNWBSY/ICvaj35JEnS9Eilsi4ipMHU lDetvNHc4E7bqaqu1FvTvn8df1WOGkvLVWBBdPxf6PELLW97yM347V9zpfFA7S7SYNbAvR 8dECgv5nHVb3DsRjpkgewQFnieuiKtI= ARC-Seal: i=2; s=arc-20220608; d=hostedemail.com; t=1720642611; a=rsa-sha256; cv=pass; b=oFYjoqBa+ftpTVAuCmz/sXbQHAZbKDd3bk6Fq6NXB1I6ymTjHTV/Bk7yKdYjrgy2ef2uxY tBFkKfrrqf6A+AnVq8MkEue4/Rpw7pc/kwA6UzE7dYFltYbW1e0Lx0hUinsUFb32JEr6QH JRBorejixLx2JZXe7AWWZdkvB6k9Y4s= ARC-Authentication-Results: i=2; imf02.hostedemail.com; dkim=pass header.d=oracle.com header.s=corp-2023-11-20 header.b=ege1EWxD; dkim=pass header.d=oracle.onmicrosoft.com header.s=selector2-oracle-onmicrosoft-com header.b=WcDOuWbV; dmarc=pass (policy=reject) header.from=oracle.com; spf=pass (imf02.hostedemail.com: domain of liam.howlett@oracle.com designates 205.220.177.32 as permitted sender) smtp.mailfrom=liam.howlett@oracle.com; arc=pass ("microsoft.com:s=arcselector9901:i=1") 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 46AFndMq017517; Wed, 10 Jul 2024 19:23:47 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=zX443Iheh2qc0Sqk+4vF3PSlITJU3/wSXCmEz+kPPYI=; b= ege1EWxDg8iyAF8C6IZMFroQpXLzn+xUA5EzhKog5ti3+NAADsji1zG8BrOAfyJy hmWjYEyzNl7vEEPGic/rGVTotHpQPnrTljtB8RlFJtVZvqfS5z9RC6JNJ5ozuOJ4 MURJQyt3LH8kglI57ZkV0WyyZK/fdNtK5dXW0hDLemF30M3OpVpsvWOoh0YoHxd7 H5PxJqbTjKvkECLqnPh4OFrZcXZcaD152hH9kD73LEXuqgVfPzqIaNtNsb1BDhzG yj/IYamLC+8PH0mrWhtgi85HBcLe9pUXom2ahaVPe+z3jkqbukCEqjWeKuSzOD9u snsaPhUlUBWFMcgn3o2ucg== Received: from iadpaimrmta03.imrmtpd1.prodappiadaev1.oraclevcn.com (iadpaimrmta03.appoci.oracle.com [130.35.103.27]) by mx0b-00069f02.pphosted.com (PPS) with ESMTPS id 406wybr4dv-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Wed, 10 Jul 2024 19:23:46 +0000 (GMT) Received: from pps.filterd (iadpaimrmta03.imrmtpd1.prodappiadaev1.oraclevcn.com [127.0.0.1]) by iadpaimrmta03.imrmtpd1.prodappiadaev1.oraclevcn.com (8.17.1.19/8.17.1.19) with ESMTP id 46AIlfXx010839; Wed, 10 Jul 2024 19:23:45 GMT Received: from nam10-mw2-obe.outbound.protection.outlook.com (mail-mw2nam10lp2042.outbound.protection.outlook.com [104.47.55.42]) by iadpaimrmta03.imrmtpd1.prodappiadaev1.oraclevcn.com (PPS) with ESMTPS id 409vv4s3w9-5 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Wed, 10 Jul 2024 19:23:45 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=Ld80O+onTBfY87Z+OWQCwTcz3mCbvJPcr1RB9EBNk3HzbcjgTV5MY6xx30XReG4f/nlZfiunHYSerNyM2FV/ipF4k4CWSLj9Qc8j2JVmRMHCvernm4HtoycqdqjvhW+zewATPqVjyt+KbmOo5EExhojVR+F9cgjtW5xq2CfhkP/Q2f1HdnENh0BEwC6Yz6RZrRzfj1X6fkX2gwF9L6/U5D3bDqwPvOwKQTyfY53n3lHbri+dWzfVC2flMglN86v/Skw+2vA4si4mMSdw1UovQqi9kfbrgqSTiFmOeI8SB+pE7jBbD7FXfCLuIQ0R1z0qFNL7TnYeAAyIK4kt+HvIzg== 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=zX443Iheh2qc0Sqk+4vF3PSlITJU3/wSXCmEz+kPPYI=; b=EbCs5QGOuBG3HR5xgdk2k5FeSlgxMVojZioVAPpT0zaiSOO2TicMYrFx1MgmhqbMZe4KGCgLVZmsTpifQeFlrqA4avvNC3Pe2kyCbvpD3+dcCrz1A+BVuYqJWswXeN42qWtNS4P64cL+rgq2G1TwF/LMpttM6YL53FjjDvZpTfC8QsOtK0SQWYut2lctv1gsJH9mnKvDnR7WcZqHfeInAyohgXT4MWApqjeMyR/kbNBbStBEg54I/JiqplHhavnJXuPvv+06ysGTHjRdb2NLelIyWHAr+qY5rg3dbqTsQxvg2cD3x/kHla+jPOAAc1l0AIq9tXaoVYJnQDcNr3GRog== 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=zX443Iheh2qc0Sqk+4vF3PSlITJU3/wSXCmEz+kPPYI=; b=WcDOuWbVITf/hwKEOMm+Pk/ZPIMGHdwL/UfmHkWTzDLCj7Y+scWgOKeG5JkE3d3z/e8CY1JWvZRzeSmWPkCtYtjTeUN9ha8+jYTXXB4Acbnet1zGAq+ArKV6uC1ViBlfZEH+gBCECzhAojuFTst891K53sBNWNtXUEJiJuVysno= Received: from DS0PR10MB7933.namprd10.prod.outlook.com (2603:10b6:8:1b8::15) by PH7PR10MB6106.namprd10.prod.outlook.com (2603:10b6:510:1fa::7) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7741.35; Wed, 10 Jul 2024 19:23:42 +0000 Received: from DS0PR10MB7933.namprd10.prod.outlook.com ([fe80::2561:85b0:ae8f:9490]) by DS0PR10MB7933.namprd10.prod.outlook.com ([fe80::2561:85b0:ae8f:9490%3]) with mapi id 15.20.7741.033; Wed, 10 Jul 2024 19:23:42 +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 v4 21/21] mm/mmap: Drop incorrect comment from vms_gather_munmap_vmas() Date: Wed, 10 Jul 2024 15:22:50 -0400 Message-ID: <20240710192250.4114783-22-Liam.Howlett@oracle.com> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20240710192250.4114783-1-Liam.Howlett@oracle.com> References: <20240710192250.4114783-1-Liam.Howlett@oracle.com> X-ClientProxiedBy: YT4PR01CA0088.CANPRD01.PROD.OUTLOOK.COM (2603:10b6:b01:ff::21) To DS0PR10MB7933.namprd10.prod.outlook.com (2603:10b6:8:1b8::15) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: DS0PR10MB7933:EE_|PH7PR10MB6106:EE_ X-MS-Office365-Filtering-Correlation-Id: 4b0bcbfd-c7f9-4457-bc15-08dca115cf00 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: ru25plP2nNE+eCboteehqD9svpaDf10LpS2OKod/Z4rBojvRo+k1tI8CVleBkjlfcor8CO4vR05r+4fu/8/jn83Kb6PntLkZMSvL78HGqCWBne/0oVO618Q95SNCV0q2QamFSlt8WQhsuu5FQVFQKaeH1NxUd96BhfkOU2AwPHnPsAZoXOnrDxam6VqrbMIV15bmPKku47+wb/MRSz16aSotoVeyMN1zjpjc8UywqipEMPKv4pXmvt0jfNuW3g1COLa6ISKwob44KeqF/QRwipn62MoNsnvfy+ARQWwHKN/fWwp8+iSxJnjBlkIbdH9vha8y8IKb2EVGzKOfSXXCe/nxpkqUgHMrprI/SMhLI9MA124TWLeI7XPrSUgtHGXKgsCYpHs60EBEAxhoIfr3uBDZC41PuL6v5LMsT+uaLdjUE1pkLwpiQQJu9Gl0f8OsenzBGUaZXyeTOIKYzU/Uqpa91Hm4seVWd/j1UV16Ld9rZZZ6YA/7gkGKfbuT1+fMtJxP4W1YhNgnlUGwnANd3yHBtr1hOJOoK+/i4G5jmoflfdvp15PQxRnhxdF7UeDmkhm2MaqqwLmzf28okJdUBktowRVh6rou+vpQN/NFKKr3fiEI1w9AR9ZcTkTjyOApzQIsziVPGQFnImJDJMjcHMA3AyIOJ2xMoOBJxhMlQg8gMQXA1RcQcBxARZDjJpmU9ZRyee83lit9qMRcr5z+P+prz+pSqz/lOFkTRrQZeqScPAbYwK1luBgBoxQ+UDLaBMGN7Z+Wi9qv5uNAvt6aNclHb5X/qNjjBXd/aUGpl4cx0QJHWgxQUFQ0CkLOA7Dsr0BPeTtbyh+h+q+5sVEnxzbebI7FcgR3DgTHeu3iFnS2zSKPaNEmLX8cVHsgt5I9XpKfS1668T/YGElc1GzgRX5YzCZ6ITMn2eyIwQCd9R70E18m/YkmDzaoi3ZR1MyTVgWqq2Nol9PutpzOe0H2/E8027vgnHmlDmnt8wOYgpFva30zs19Do0FyIbI+s+fS6DKriR4kHMEsGPYUGjG9riqmgnH87UxDabq/zc/GA6F/JBADXEi47JAoWAHC9afZ+pVJQnNtok9zJJ/Unn7rIBpjRma2xed1Jwv+w/iUPQYKwcVNUs6q6yxpN+4jW/0grQrDfGSBjV/DAE2wX3zopfErvJ0Ie681GIpm/Y9Jzg1CS8pasjhNWrPdvmdM4AmZeMiuiKjVNdHrWjPVm+GiPJ/B3st7Z8GABBt204Qr34+f+kS7EB6CxRZ+VRAMWeIwMi+gKYN/ihZtWY312AIyNkiHJLpvSFgNbAj66cKpHhErg+VlLhNkwztpnLEJ7ExkoM++U0+D9yHFQaq08Jr29w== 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: g0cP+ZgzV4pQZvQ2LQPyFOz5E9FuHdQ25qGsgDz9jrH4cITbapEh8fMv92P6bQMYJzAjNJPdePD2ZRIFlRS5ekTH2FXYBFbRMSnCf7Lm9AILBCo3Z1kqK5VVSBFvGI1R820kQSkCV/CvNbnL6HGtOgRQEgaFeX6AS/vvA2ANoneU8f6MsLVfDUJy6jwKCl3FXA2KhoTNmMaACp3cxtn3ZGIoPwer3FyS8hzBA2D3+97QFVdzA+B1TeaHWr/C3OC/JurRtAq++ZKa198b/QBC5E8knvftT1drSZqvYDttC9j/8rqYy5pp8wSxrMsFDZqzv8JuUZXodUrf3rBd2m0SBXwhTUV3cyLHCNNfQob11754fNX2xG4p+TOtATP8eg1kBERNCnXFNgX0kQ34I7Hm+m7EjkVxouqpl9jGI4TEQBWB6hv2eBzs4dqw8g3Ccxu9T9pdtFmCK2MzGRL9IJQJQVXgrNVPHAFKwI/ZuPuvxb6u0XZh8nvh3ky7/EZrm45S35c1VMA+AHM+UcakFKsZIn6yahuo63zAdAwDLybLcG3QvSot2UQ1K3l2dJgWOzGnI63IaMOy5G9e3QXZ2KMclcOtEE/DRrlEL2CKAsZKcH3QYYwjEFIS8+N6yY2xXo3eBc9zFr0KLKcYZ/DgjHZ/C38Lwf0jQsQsmpBx5UGWVWjHrEbbEw9Mi0kVEU5RWTkyJrkcLfCk9/SzOKSjU3fY+jggtVC6CKntfev8+k89XPbH1ec91wu7wen5MGGhuYFsPLCcVxEdNCvKa8MQ6nlnE96XnAzmFHpHfV3UtdxCB98dGMxof/2hgx1Jl/Qb49hHa9Ga4pERXh54yiNOtwMgeWfAc1GjDfA5Y1AuqeinbtDxcQH//eYJRiIVo/z5C1Myz8xMaPWQM/Qp9+Tz1hOM8EC5DKu5s87ZxfJ73FPGKGFdOawYlRtJkBVtXzPuf+5PXb2TalI71lc95M3bJzAe8fwjB6bLpvy00d7l9DMyUl9Tiyq0xQYIG4ML4JM0pdHfaXrGv/v3ANlj5grIEcioavwFHWTghUUwqhAT9ni9JS0mbyB/J8xH3q2gOZHD6JxE2FvNOI6PV/Enh9SGmEIaya6o52P/EO6erHhYNqoI4mr+t2w4RkWpOC1YvHDz8HKsTxV+rwGV4YqAo/IzH+qMdsULUtJhF9rYbQog5AhxH8094bBZ+JBoDixQ0S9Cey/L1DTITmM8o9X2sCox/FZeZDUFJNNLd0hQ2HB+DhHkoH0mk0vm5HFTYOcoN3k0pv0QaLNctbetr8kOBt0/kI7PI/D95wgohJbV1OiWoRWKJ1kA2jY5p/WfZZ0AL5MnDoVzA+mNLnSrxRqvG1ZAic2yPhwVfKs4bN0JDCje+y9vrBC0WPncYLyf8AEqucxUvq7asvSJQzTJ2/SdV9mj35YNlB3zyTl4jbH7qH9wXznB/ChBPPRE0HUH7whGw/T4v1gIAnC5xmvIcojbAM4nJgUBnuuEtLE8SxVAl43b2Qw5hvd14f6RFXjkdyLPwkMIgUkiH2/m1ii5/bBNgsT8NHX1/riSCmgT90U1pRSoABf8P0yI/kmRW1ysCvdlWjC8uKeKrI2jx/KpwNHwxzrxTt0MPw== X-MS-Exchange-AntiSpam-ExternalHop-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-ExternalHop-MessageData-0: 7WH9TQ5GiK6zlXnb0aQgfEeOLA332LnT7rG5sAEgDdiMVV0TzNLMI7TPH0BPNv7lKFE63q203k5DNXJ9ZpV6jhVdJ6vX2ImpZ2ed9JLcvQqNGkIwLop9Je0w62WU4/eHN3T7JE0QP+y4Y2/xDvfBAKVkiUJncoF3VXo1NsBPS+ovnvWUrqM0KP85cXCw9osx2HPDgNF8K9uu6BOC56fDR+/y307qKa4On8cziam2oJUBybVNrN2uFJat47rmbLAh0YLTZAszKedLcxxjMsgztS8QVVGj3VTjsBTs+OZTVCmQ+T0nuABC+wTGsJOTVB3bWHj1Mf9VRsVnt50IbaB9vieYCdRi8yb3XNbPli/TWFG4vP+rFzQAZzK/aciyvdIjDUBtdW9ULUB6bDq5kBHgMFaFyM0c5WjsPPsW+xdr/iHgE/H9T31W5Q+3ERz6GSZu1tOArvjf60E7mCf39BAIzl1uPMDADIYbx4vKaATCilyf6Ut4cwyTY+MINvobRGKB85mCWdyc5QIlUfSsW77nYh9heEmFnbosT49drataLPIYrIVSYQxWkt9zrRnPtkb4XA/NpDHpjO0OT5NK1v+n8Elw2tBkhQ4np/8Rtv5i3lA= X-OriginatorOrg: oracle.com X-MS-Exchange-CrossTenant-Network-Message-Id: 4b0bcbfd-c7f9-4457-bc15-08dca115cf00 X-MS-Exchange-CrossTenant-AuthSource: DS0PR10MB7933.namprd10.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 10 Jul 2024 19:23:41.9972 (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: RV/cUp6xPxdLePf4bxO9ZA/p7pUoPeP1G6iZ668rPMJCgb/hK8Z5WaRJidU4ULnjfpdoZetVnrIKU6tyS0v8iQ== X-MS-Exchange-Transport-CrossTenantHeadersStamped: PH7PR10MB6106 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-10_14,2024-07-10_01,2024-05-17_01 X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 bulkscore=0 malwarescore=0 phishscore=0 spamscore=0 mlxscore=0 suspectscore=0 mlxlogscore=999 adultscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2406180000 definitions=main-2407100137 X-Proofpoint-GUID: j-UxD2jZbeyyCIx3Sd6hr7dn8wYMM8JW X-Proofpoint-ORIG-GUID: j-UxD2jZbeyyCIx3Sd6hr7dn8wYMM8JW X-Rspamd-Server: rspam07 X-Rspamd-Queue-Id: 28BF480010 X-Stat-Signature: e6qfbs5qu7pxeo1mfpo73cx1ztatpci8 X-Rspam-User: X-HE-Tag: 1720642646-974390 X-HE-Meta: U2FsdGVkX19EoLpb/9dDf9Cl89MgBbEFEwQKxvoxkxixFALV+KqSgCmrW3OGhz5A4x2liC58JCMTuiQdYfgG2HrnxBQEjW6EyqLCRSk2XPK2y3rmtohJUz+IbAZabFOiBXdSheyuRaO0N7hH6r/ubWwVEGf9Mz0qPl1MZyWDIDgn0y104A78FJWVL2cpOoddOiymWW16iSsljSsdQp1/FqTcX+kRJwWRmfXggWk5K/Wo73HID450eMMUXK5jhZSE/djbThLIr1caa5bZasyQy3KYnOQNlPUtvciFccD1ItmlGZjZ7M/bKa5avembuQ4xkLBTGPHd8Hr8cPzcKs40TYLznvZ47vJU07Gv7eeX/uSV/gPlXqcfPttV9FhWtYsbvUCzqupikoUj4sXB36rvrWOKagLv2p1yf9EWQpivXdxdOOrGiKrvC+NDZ7zpN54qslvFtiaAu+P/bmOeTwXjr0yPcX1IuAeuz9IHZsTQ9gGj5Wro8l02tWubWCgdTpf4sXNeDarjGg8svBZ4rWDvxNRzznp7CwUrX5o9pJbqjGIbmKWV41hgcxAlZb4du7Q7Qrksp52+FAAwZpA4uu6ftl2JoCSpjDVbs0/S9BnE/d387Vnw5xTdBbbMLvgtt3qzXyeYaLRUhKLoF9DHSF9+mejXcgezSvGZh1ZS2im7s7o35bmwXIXTXFeeiKa0h0/zpTwDaYBXY1rkN/MSyi01Kodttx27cbTcuGuJHrQR4VkuLwH5Q/FpXL72BW9TeUKd/qszsqU8oNSXoJY1ln81f1yx7zd9SP6fpeBKyPT50ekIc9V84Zw9WriHY4UPeuSOfr5DOhD54+F+vMLpHD28OAOXUNcaFYnWXvyTKaqBc9iVD1cP//FxEuLXz1O++mU70lMKnZ/b3Ff51fGtj6CSiDSU444YAOjeyKA3jkvPO82JV1NZYwDhT8cU8h/3sBPO4S5VoQh6yiYYQ3iP2yY TBegaQye TKeVzQvzEMy8O1UnPRw02KBkbUZDUIz57naEQiSAH8M5EiYj7shrNwR0EXzb1MwQkgzaeJ0LINNTCQec7VVx82vgfUg3PPA9MC4RLZj9LrNqEUhY1svx+FuaUOzz0HCZEyv1XfRSxBzvXkkv9KYSNkHKXvzcTa81Mi7l8hnZbyn4AdfIFoC0Ty0suKr43Re8nWR/5MYce+M9gaw/tp8W/NuUiJHlcrtTpnij5GOMGxzbMEKFMyXUVwFNysM2tx/4CMQQ4hUbKK11d5+s+uBYyu6alUxJX65lU3nR5WopxAqQ4HvqxBh7r+Sua6AdSLIAL6FdfNCxSXmrKYxO0mCgyvKh6H/CquA71EMPmJ+5mPmlhaNLoFncifXJRciZx1DY5sz3ZA5UDdPwNCv1HXxRNxHx6FqoybVsHfs7XUmpbdrp5EAy7Skcp/JbcLLaiICkl0cJeIbKUX1GGnb98TY7lr5iIwQ== X-Bogosity: Ham, tests=bogofilter, spamicity=0.000001, 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" The comment has been outdated since 6b73cff239e52 ("mm: change munmap splitting order and move_vma()"). The move_vma() was altered to fix the fragile state of the accounting since then. Signed-off-by: Liam R. Howlett Reviewed-by: Lorenzo Stoakes --- mm/mmap.c | 7 +------ 1 file changed, 1 insertion(+), 6 deletions(-) diff --git a/mm/mmap.c b/mm/mmap.c index 7a440e7da55a..ca3872e5fbd8 100644 --- a/mm/mmap.c +++ b/mm/mmap.c @@ -2675,13 +2675,8 @@ static int vms_gather_munmap_vmas(struct vma_munmap_struct *vms, /* * If we need to split any vma, do it now to save pain later. - * - * Note: mremap's move_vma VM_ACCOUNT handling assumes a partially - * unmapped vm_area_struct will remain in use: so lower split_vma - * places tmp vma above, and higher split_vma places tmp vma below. + * Does it split the first one? */ - - /* Does it split the first one? */ if (vms->start > vms->vma->vm_start) { /*