From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from kanga.kvack.org (kanga.kvack.org [205.233.56.17]) by smtp.lore.kernel.org (Postfix) with ESMTP id 92088C2BD09 for ; Tue, 9 Jul 2024 14:43:03 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 2DC1F6B00A9; Tue, 9 Jul 2024 10:43:03 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 28BCB6B00AD; Tue, 9 Jul 2024 10:43:03 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 0DFED6B00B0; Tue, 9 Jul 2024 10:43:03 -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 DB9676B00A9 for ; Tue, 9 Jul 2024 10:43:02 -0400 (EDT) Received: from smtpin12.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay02.hostedemail.com (Postfix) with ESMTP id 3C8F61219F3 for ; Tue, 9 Jul 2024 14:43:02 +0000 (UTC) X-FDA: 82320481404.12.11DEC12 Received: from mx0b-00069f02.pphosted.com (mx0b-00069f02.pphosted.com [205.220.177.32]) by imf27.hostedemail.com (Postfix) with ESMTP id E95A040013 for ; Tue, 9 Jul 2024 14:42:57 +0000 (UTC) Authentication-Results: imf27.hostedemail.com; dkim=pass header.d=oracle.com header.s=corp-2023-11-20 header.b=KEDBAKpg; dkim=pass header.d=oracle.onmicrosoft.com header.s=selector2-oracle-onmicrosoft-com header.b=LlJSuB7f; arc=pass ("microsoft.com:s=arcselector9901:i=1"); spf=pass (imf27.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=1720536147; h=from:from:sender:reply-to:subject:subject:date:date: message-id:message-id:to:to:cc:mime-version:mime-version: content-type:content-type:content-transfer-encoding: in-reply-to:in-reply-to:references:references:dkim-signature; bh=OnueuZpS3Sm1sopQ5wMzUrnFAhLaXffUY+s5lIBEOu4=; b=wMmc7QBClYxMqXG9fma822S2yd8tfxE7Xh7WJqXrjFvmAH1nimjJ0AqNCub6RV0pQQqB4R 93RmU4low5xaIboBNPSGypxn4Xmak7eueF/PNK1Xa1THYM+fF652FOym49kzJ+RidJKPXr XRw5HEduKOrEMWanLbLuPsZ/OxrHIUQ= ARC-Seal: i=2; s=arc-20220608; d=hostedemail.com; t=1720536147; a=rsa-sha256; cv=pass; b=sRhMEW8XoptePpn65rJgKjMHPk+4BXwE65+IyEsK1qmu1B+wQ2BMLs6Z7Pj/08dK+ts7Nr 3pwJvlEy7YLfQCYqwBtVSyyRKZom21vfDZjgmutgCt0PV1b0fea/TQxrGIT1+mdNnx/b15 Swof9eTXN1dhGkmhVPDg5ZS8YNbOlXY= ARC-Authentication-Results: i=2; imf27.hostedemail.com; dkim=pass header.d=oracle.com header.s=corp-2023-11-20 header.b=KEDBAKpg; dkim=pass header.d=oracle.onmicrosoft.com header.s=selector2-oracle-onmicrosoft-com header.b=LlJSuB7f; arc=pass ("microsoft.com:s=arcselector9901:i=1"); spf=pass (imf27.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 (m0246631.ppops.net [127.0.0.1]) by mx0b-00069f02.pphosted.com (8.18.1.2/8.18.1.2) with ESMTP id 469CT3Iu022003; Tue, 9 Jul 2024 14:42:49 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oracle.com; h= date:from:to:subject:message-id:references:content-type :in-reply-to:mime-version; s=corp-2023-11-20; bh=OnueuZpS3Sm1sop Q5wMzUrnFAhLaXffUY+s5lIBEOu4=; b=KEDBAKpg6iOVOeiaKb4AMYcL4vTE54N 1V3VfbJnF4gKY0mMv1T2HYfz+Tvd7uhwndmUp8g/6KX+4cH1Ve8dVinSnTbftI9R WtMgoLcFflGqXBWjcVtHTjp7C12K6dLLqCx/SC+hWrupQ7lypc4YbRhIyrrCbSuq NMYYgosRAQ/wLeqDKrWYrpzd3B2gIZJjhTBsWcqtfE+rX+MvNTX8Rc2C1kpw+UXW OI2MhkTPCekvpZp9SfLvM+I8bWUwPqo+F29I9JPEqmzJ/wdZoa4cfZlBYVd9N6pw JZhNXnVxdXnSmLz6IbiakyUIJTDR+sG2StXe+E3yT/kFMqWJAA/0xCw== Received: from phxpaimrmta03.imrmtpd1.prodappphxaev1.oraclevcn.com (phxpaimrmta03.appoci.oracle.com [138.1.37.129]) by mx0b-00069f02.pphosted.com (PPS) with ESMTPS id 406wknn41g-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Tue, 09 Jul 2024 14:42:48 +0000 (GMT) Received: from pps.filterd (phxpaimrmta03.imrmtpd1.prodappphxaev1.oraclevcn.com [127.0.0.1]) by phxpaimrmta03.imrmtpd1.prodappphxaev1.oraclevcn.com (8.17.1.19/8.17.1.19) with ESMTP id 469Di095037162; Tue, 9 Jul 2024 14:42:47 GMT Received: from nam12-mw2-obe.outbound.protection.outlook.com (mail-mw2nam12lp2047.outbound.protection.outlook.com [104.47.66.47]) by phxpaimrmta03.imrmtpd1.prodappphxaev1.oraclevcn.com (PPS) with ESMTPS id 407tv1e4bv-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Tue, 09 Jul 2024 14:42:47 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=SIhD9INk6yrHMqvhe8eeqsgPaKOg+wT6WtgKSFSk1gZ6tsXnn1CW3ywL/N7G6e5TRpXSyBUfSGDgJ5YvB7Xq4kAwWXhq6TfPLlidy0Pl8aYTI5BPzzTNCRn+Wei8+1YxRd+U7DPkUesbv/LEaYyEmG76LBtIH3vhMRt9pVUdhmVVPBnKBGWL36F0unj/AIPsXdkBd1ZA+12b88FbZZxr8zqkqjssZvMIkNr2VBXgcgj0Ds8esOPsD5ehLdEq5DNdiYEJW7jOWbLjK7Wxd4yK8PbRii/PXEyHIsgxn2q7Vg+F8IcvuPv+hxvBlZuO3F0F38ui+tcFQve10mKKqzUQdg== 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=OnueuZpS3Sm1sopQ5wMzUrnFAhLaXffUY+s5lIBEOu4=; b=VXUCqcMbYIrN34f3jl7+ZDF7JgezHFqTQPs9ZLigJCQ1a8aHnZ5GJ3qNmgvP2M52D1r9lMlKSJIAGRoypmc8u9DuZaiR8ehstj+JRGP8DqOBkiIgqqn8s+eBnzA0LTmBBX8XDjiq2yBko5fBzA+XmQS0LHlG28Foa2P2V+SEX2pTfJbzbkq0btKm6V6Evgq2DDwAKx4dM7A2omAMLaFpMGm0TCV9HAHSc6IOIpkPwOZQHauwaiUBO0VSZXff9d/R8xkIotwf3cbGPImRABk/5QC1Lm/w+ucmnmibPaKUhgkgI2jE5pN3ckiuQa7b4s1b27cGW8q52hZhrGFm4BDU8w== 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=OnueuZpS3Sm1sopQ5wMzUrnFAhLaXffUY+s5lIBEOu4=; b=LlJSuB7fwJy2cXua9gDGc8nIWvvdB0t2OgYV52Ja5+zkhZkrdFznghdTXU8GGZS+YMOcop/m26mg80c+cdgFRJVjq8xeNYkErNtEQWJb2JbouFOA4D8Axl2XCSDuZcATHWX7RRkZHXFNtfSpt4H10VTKsXQK95FtT63wES35/b8= Received: from DS0PR10MB7933.namprd10.prod.outlook.com (2603:10b6:8:1b8::15) by SA1PR10MB6494.namprd10.prod.outlook.com (2603:10b6:806:2b4::21) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7762.19; Tue, 9 Jul 2024 14:42:45 +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; Tue, 9 Jul 2024 14:42:45 +0000 Date: Tue, 9 Jul 2024 10:42:41 -0400 From: "Liam R. Howlett" To: Lorenzo Stoakes , linux-mm@kvack.org, Andrew Morton , 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 Subject: Re: [PATCH v3 16/16] mm/mmap: Move may_expand_vm() check in mmap_region() Message-ID: Mail-Followup-To: "Liam R. Howlett" , Lorenzo Stoakes , linux-mm@kvack.org, Andrew Morton , 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 References: <20240704182718.2653918-1-Liam.Howlett@oracle.com> <20240704182718.2653918-17-Liam.Howlett@oracle.com> <8fbb424d-a781-4e61-af7a-904e281eba8c@lucifer.local> Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: User-Agent: NeoMutt/20231103 X-ClientProxiedBy: CH0PR03CA0437.namprd03.prod.outlook.com (2603:10b6:610:10e::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_|SA1PR10MB6494:EE_ X-MS-Office365-Filtering-Correlation-Id: d45920a6-0e1a-4762-0812-08dca02564f9 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|1800799024|366016|7416014|376014|921020; X-Microsoft-Antispam-Message-Info: =?us-ascii?Q?gCoRk7vClH/vcnownrMlrqNbmOi5ou/xC4aSKx+dvjcfbWubOnsDa0s88+Uj?= =?us-ascii?Q?Lf+CC0Km1rAu/jUq2Cgi8SBluqhpjSg34kCpAEW2aQfADuEZGbwPRZsta6av?= =?us-ascii?Q?eFHuD3IPyHB6zo0YVgHDHOMWqJnrd8c8A8+ijWwQ4SKzjdnZpqFwzFOsIFaZ?= =?us-ascii?Q?UIY/dTN5k6ZlDnndGQptQWHnq8EnuPQrZTpFpMrs2bQ4UHh3+Z1XQ83Dm/08?= =?us-ascii?Q?a+fMBq/OEz5LCJqGsv5lJGD7ytdx1f2JtW8qj8zTN2qrRajSa2OKHDbsqdvY?= =?us-ascii?Q?9a90zsTXV9ycxZO2L8SE4SkGU6ov7pkSSzuO6SkBvBVX0TyKPNIudW3tZalh?= =?us-ascii?Q?kvpXnEYFMKPg8kDN4wJ4NylovknG1rLEjRVTmapPTFh6n5LOo7ctXBOxfU5D?= =?us-ascii?Q?IRglohW/PodcgCbuMtnUyaEbaGdw1lmQ9X4W1ym8yZ3ZnqJPrUlR8PNny08i?= =?us-ascii?Q?0AndYpQ+/aFhrIMhJWyuG5JSLTAnTfBBCsKcIlR2cSNzgUReY4CioqUaBh2S?= =?us-ascii?Q?ZEFbDINc2GJ1ePhFSI2IFinOBVSho0LYFT1UCp6d+GfFIruMJrbAHocgtLtm?= =?us-ascii?Q?BKm1aEkbrDkH83IiSFEc0OOJHi2b0ej+5fPcvwuOGR/+r8PlCsFtAk+7A0SL?= =?us-ascii?Q?stqJwdGZu+LDA1/1R51itM2g/U2ql8Yz1wJ8mh0u1fZKNAthqVFuoi9fcH4c?= =?us-ascii?Q?oEqEe/vtu3ryZkAHgIwROffdWeTW4mcNq8nIT+nW+q0JtihGPulsna6qDgQ2?= =?us-ascii?Q?q/F3r6Kd0eSO4UWy4+Ui9+/xtpCm/MX9vwrebtTA1E1Pyp4lESqaop+UXIiU?= =?us-ascii?Q?N9CHj8TmLk8mlAPE5HTuptPqKV1AoIjjMM5P0XBJZtqnz13KG5f0c7lIaYU9?= =?us-ascii?Q?5M9ZD5KJF1dIfOzBoZ84REf1SidE8Ii8FEPEcuYrQBoZnYP3uuKJn2CgbEQr?= =?us-ascii?Q?1FMmcCVLGVfz/lo2bz72x3Jr8z6E4rZKUpVo2DywchjZkVTWzD1JKj78Big2?= =?us-ascii?Q?lM6V6UrluDcuk99GApssFHDUtdnqEPjhd4oB8mDfHHtGG7RiINupgGtqTCjk?= =?us-ascii?Q?1Ea7eNO0jOnwzd3OPCoAdoq+KlBd4fKZ9OwGPogQSiZMKZfM6q3HR/fjgMbv?= =?us-ascii?Q?dufqw+rue8drQHGK0wTMMGycJ1UOxHI+7FMh5CxTyuyvzY23K+ijAwDFY+Iy?= =?us-ascii?Q?uNKS0v5ythjQrR4Uhm/AvScHt4h02zgxjfy1BBTd/Sx5VeFHqTNTu/GX4o2G?= =?us-ascii?Q?b/+q7Mi8dmuw2N7G2heWb0YaHRHrpYioO3sAenkUz0NbGWtY0F4xSlBBtqaD?= =?us-ascii?Q?iQldZS9KtbMYmDqalvlWm+wQ1UV+zQaKDQKAd9g1oK/X1pjKlZ3fcNzerAVC?= =?us-ascii?Q?g6FgR/G+K4l3BDj7PiTVSHu7cUFe?= 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)(366016)(7416014)(376014)(921020);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?pRISqTI2tvvSkXOip1a9NoCs0AMrVBO7j0yAw5XxOeLuIVNpG8nUabyw725J?= =?us-ascii?Q?yFyu/+/5CvfDH5CzRV6zj+n6Zy+w8VA8EEb/0buOQHUAIPLhgn4mG7RXrtB2?= =?us-ascii?Q?lP+dzhXlvSrO/ZOr0TJK7Yt6TvKDudIiUPzVn/ZvS5Agp1a/aIWcolLzmPD7?= =?us-ascii?Q?dPHT2w2tL4k9Qwg0uAD0mM2oEuBqAY1ZhqSb9DGoxuaMemBpfsto4342yAck?= =?us-ascii?Q?zVW9hysCvkocuEUdR2OZBDjpKfiGpzdd7UCaHVr8q8gDjliShl2DRxnemlfc?= =?us-ascii?Q?mslTavDBqLVvHbUXIUi/b26ds4Stq0Fe7VzhLLqOiSDsfBSVpKkvHlkgX87W?= =?us-ascii?Q?p19oOrLs/p/auHg6oNEYo5LlFAxAz73Gwa2bclv0++7rH0aw74gd39bFy+np?= =?us-ascii?Q?Y6UirxfjjDhliC3N14s+KgeQA72olMbKayzm2lIILD4VawIzpyLaFzXWGpjo?= =?us-ascii?Q?Tp0/aiLDDj/C0xCB7c6Kkn2u2dfHF1K2iP36Flg0cJNC0Yw0akEzil+zmxNf?= =?us-ascii?Q?oIrT4cmeWlAqpeoXrO7eTa5YPo9VvZxonVdg/gPuBdaPc9o9USEIuWRXaqfm?= =?us-ascii?Q?nE+YkunmEUfcCrs6Yy2WShBUhX6+geR8Jc56DCSPE8/1EmmaY6E95z7OS7U9?= =?us-ascii?Q?Jv4jTFJm6bC6jzr+2JaWhZKY+CQl6xwO8EpruuONcGiFH6GIJg47RkYlk5ko?= =?us-ascii?Q?v1ZZv+Epbigp1GExnUECWfyVXNfBcOl0hLpW5jgS9fBVmnGE7kM4efJyM7VV?= =?us-ascii?Q?Iefvi87O0xfZertjba0bbVz0iGMGBIK3KJ2dRljkBnWsAYkMiLHThNHsMpb1?= =?us-ascii?Q?cvq2wrZWOeqdFuhBWQvi4hlRQzNZTSd0U605wKYctCHL90AkzUKH+TN9jMcS?= =?us-ascii?Q?Ok4Z6ZzQj7KVtnFPYFBGiU/7VvpFH36BYzicINpFB+kI4el/6gzszqOegFC3?= =?us-ascii?Q?1oSEku1PF+VU5trDIjLVad/pFvrdK8D3wPbLugH63klgkj0d5DFprsm8oE3S?= =?us-ascii?Q?gDl3pE3bF+53ohSPRtU/QS0sKCJSVe4gGJjr/BNopNnmoYNWED50E65pu493?= =?us-ascii?Q?2vwr8eB/hzyX8Jdf3BMTU9GjHYIF6MLs4PEOpc5RIHUo2genjoFCgwI5IXcc?= =?us-ascii?Q?6xMBjbUnDcLZdm2x+/EPS/JrQBX8dKmwwXbN1Sr6J79srCJPldozAAhspL+A?= =?us-ascii?Q?3OtPlIZPEV9zwQvBuETcGp4JSbvxSvSAP56KpyZlRXOiKH5cGJrq6uL+S5Na?= =?us-ascii?Q?nViOuqnJDT4Pj9EuuuEbckCdcIUgS4RF6SEi8j+KwCvJGyYnQffwT0YB4BcX?= =?us-ascii?Q?2omcUh0GWJLqnCIfGD6PpUdybEo2110mIZb4PCxawTEenvpeVylF47AvDZC7?= =?us-ascii?Q?gJdfUMc/68wGOXwqSPsSg72uD8KVX35ciE9DKdtAXLAAdy5FpoO1Fqs5ZSjg?= =?us-ascii?Q?+1Kpe8tXX9aoqyUqD0hrs8ElxsQekv26Xq8ACeBmFo+vIeA4fHrtxMbdGM1b?= =?us-ascii?Q?aQUWjh1Tiq/mEOMmHLMMGd4BYGEvVh6myOmEnWOrVAg7Mir7iJgtyYIz71wH?= =?us-ascii?Q?1nVYNSRdIsxtl+vkgbP0KEex8v26o5GYVpam02bejathWtNF9s3g9Px8ghXu?= =?us-ascii?Q?gA=3D=3D?= X-MS-Exchange-AntiSpam-ExternalHop-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-ExternalHop-MessageData-0: 0oTe23cBAkMOVxnHyP2OXeaSnvxeEWhQD+WXJoOAL3kuk8jddZxH1/XdmJEubntePetLDOtiwfsJQ/j8otbTdhjXoaogiDJnCXaIfMC9Q7DbDlNzuGhWrr9BiWqFdixrAs8WEEGIReprdl+kdzOpPqm3fpMpqAB4uhJ4aq5dTBOCXIgDdvfVie/e3s2X+Sa7KzSPBmBTKbMKHjKKGkBEnWBZBPYDZjq3Mx9M/fomKy8lmh1LTSi6AGYfCbkx8wnDN1KwcJddH0joYdiM1VjXETD0PRRAiYnyuEpIrxz1xfl2zGUN0w5ppB4W5mVlryl811BybzBDNzrVhnn6X4gkTWXMWfqTyo/ZsLSHA1McnpaqxDz35ARhEKdSrf/P04vzv6/ilElnFX+lusZax+vK2DFEL97FjpqswyeYUDKu8a2aDggluiCei7tj7+z2TeWYZ67/Bb2iUfxG4/C8i+4cuFMjZ5HWd9cnlrty5GnG7OC9Pjhzd6twHR/d3GB8G8dvJbkI6RL1lcr0vNcHCkJbDvTNUEp3+H3NUpHGYFc/SB9WSBw/KimjJRO9sIY6HFIoohXqxSTi5Tq+EimqqPsPY9n1dFzSZKUP2fFAkHnBZm4= X-OriginatorOrg: oracle.com X-MS-Exchange-CrossTenant-Network-Message-Id: d45920a6-0e1a-4762-0812-08dca02564f9 X-MS-Exchange-CrossTenant-AuthSource: DS0PR10MB7933.namprd10.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 09 Jul 2024 14:42:44.9632 (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: Y66zrHi+Ew1JelHU5LYeQsmZEwS4UUZ3yQAk4Bz0TUe6YDMVCgvatamAIWOYBWjIk0LMKCNOqgAT5DOI7VLFEw== X-MS-Exchange-Transport-CrossTenantHeadersStamped: SA1PR10MB6494 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-09_04,2024-07-09_01,2024-05-17_01 X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 bulkscore=0 spamscore=0 adultscore=0 phishscore=0 malwarescore=0 suspectscore=0 mlxlogscore=999 mlxscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2406180000 definitions=main-2407090095 X-Proofpoint-GUID: JvphZtmtd3Zer8rRXLSFbISVEiCKZHXr X-Proofpoint-ORIG-GUID: JvphZtmtd3Zer8rRXLSFbISVEiCKZHXr X-Rspam-User: X-Rspamd-Server: rspam04 X-Rspamd-Queue-Id: E95A040013 X-Stat-Signature: 5t89u6tde341ssb1jrkbc3nti7hbgnz3 X-HE-Tag: 1720536177-859035 X-HE-Meta: U2FsdGVkX19kKIJnRZx0Pdoint+dm1vm9JY1kMuxREGXnYxedVN+xKYDNawEEyquNbiYc2zYfnKRxA0q8jgHB9QnO4X/N4EXkwPTdt4fAMA1muzKMgAL/641gzRi8ziV2450cXY70gX8VN+DB43fQWGJzmC9cFvOSXZGKqCWa+6dtiPMwAg1cv7oc8+o0raecDAOolgaF5XXee5HMOnZGzEqDprKzrrCmsix8sBYSyoj/DEDCeIyNnNnI39gOW2V4kheEe/X25dqcT8/7dYJis8EbEWk+u7jnudeh7hZiGXGyAKzNSynRSwQ4bMCZxhhpfntGC0CfPB1y9UaSdGzE9X2SLwMzzErsgGZ5W4LjztPZ560JFmC0VwMO9J/o2dTmRuqdRxmL25VRLZF+PYWbQPKhSJct6n6ZjmkN+KLQnx10GZerejxFjVpva1y2YUTCkxZ4TOxmEYXVHFmkAiDJQSn7esB9Y1XbMMkAQ2JIIQ8RrLF/79yJv64jIHoQrHgz4PyrFpOm1PHb7E9GKNp3LUooEFdmEDmGQWU8/64wUbzK8OyX+3RZjAZGS3rk+hM87SCqY2t79OdTP7NJyHCSdON20qd4KDhmHkKGQ/HxTPsUM1kQ5uS/RyNWIyqk7Kfpe2Ym4jJAYSjW4OcqqMUQLQ2FCBjBAt7KZOY5/VWawbhsyJVoUdmTaIfLb6b3AajZoL0uoG1Gnlc+gr8kXPuugvvUDJG4644VQ/27Qp01LDJEGgg8/6sxyOh0qM2Z5CLJpKlgFEyrnjLNJgr2AT/8E3gtdiQ65nPujZG1622phb+hQFbHQRYpliAYj/+etYxMBK07feBJXjjXtVYy9XUwggShnrh6qbKTUgawMvfhMwfttS58pZvG8DOzaXxvMRX3fXhonNl2xM3rToPtf4VCYrquyaYaz1QiMySR0sCSf1iC/lCBxQFjqFe8mFDfb9sYnqvg1ai3vSuuUofZZi qW1EsF9B MUrEqAzDBd8YR6T4JJias/nHONBUoDol2lcEYoREjZxOtF+lAoH3ExFhD+B1j92VSyKR2uvwmwt1CS7zWO4PF039sESYqiHOlp2p0nn8vaDFQjzx5bZJqnPoqO50qEZyr0g6vRv3alLam65gStwoQPDZBI2zKbeHc5LoAKb8MPx0lZRytO51dgSr48+BGtoTM5Nn6iasLekUrZrWuygLPEHHVrVa79PcgDR5kiFu0Yp0LAcHyEoAXlN1zK4+CmpGFMiaviyZqg415TfJ74CX3Q7JBtxSKNkzhUi4AceERqyUWdj/HSIyysqjGJy2J5ixn52r7zQUqjFL3YtRQphwO5J35x8S+oMZxIrH3nn0KqYBVXzMVMjgEzwiLARcQz8okYqJaEkdIp+kg9zVla83xDvBH6p9Lbq8HZvQ1tJ81BRcEuEVWPuZdlFSwclNIY8O0kLY/MDPEbfOYyzUrT1euRGlIt/xIRg+iOoAXrYSONTpYiaUYZe5BOInyYOJr0ij9KP5BHW9Ze6JlVqs= 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: Cc'ing Dave Hansen on this. * Liam R. Howlett [240708 16:43]: > * Lorenzo Stoakes [240708 08:53]: > > On Thu, Jul 04, 2024 at 02:27:18PM GMT, Liam R. Howlett wrote: > > > 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. > > > > Predictably indeed you removed the thing I commented on in the last patch > > ;) but at least this time I predicted it! ;) > > > > > > > > Signed-off-by: Liam R. Howlett > > > --- > > > mm/mmap.c | 36 ++++-------------------------------- > > > 1 file changed, 4 insertions(+), 32 deletions(-) > > > > > > diff --git a/mm/mmap.c b/mm/mmap.c > > > index b2de26683903..62edaabf3987 100644 > > > --- a/mm/mmap.c > > > +++ b/mm/mmap.c ... > > > static void __vma_link_file(struct vm_area_struct *vma, > > > struct address_space *mapping) > > > { > > > @@ -2946,17 +2925,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; > > > > > > if (unlikely(!can_modify_mm(mm, addr, end))) > > > return -EPERM; > > > @@ -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; > > > + > > > > I know you can literally only do this after the vms_gather_munmap_vmas(), > > but this does change where we check this, so for instance we do > > arch_unmap() without having checked may_expand_vm(). > > > > However I assume this is fine? > > Thanks for pointing this out. > > The functionality here has changed > --- from --- > may_expand_vm() check > can_modify_mm() check > arch_unmap() > vms_gather_munmap_vmas() > ... > > --- to --- > can_modify_mm() check > arch_unmap() > vms_gather_munmap_vmas() > may_expand_vm() check > ... > > vms_gather_munmap_vmas() does nothing but figures out what to do later, > but could use memory and can fail. > > The user implications are: > > 1. The return type on the error may change to -EPERM from -ENOMEM, if > you are not allowed to expand and are trying to overwrite mseal()'ed > VMAs. That seems so very rare that I'm not sure it's worth mentioning. > > > 2. arch_unmap() called prior to may_expand_vm(). > powerpc uses this to set mm->context.vdso = NULL if mm->context.vdso is > within the unmap range. User implication of this means that an > application my set the vdso to NULL prior to hitting the -ENOMEM case in > may_expand_vm() due to the address space limit. > > Assuming the removal of the vdso does not cause the application to seg > fault, then the user visible change is that any vdso call after a failed > mmap(MAP_FIXED) call would result in a seg fault. The only reason it > would fail is if the mapping process was attempting to map a large > enough area over the vdso (which is accounted and in the vma tree, > afaict) and ran out of memory. Note that this situation could arise > already since we could run out of memory (not accounting) after the > arch_unmap() call within the kernel. > > The code today can suffer the same fate, but not by the accounting > failure. It can happen due to failure to allocate a new vma, > do_vmi_munmap() failure after the arch_unmap() call, or any of the other > failure scenarios later in the mmap_region() function. > > At the very least, this requires an expanded change log. After doing a deep dive into the vdso issue, I think it would be best to remove the arch_unmap() call completely in a later patch set by changing the two areas highlighted by Dave in patch 5a28fc94c914 "x86/mpx, mm/core: Fix recursive munmap() corruption" back in 2019 in regards to the powerpc pointer use. But that's for later work. In the above mentioned patch, the arch_unmap() was moved to an earlier time to avoid removing the same vma twice from the rbtree. Since the mpx code no longer removes the vma and powerpc never removed the vma, it seems safe to reorder the calls as such: can_modify_mm() check vms_gather_munmap_vmas() may_expand_vm() check arch_unmap() This seems very much fine because: - powerpc is the only platform doing _anything_ in arch_unmap(). - powerpc used to work with the arch_unmap() call after the vma was completely dropped. - The vma isn't even dropped by this point and so all proposed changes will be completely undone in the rare case of may_expand_vm() failure. - The arch_unmap() call doesn't need to be that early anymore anyways (mpx was dropped by Dave in 2020 git id ccaaaf6fe5a5). I will make the order change in v4 of the patch series in its own patch. Thanks, Liam