From patchwork Wed Jul 17 20:07:08 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: 13735752 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 91225C3DA5D for ; Wed, 17 Jul 2024 20:08:40 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 676136B00B0; Wed, 17 Jul 2024 16:08:12 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 5FA8D6B00B1; Wed, 17 Jul 2024 16:08:12 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 3D7E96B00B2; Wed, 17 Jul 2024 16:08:12 -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 1DC666B00B0 for ; Wed, 17 Jul 2024 16:08:12 -0400 (EDT) Received: from smtpin14.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay04.hostedemail.com (Postfix) with ESMTP id CDB971A0CC4 for ; Wed, 17 Jul 2024 20:08:11 +0000 (UTC) X-FDA: 82350331182.14.7446293 Received: from mx0a-00069f02.pphosted.com (mx0a-00069f02.pphosted.com [205.220.165.32]) by imf26.hostedemail.com (Postfix) with ESMTP id 5ADE1140027 for ; Wed, 17 Jul 2024 20:08:08 +0000 (UTC) Authentication-Results: imf26.hostedemail.com; dkim=pass header.d=oracle.com header.s=corp-2023-11-20 header.b=oCaIEyoE; dkim=pass header.d=oracle.onmicrosoft.com header.s=selector2-oracle-onmicrosoft-com header.b=uT53cubk; spf=pass (imf26.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=arcselector10001:i=1") ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1721246868; 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=BpN5Sb+yntfE6ooYu+FyKWdD7AXq/Jrvngs/MG7YjtQ=; b=TYwsbrMOoYLQ2i3WQdn+1P1zrrzdWpzchg486gJcYcA9a9kchlU47utkI8VFWTuZWvLBaF bq2atKDjPaX5n4eUsYF1fD6w3cWEBpsirRQ8J8dKdKEIx3smUA0aTClSosfoaxDGBU+VhM Ll9UaDRgbnNtfuXhuxREwmNrIZVoeD0= ARC-Authentication-Results: i=2; imf26.hostedemail.com; dkim=pass header.d=oracle.com header.s=corp-2023-11-20 header.b=oCaIEyoE; dkim=pass header.d=oracle.onmicrosoft.com header.s=selector2-oracle-onmicrosoft-com header.b=uT53cubk; spf=pass (imf26.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=arcselector10001:i=1") ARC-Seal: i=2; s=arc-20220608; d=hostedemail.com; t=1721246868; a=rsa-sha256; cv=pass; b=OSeUFtrgCna76TIcfeQ0P7FUXi6EXfcRBmpkbm8wmlZC+K0dlKgf3Xkk9NZjeV0O+4cFlv 8hjJV6slmwrNDH3h9Imq6IvIvAYF5AdAkvKPDlXJ1JsguzD2ecgeJjSPr0ENWLSp8KS/YI cNUb+uWMQKaNq+b4kY1+Z8xyUYN4e50= 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 46HJsRsR016988; Wed, 17 Jul 2024 20:08:00 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=BpN5Sb+yntfE6ooYu+FyKWdD7AXq/Jrvngs/MG7YjtQ=; b= oCaIEyoEOOKweepnRY/O17gDQ1KYf+NiviAOEN19MseRbz8orrvJYpuYufitJbch 8FJCmDpv2YtIcafbr88bWrj+3FwqkQW2XJflTGkY0u8WiUD07R6NCDQnQFngs4xy nam+SYrNboE9Rc7lZP+p4plijOoq1vQ+cveBCcAkFvsYBdNorzExGH0zJ/E0xuC3 aozqm6iifoVFN0TeJ1PmlwJjLYwwcGGp3Qo91aCHnhx9RwPanHXZAe/KKoNpzWEm 09rceZyySoYd0zWXHnrX3H6lq6Pj8sH86yhiJ7S28W5ybK9ZWP/gF9lI/2gdBNi1 q78t8eVEEQefJ32f0hqtDg== Received: from phxpaimrmta02.imrmtpd1.prodappphxaev1.oraclevcn.com (phxpaimrmta02.appoci.oracle.com [147.154.114.232]) by mx0b-00069f02.pphosted.com (PPS) with ESMTPS id 40em3m0344-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Wed, 17 Jul 2024 20:08:00 +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 46HJFPQn021621; Wed, 17 Jul 2024 20:07:59 GMT Received: from nam10-mw2-obe.outbound.protection.outlook.com (mail-mw2nam10lp2044.outbound.protection.outlook.com [104.47.55.44]) by phxpaimrmta02.imrmtpd1.prodappphxaev1.oraclevcn.com (PPS) with ESMTPS id 40dwetrpdh-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Wed, 17 Jul 2024 20:07:59 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=TYYAjfuJEdtoe8HscfTsht7RrpE00gqgYTMaDwUGpv1Y0QZvzaOckc1qc19L9Zi3xdIpBF2wFUBLiM9Z/WAdZ2z+7TEaWSCh9P6kWUowY8JMCeT5bhmhPVjzDiN+SBKfp/hYKaG9TTd7qKi7PPFhjiBpP1S/YKPnZr3VUnxywuBRYIjvoBgviZriS5J5DkCqj2sIvH0dr4FONyRq/cGTU4T2qx3tGwL/UaY7Kgi448OpF/poUIQ+ED6O66brVUamWzeuCGZ7NP+o4pepxWRg+CTBpPPu6nZ7nYeZC+pl3f1nURNAM8y0nJnzv1J8PGjpkP+09mUPi9f1XS7Rgcf4BA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector10001; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=BpN5Sb+yntfE6ooYu+FyKWdD7AXq/Jrvngs/MG7YjtQ=; b=pdSgowjc72smq3Wh68L0XgDgeBt7Pfp5rhdW6XiKKwX0eCrSYfuUmRwq2g4F6DcjlPqyYefDUNTLTFZYE6t56wVbxxHr54UKRqtN8TTZHIgZsrmeccY0qlNTTcv+5DwNMNkprIzDopDRol+yAS9OcTTkPuLvEOV9JnlFLJtXJtPYuUHPtq+mNhIdurh/2O6Ee5eoCh5qK/rbPGqjz6PwIiif/N3MGMp43tdAOhehwpgV8aKo3s5bA57lhbcnHDr/rw93CG8MkWZL9F0zgu3lcUCJ/BtqPGPZyqb6ATDWda1DLmrADaphxD2099WeI1wHE9y/+JhY6zELv0WGHmkaCQ== 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=BpN5Sb+yntfE6ooYu+FyKWdD7AXq/Jrvngs/MG7YjtQ=; b=uT53cubkZd08e/vKU+Xi0owlAcr+NyteekPZpA4YSl3o5Jh1Tm3byvpBzXhlS3KpaEVClu3CjtBzS89OnxrgByBO47QfWiYSRcx9bb4k9BNlmbRmX44MEHn2MgZ1peoMVyf2MLD4iSvwUjZkTTm3GVEgQfOKvCIBvuPFcg7SIMA= Received: from DS0PR10MB7933.namprd10.prod.outlook.com (2603:10b6:8:1b8::15) by PH7PR10MB7694.namprd10.prod.outlook.com (2603:10b6:510:2e5::16) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7784.15; Wed, 17 Jul 2024 20:07:57 +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.7784.016; Wed, 17 Jul 2024 20:07:57 +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 , Jeff Xu , "Liam R. Howlett" , Lorenzo Stoakes Subject: [PATCH v5 20/21] mm/mmap: Move may_expand_vm() check in mmap_region() Date: Wed, 17 Jul 2024 16:07:08 -0400 Message-ID: <20240717200709.1552558-21-Liam.Howlett@oracle.com> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20240717200709.1552558-1-Liam.Howlett@oracle.com> References: <20240717200709.1552558-1-Liam.Howlett@oracle.com> X-ClientProxiedBy: YT3PR01CA0057.CANPRD01.PROD.OUTLOOK.COM (2603:10b6:b01:82::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_|PH7PR10MB7694:EE_ X-MS-Office365-Filtering-Correlation-Id: 6742c728-1243-4ea8-c0c6-08dca69c2680 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|1800799024|376014|7416014|366016; X-Microsoft-Antispam-Message-Info: d1XnepONywIkVt50e1BlPFGlOKT+LeJE75heLCj+ba+PuS7UytO9fOPEFhQCCNlPBH9FAaZNggR2nRmeACvC1PjIkCFZpOLI3Wrh152HJEZHTvRK958dxB7g+TiqWL4JuSqC/nMYEDrS64KrpPdaicaj3WocpH8TOOZ2/FJNuNtQer3TqECP8jKReRvEI0y3u7+UcVOPa7Wq/LsXge1z8qVms6jh82RciZgMLT0vk/oavommpkvupavp2PQInJveYh94dA0ehLbd9GhkpXM2kGruy2sd0B92tjs21BG8bzg77mnPgPnaGGgPo/6dVt7CS/oNg8KhpwfYTrt4CYV1QBDuwTcGp0TTnO8zIsH9S5TL4KREphgReZvNV1v6jGH6BgFIfs4vqg+8KCsp+YdsW2LnOBsP9iB4fHJ96cdtunxhcLOpiE9Lkjq7Dp8a693pKeB8pppCETfkZV99Nd5DuL1a9dn01EcyjIxB+cNQ6frrCGu1XjtloZZAxRkB4ZnEZhnCk1x5hAe+dyeODqTLvim90DUXzf/HkxR+fBB0xv0rjU5ROcD0mWGhfwpUO5cCM7TKetdOlFPutJM/BqrXtC8QG+gbNqNB5phLjjQQqPEOfiBlbnWLZ3DdguOm8jhiM0qHAM3LaYu1rnKTOR+VmYTXqJNe/1/E1Km+eLNXoiljL+KKB6NTkyqJ6Ex5VQ3p9kcEjs9+FRZt8trJmCAXBbJ/+lQNIA1D9/72NpI3uEZLCRbUlQlYnAkzmASlyOGc0bAZX2DcSoHZHKy/eMJ5sbOC+myT26+PsrbVGPFxF81tNTMxhJ3diNdABG9m0HrEhq3smbN/l82TQZvZBjdfB2b/8iBqFOt8dIjhAAal2c0cNVO6TOaVR2539SNcxW06B+hmjyOBezoMsliJSF1sVd0hlBZ3NcTTxq3KamFcdCtlvotGppGzwDDePQZCi8W4hGDB8zH/PdLqU3ZSx48r+AQEkDphy9YQfwgeMHt1vmsD/10KYBLTJtGUvg3wfQDmg6kN3CmFpd1hAl1bLDscpIWtjLA+J6wcGHu7UyfQRNJPD8QRq5dD1353ggsXiRiuUGiWREWIv2zwUzPBnb7eEnXwm8/syxRv9HOFsP4NbtfcIj8rZUR7HEGys0wl1Ax4lH7KSSlWQSdhQvPOVHC4gEeqUJw8Y0g6JXVFeuReRWVhZ4qyQgN6i5Wn9AHJJ9AGT5FOr4u4XCImK++JsgMSlBDIWE+Qk7utCWBWUNvCNXv4XC3VZEvVmf+CAIlZBBOFUymHTwOQ40qizUwnMfrTioLmIP1mZ0eESNSaBWOpujeZJ8/xspRlRNgZkJBrJYRE8QgCXVzDpRuwEWF23j6IIQ== 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)(1800799024)(376014)(7416014)(366016);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: 85KhO5mnJdpPwZ1pWRPBOPcKwXrfES4Xmos0QtJmHh+CRhFxHgAiha9npubT8MFZt2kMG+FXIzLKD0mtJKmt7gfPAWGhKLLjUFRBmAdkgcTQ5momUrl58LPWz0DIvcZn91mFneIsciNRsA12Qlf2FP5NfUenrpuVD1d9a6DxqUI6pXxCE9UNY9rzmltnswbfWo4I+5RPB6DgZeYP/t2QfD43zfLHHquQ1oJyLIicT/76wv4OUgW6VlgEFHnUF+Vw0l8zHeshO7M11GpbNb6kSlzw8Czq/RI0P85zVMaFSrsIwQbqRq5CRDckrETegDqchu7Zm58PHFx7p4KdJdpoF2NMHzJDL8czqbX8qA+VR/xs7yubHUSpQJeya5pR4l7KNrcjtvSlQqu//DQINVPEKK3mwn0r7RdA/EJxold8emJOwi12zrNIGZiXxxDbzZxLE1Yxf4Yiu3A9lVpAOMQ7zzX7YdTO8c6HSB7abAhKa2P+BeFGQTUdH+cP6ODXVYOmO8LirFShI4ZWaUln94gaEVedMibMGHv2qSAcluP16CwIJiWIRdEgzBiDRaweHF7qj99JrniB3Dq0i96r+7CgKHmElhTMWxOvi1/V9CNTAgJWz3bFHSZqjt/CFPyEI0sWsRWBXdN7wb0FX4BuO16ODX6CNW1DDPDDINW0nTVzEwZChc8RGbCR6WzZBB1gL9w0v1NNkAmE4UaSx5mibfoJg+6/4Yb6Z7sMcM2Sf9bH6dBE19vLewMcJ4p/9AwOqreZSoEYWtIPXANI1OxNLh5K5KQW0m7HflOpcitdbP8VX/g5AFcdp0NXyOExQSUOkvTi1pyyEfjvKlr5AJ4kgY4unczXNB3WDIt+Reft6VRGA+n9Gf6PoQ1yacugfwMuo9DihaC5onXbHSUV+IbUxEhlRBa0pcFoEmZcuD1v0XZCs6CkO17H4mUSHJqPIGCsemcp3FjS2Nh3dj4y0InF/RnI5huNO/M+aLmHUhacUbhgPSAJIAd27hnuaz/brk4WQXOC5k/SahG2Vc6JKfSU7dxoSebHnlcM6g2MH0Wh99PjASh/WB5oIl9yVB5H1v11QTNmTVtKyKhLvCg+y/3adjykG3mSP0uT9gaUfwEf8JjdkmyW29jTWUml8K4qvtNJ73TwuS/UMYnxy+2ttNucssCifbVnMLXZCOMWetc3bwBBDjGSejN06K3tfaXwoMrHojH5GEiukVJtLFZVTPAGwrVHVPcQLFrXIkP6lbf0yBOP0lL9v8hRlH0zITKaGK1Jxp0vem1bsErKa7Mn2/vL7CMzalLZRYh9LtEMqU2aSDLq7toV4wMmQ5XbE6jMX7DbcjghBmzDOMaosXY1l5qcbOq//GAOofkYl7Sc0G9k94KvpP4KH93wwG6ifUGyZ3EGiWbOppofVrbzY5iX4uGATCiMa+7mpG184e4x5Xv9Yfpt+4iEUbdOxe0UDo8M4oTP4WfASwkxoqtB041EIBqrGg/rWpcI4GgPmexUJ/inHaQfwgYAlDidMmIfFFPhA76sEUe2g/IahDnVX4RGXbxqcdgE6YazxxMcBjl4C588dREJMT/KttQ9lbMwsfPWezoUy28o2SWeosCsgbg+gBoaI/JI5w== X-MS-Exchange-AntiSpam-ExternalHop-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-ExternalHop-MessageData-0: 0ukej8JiF1LNZymd6+Ehlb2vaGQ+vZTTEVdYZgfu/eMXNVFGMTzAYSZ6IjWvIbSlZkplLkE9sZYER7MaIEEqTDtmBtwOUh76pwbk/aWkU6VpML7QBNuSAfAYbXVHbBTAPjXqOi4D6uKmOQPmSf/Z5On+1Sq/9m7aKWlI6gNpXRCCMFWvzsfXkooWxTNMvCUKFrycQxKPsId7suyftdYPG9Mh5aqEiv7G1l68BPUd2aREiaPyrHIna1x1bBHvSkiIANtdvMkOsLabWRx/KWzBqudhb9PTwV4AnBzD7YPhN8JUA02U2AZDMDqZJ25IrVQPwzFXber7eVU+aENJHFaOacSD7uuOtGlWEX7tqKfUFH6+FKcaZc3WdOXKm0vqBMcQVb/FC9HwothXN8TNW23x4sjftmJOwuRvYBnxjHSQUbQ+GMhIxXBq2xRZ4bFCobTvsi+p/jaGCuAOfqlpZoLII7aRf38kIYIVwQFL7t79mCETD3lS8eSBXAQ2zbM1Xq1t/QZj8gZOkX7rJXxFqFLI3aMf202Q151PiFypJqHpa08EbxSEHIvHrtq2PYkqPnPTF6T+TlsCJXWxpRgNATdOiS+/rau7h24xFbLOFjhedi0= X-OriginatorOrg: oracle.com X-MS-Exchange-CrossTenant-Network-Message-Id: 6742c728-1243-4ea8-c0c6-08dca69c2680 X-MS-Exchange-CrossTenant-AuthSource: DS0PR10MB7933.namprd10.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 17 Jul 2024 20:07:57.1984 (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: 8nYccWxoLGSDwzKGcR/BA9QTJc19dECB/2OVhXj+4Yn1qB3N5sSbaXCQ9q9vB1ahRavjTR+GK4eAQIeQJ6R7uA== X-MS-Exchange-Transport-CrossTenantHeadersStamped: PH7PR10MB7694 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-17_15,2024-07-17_02,2024-05-17_01 X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 suspectscore=0 adultscore=0 bulkscore=0 mlxscore=0 spamscore=0 mlxlogscore=999 phishscore=0 malwarescore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2407110000 definitions=main-2407170152 X-Proofpoint-ORIG-GUID: sgIgW5COgo9dI4b_YDTuOfL861fMObY_ X-Proofpoint-GUID: sgIgW5COgo9dI4b_YDTuOfL861fMObY_ X-Rspamd-Server: rspam03 X-Rspam-User: X-Rspamd-Queue-Id: 5ADE1140027 X-Stat-Signature: mf55xaga7o7apymjaj9b5uqmfbgc6hx6 X-HE-Tag: 1721246888-428410 X-HE-Meta: U2FsdGVkX186uOhw9NnxqxH7rRbC+iPoZNs6ljgNrgBfb5msf2zWM9eJvODJv+FEN392AVg6MB7HjmfhtPiSucM0hnYWHDBWUbux90VdREgjU/FWehDC1OMGJDEh3PSOdSUrGsiFRyDulo5ML3d+YkJuHSLL7DOe4T1iZpyAq76Vqlt9PkhMObqH68yR7b+wbRSoJT3map3sFH7o4TityHGHTciMtUG28EwJQ7pa0GMPc7+yrPmNDe7TT0LQW4d7pT8NBGYNUswdMo4HGAZWAWQpJQo2CxrZwTC2OJ1QX81SEyuRfIgO6Xa+BQBPPrsjfr1nAXLkeE9P5YXwU4L/HCJWN5PSpNhZLR6enSeugmZKW1c8JRkyHcVKpntAB6SuD87NPP9bIRc/ndh6xSgd309mV4f09eINqd0GrYwpDYkNrlNxwMbI3xGuotPq2U2dcgyVZJ77kLCXXGmMH/rmEd//AM+C6KXzfqMnGb1p5IkF2kRQBs5oVYDnUR8ZqU84dUIz8C726aMRYhhssG6TAqm3l52YUZkzPo8WWtadhkpMQQ3LBsRQTl6JZJgg/fteHl1UxuN8LAzvFGNEoUIII+jqMFhTPFUByuz5+gmp1h2nw5VtvVOtLpuL4JDbpjLuDGnuDuJc4L5/BP474lMLxjecASqWAjK56l8iy54MSA6grtspfnTcV2/92a8mzHSN38o42CbCYJlZkoVQTjdF0oKc39b4CBTwu5JFZMmVOPntmDjow4XB/o5007wFY3k6gr38y+IfaHfjPyjXqGlp/4mpdOj97NkCLFBg0HIZhVOenabhynalRhHo2yrmxDh3IflGy6QH2L/N8XqYBXNa4zey3gK5c8mhuN89b2wI9qxV1Dip9LxAqJwQmdHm7njJ0v5IOK+NL6hufdhFQsmcXvAORWBTEA3UgWbv4NYPSlSnffP/Bc3JHAoMGMH0QrhZzBDeB9CRiMbp033sFvk e+SYvrjO fPl7EQ0UgQxaIJiCJK5LNrxOA3Ukt3u+j/plTQdLnK4evq2ktQjH3dyQaXn6JetZNOTPJPgnW8Zo6F9f4Ez7Aq4iDZAU4rdatZoohA4SYs3dDTxIkIFMuyZBy3AT5kLLGgNpUHSawaJNpEcYQOeNXYAQM9DG6O5A2KddkREoD3+D6pbrv9NJCL+0sQjOf2iBhtI5JnSTeUQOdFdqO9aQtrO6uDozhFhyvszrNn3Foh5p2ogwhSMNt3XrKdf/tRqOdbNNgzDFoa1gmEfyZq8lSKiVPdtAVGFvtM/NOc/3W8VQ/6r/eHnuZuUkFL0lCrOC84zCFQgvuB6y2tB6ZbRYHnMiWZaTKbNoq/+PbIGv/8sH3ibqMqwnx3uozdUgAXgRoWte/5Ln/Q2Pha4oOOEHf6xMi/J3q/fL5DPiTTHRzJ29UfjVD/Jlk3v+6OnBf62mgy4a35IRTj86eo6aVtOuU9WOKOi4iyymtaL4am6J1vooPDbn9DPIdUNkPqb7/QSg0Bq1n4pKKIzGoT7UbShIiZGOcwWgsY+wqJ5T4FAy4ztIX7BY= 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 may_expand_vm() check requires the count of the pages within the munmap range. Since this is needed for accounting and obtained later, the reodering of may_expand_vm() to later in the call stack, after the vma munmap struct (vms) is initialised and the gather stage is potentially run, will allow for a single loop over the vmas. The gather sage does not commit any work and so everything can be undone in the case of a failure. 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 ca752317adef..5e74f5cb7be4 100644 --- a/mm/mmap.c +++ b/mm/mmap.c @@ -402,27 +402,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) { @@ -2977,17 +2956,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 */ @@ -3015,6 +2983,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 */