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 527B5C3DA4A for ; Mon, 19 Aug 2024 20:32:41 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id C57AF6B007B; Mon, 19 Aug 2024 16:32:40 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id C06A46B0082; Mon, 19 Aug 2024 16:32:40 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id A59FC6B0088; Mon, 19 Aug 2024 16:32:40 -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 8505C6B007B for ; Mon, 19 Aug 2024 16:32:40 -0400 (EDT) Received: from smtpin25.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay10.hostedemail.com (Postfix) with ESMTP id 2536DC1516 for ; Mon, 19 Aug 2024 20:32:40 +0000 (UTC) X-FDA: 82470143280.25.3A76FF7 Received: from mx0b-00069f02.pphosted.com (mx0b-00069f02.pphosted.com [205.220.177.32]) by imf22.hostedemail.com (Postfix) with ESMTP id B4F7DC0017 for ; Mon, 19 Aug 2024 20:32:36 +0000 (UTC) Authentication-Results: imf22.hostedemail.com; dkim=pass header.d=oracle.com header.s=corp-2023-11-20 header.b=hN3Q491D; dkim=pass header.d=oracle.onmicrosoft.com header.s=selector2-oracle-onmicrosoft-com header.b=TwMpkIKb; arc=pass ("microsoft.com:s=arcselector10001:i=1"); spf=pass (imf22.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=1724099479; 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: in-reply-to:in-reply-to:references:references:dkim-signature; bh=Y0vJbaHtiujT9qwa0Z/2q1chZDJcYmodwzIOI3dvYaY=; b=YDqkJt9sJnN35N7qq7ozgMvV6lek9OYrPwD9nrcOefck0Ov591L22VWdn9gt9emz5f4HVl WvjOgthf14LUXlTabyGM2G1mGO7pjWd32cai7NkJYpfRuRZgd0vIth7GIFJjvuzAZHDz8X z60WBBArMJprkavu7jnti/tZ1fDv1fw= ARC-Seal: i=2; s=arc-20220608; d=hostedemail.com; t=1724099479; a=rsa-sha256; cv=pass; b=IFP0mjexPMXoIamwgj+ofUWibtqiOBAiyjpXnZTY91kD6XGwkM23v7M7EE9YTPg/wQiya9 Z/r7FV4z/dDVd6UvhXpwVFtozC6tdj65BDTXHtxTavwOc0bPwEhbKLGuj1Sf+Mq6l58DXX AJvUFyjHuKN4aXXrChdfWCfwd5r9jV8= ARC-Authentication-Results: i=2; imf22.hostedemail.com; dkim=pass header.d=oracle.com header.s=corp-2023-11-20 header.b=hN3Q491D; dkim=pass header.d=oracle.onmicrosoft.com header.s=selector2-oracle-onmicrosoft-com header.b=TwMpkIKb; arc=pass ("microsoft.com:s=arcselector10001:i=1"); spf=pass (imf22.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 47JKBTgn026715; Mon, 19 Aug 2024 20:32:27 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oracle.com; h= date:from:to:cc:subject:message-id:references:content-type :in-reply-to:mime-version; s=corp-2023-11-20; bh=Y0vJbaHtiujT9qw a0Z/2q1chZDJcYmodwzIOI3dvYaY=; b=hN3Q491DhwOx2R+qiygwTgLK05MkTGl CAS1kaIcPqgq2QS5d9QDnJol36R/XUjefyYBxLiANfY2fhmJ2owjPbijNJXkTp5Y OTcoRr+oGK43G7l52+UIgboggBYZ02KOhmZS7Cdy7wWYZEnhxd/450+JpyZJGlku y80Gh4l2HGtYKapgNtT6obcfxFcgFfzNsyOyyzg5Kx8INAMYr5LXwFNu6psm1EV1 gqp7Gv3jXlUh67k1A1PT8KiDdWXRfS6TsQpCqv6xE6gNuDB33kAmxLYth/4DwMpN 4/j6USfEnG71PvrTnl7ftK+EvueIogmO5tGXFdaj+TV9849hXAsmsOQ== Received: from iadpaimrmta03.imrmtpd1.prodappiadaev1.oraclevcn.com (iadpaimrmta03.appoci.oracle.com [130.35.103.27]) by mx0b-00069f02.pphosted.com (PPS) with ESMTPS id 412m2dbjm9-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Mon, 19 Aug 2024 20:32:26 +0000 (GMT) Received: from pps.filterd (iadpaimrmta03.imrmtpd1.prodappiadaev1.oraclevcn.com [127.0.0.1]) by iadpaimrmta03.imrmtpd1.prodappiadaev1.oraclevcn.com (8.18.1.2/8.18.1.2) with ESMTP id 47JJn4Ke037711; Mon, 19 Aug 2024 20:32:26 GMT Received: from nam12-bn8-obe.outbound.protection.outlook.com (mail-bn8nam12lp2168.outbound.protection.outlook.com [104.47.55.168]) by iadpaimrmta03.imrmtpd1.prodappiadaev1.oraclevcn.com (PPS) with ESMTPS id 413h5sm3mp-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Mon, 19 Aug 2024 20:32:26 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=D/u4cq+tTo86M1omRHBDZoiUHUn8NzvIHGHiSlnPf6WvBnHCB+RCesdMNP6jDsHINySr1witspzZW30SDD0DsHTw9qMIwwOGTYNFdmAceSh+3O8A1IKHHVm1xXOW/LdQMzkeind9amZPA+kKeeBiZ7an7eTZX5OCXpVsULLO1nxpwqhQ94uhbcA63kKb2v/x0x6kfnsNKWgjfrGU3B2SIeYzQ0bETuOMMkUeX1x9RRu1XLDJH4JwEVw7dR0lEmCLYKDKD2UvPSi4ZFk4YFXssM/C8pWyoyNkSYCz/iqOpX53zGShtfvVunSeYJFEx82DULmEIERNwkGyaRvVBLFttw== 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=Y0vJbaHtiujT9qwa0Z/2q1chZDJcYmodwzIOI3dvYaY=; b=f7VABAzL90yCxojq6GlDCgsMEyKN+fZ0jreBd5tEDasbGtqDacD0X/3Q6OtXTIiw3X+nKmnLHzhfjkDoNoksLLyskHLtCfLeAyYmGvNy81UJeIugS9g4jfXY1xIEhihT3GgEV/QzO2tLLabzHMEVxoa1iVcb524V9LwOOdR2jLSnSQsJdfGV+Ad7X8eOl9t96oQZSldLzlwL8KJnBAmVnB0+Bv6NDocg4tGyVWwL5gY5ML+pzCjV3hCy5u3kE1sV6Xcdk7Hnk1fZmUSx1UoYJ8TgirowmTE7vhBrV7JjfscW4IRWxHQX/Vm+Bwf9HDXgp5/gfLe/B6IwGAmiQwzHKw== 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=Y0vJbaHtiujT9qwa0Z/2q1chZDJcYmodwzIOI3dvYaY=; b=TwMpkIKbw3NFvaHfYgRwQXL7DcmMXjILTn04YhgDix25wYbjTJNGA4XCcNbrPmDjOulroiu2ji/n1slnyt7Ci7eUhV+dypDQALeRFCsliPpcP+HY0WapKOD28Ry2+pNsc0LqnIveu+wJHNdRmEryr3G+tUO3D76xtFjtOPXsZAY= Received: from DS0PR10MB7933.namprd10.prod.outlook.com (2603:10b6:8:1b8::15) by SN7PR10MB7001.namprd10.prod.outlook.com (2603:10b6:806:345::11) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7897.13; Mon, 19 Aug 2024 20:32:23 +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.7897.010; Mon, 19 Aug 2024 20:32:23 +0000 Date: Mon, 19 Aug 2024 16:32:21 -0400 From: "Liam R. Howlett" To: Pedro Falcato Cc: Andrew Morton , Vlastimil Babka , Lorenzo Stoakes , Shuah Khan , linux-mm@kvack.org, linux-kernel@vger.kernel.org, linux-kselftest@vger.kernel.org, jeffxu@chromium.org, oliver.sang@intel.com, torvalds@linux-foundation.org, Michael Ellerman , Kees Cook Subject: Re: [PATCH v3 5/7] mseal: Replace can_modify_mm_madv with a vma variant Message-ID: Mail-Followup-To: "Liam R. Howlett" , Pedro Falcato , Andrew Morton , Vlastimil Babka , Lorenzo Stoakes , Shuah Khan , linux-mm@kvack.org, linux-kernel@vger.kernel.org, linux-kselftest@vger.kernel.org, jeffxu@chromium.org, oliver.sang@intel.com, torvalds@linux-foundation.org, Michael Ellerman , Kees Cook References: <20240817-mseal-depessimize-v3-0-d8d2e037df30@gmail.com> <20240817-mseal-depessimize-v3-5-d8d2e037df30@gmail.com> Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20240817-mseal-depessimize-v3-5-d8d2e037df30@gmail.com> User-Agent: NeoMutt/20240425 X-ClientProxiedBy: YTBP288CA0010.CANP288.PROD.OUTLOOK.COM (2603:10b6:b01:14::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_|SN7PR10MB7001:EE_ X-MS-Office365-Filtering-Correlation-Id: efd2693d-782f-4371-4183-08dcc08e0820 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|366016|1800799024|7416014|376014; X-Microsoft-Antispam-Message-Info: =?us-ascii?Q?qRCGoyv3iXBNdyO2bgE1B61nLQp60zyOkWh0VavRbTfA3tA87ot3RYb4PFHd?= =?us-ascii?Q?tDdgYzOydFDU3iXRod7siNz3jIuEb8DOB6FPnMfQnf8DT19Te5rmNBOpUcST?= =?us-ascii?Q?Yxb7jxXDp9l/yGSEvVYoa7GgxzDcUlxqdOcUxlVdC/84jQDMdRlvfkZig2iE?= =?us-ascii?Q?c7NObSaiLL+3fo7/P5BnvNSkmeW6nzG8Fs12hBXTjyBNfMImdoQw318Gae3f?= =?us-ascii?Q?DKRvA0nwd3xFNidklh8XkTx2oeIUFHxJk7Roix4KejvMm+2p9dFEtatN5vs1?= =?us-ascii?Q?aZLXM3dPjpj31NNLknV+mwp/5ZcZKp62An2vPE8FqpWZ9sw1UFaAx9CGZLH4?= =?us-ascii?Q?w50ctGkEF0lR/xK+i9PrVGmoj7Os+c9JzUXTrgKaSAGVxA/KVYaFTQqZhArx?= =?us-ascii?Q?UFhAzIwSM/8YMCLAtvclBxOzbk2/wzvsuzX4CeMiW7iX5zVThF+i6DtK880u?= =?us-ascii?Q?Nvzx6iURijas/1j1WLY5lvU6trUOQr0RyCNcpQp7qNZ1gfa84NCxE2dvGm/3?= =?us-ascii?Q?jUGUM53CFu/jaVxbutgr3bslbxKeoj1xxNfD6RRVn5IeBuPVRDK/pvhnBigl?= =?us-ascii?Q?onssekBtvMJrjoQO2Dopok4zTw8B2xO81GyM3FatRXd8wcAPT6be7CeZ7ZcY?= =?us-ascii?Q?ckWLJdSPB+/y1hnmRb/oWXboI4yNHCvlUNBmyLNXzqsOS7LbebQwwUJhFjwQ?= =?us-ascii?Q?Ux3K66qGwCQmM++MCA9o83er7hUcMjCntyr25NBz75bdZMdrNHNZI5P29ZAP?= =?us-ascii?Q?vRo5qc0A2fO5kA+t2HiR/TJTw+RDtyhK09Wf774kjauDRB4kSs6hpBz63xWf?= =?us-ascii?Q?5xk0rDxbjPLA6j8G/KehlGlrAN0UISjD2ewymTkDHwlKihidESioIOEqoN0d?= =?us-ascii?Q?2b1MHxOKdWnCDoABcxkEea95v9bO9lkQ4WZ+uQdMl3Qn49v9yFw4XHQ2NNId?= =?us-ascii?Q?FruCJJLO4wTsoHqAhX8pEvvKYTlvXpVtyyKIcZ9mXn0RRzOx/1pYr2gTB5um?= =?us-ascii?Q?Q07Sy8cZlV5Wo+jtLY7wOUEyABLFCo4sjv8O7H4sfgyfOeYJcJVFOII9n/Rt?= =?us-ascii?Q?dPDMTtPFJNreI3aBAg039Isa27dkH64/kZMnHb6/fLuHn6fbwhUt8dT2hV85?= =?us-ascii?Q?byjJp+wMz0gpm/H7nwLvNrV32Hu6LglmraWI4Z108ew6MqvwFOLAw2u8XuI6?= =?us-ascii?Q?Snugg8Ol/gAOky5+QthmJ1L/ZqG/l8OoSzuwCmnMmAhtHi5z7PYJmINpjm70?= =?us-ascii?Q?8iDq9ngSiMiYaiW6gLrjSTFOZYBIfrEr6kpL5Hmag7g/LhJy0UxXRET/a33E?= =?us-ascii?Q?qflymI6vbdpXn9NYgALN0WtJ5/Rn7Th6NcWeS2OfUbb72A=3D=3D?= X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DS0PR10MB7933.namprd10.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(366016)(1800799024)(7416014)(376014);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?GpNXd9CetEugTx2CiuqftzVdQSkJw1Vg0Wjl/UtNOKEb6dYh4VZ3lcukAsRr?= =?us-ascii?Q?LocyMzJQXtK51kKb37t+QgJi/ie/potTyWcg+oMwILSk4bnA5oq86kzi+79P?= =?us-ascii?Q?jrLu/W0wAZqTsIQuP9xto4T9vWe7l1HBXY0Wu8XDpqm45NaYcV4tfIKLKioQ?= =?us-ascii?Q?O72HYlj4LzZshzD7F9IaygLTpvegMDGwSOnjqJXiCmiFsYhe4EvykzmUahuW?= =?us-ascii?Q?l6fFRXLIAKd0CYU8hqiJ8gJzKQ4C0A6cCVIEGk3TlixeddhfWaw+Rj/m5soU?= =?us-ascii?Q?/jhb+14xn5AUIDI82+bvcnNFzFJsy2Yh9e6pcqDjTpLjCGdllJp20cib3bdg?= =?us-ascii?Q?JpRBCK211jzGtgHHV90PC39bFugylQE1xu3F98NcUxBx1ZHU3xDCtkuzgqAg?= =?us-ascii?Q?xgDYnEzjK1VSbIWmrcJxzNEl7xwfcZZtfElKvc1/frc8v4EobErIuDCIR9zA?= =?us-ascii?Q?7Jy0sfln5TsR9gNKdXn3XyYySTf+OPb75oITdS+yLj94hWIe7NVJDqwzchvx?= =?us-ascii?Q?op+xTW88pHKE5l0im8ASGwAnAfJa+Bzn8FuHwYTRAHrZfp9GCDDk1A7P4oQl?= =?us-ascii?Q?+JTpOzOtwDrACl/QjV7yVkNbCwpIG4at7AMnbkEVESiXqJq374awteoxHwZD?= =?us-ascii?Q?gfXLqxeoA9QxSPivl3qJN3HuzftAH4PFmjPo5Tqr+0kAOkcCBxloC/qN/do0?= =?us-ascii?Q?MIQnqXMpQd7YutNEN+R3nMgi1TjiPCkFUYFUtKqEGHiUUZRblVOS/OJkZ1Jl?= =?us-ascii?Q?g2vd/uq2OXkAwmHzb3cSPdzQd0hGg+jYTxE5NSlVq3r1Inw43j2jVvtpFQlW?= =?us-ascii?Q?pGOUaYeMB+FiqbuIETS2PydJrW6Knv3u6lZX9S8gZXGhaSHDAuiG7DXHx8eX?= =?us-ascii?Q?mao+3tNn/dGw5FqX/1VSqA3vsKLltClgZYNzEEh7a7DI9DH8muwoZzvg7hRa?= =?us-ascii?Q?1UwUtENBVlT1hwV44X/6S0ZKapZnbts+OU2qQaDersiFlu/Dn2xG0NGunm7g?= =?us-ascii?Q?hu4SyNfHom8V06bzcrXcHoUr1p1kY5SKeJiK6csAvBUL1sSO/R4Id7BHSEZc?= =?us-ascii?Q?l03hA2jkD4O717Tggs4YDuDVCKlR9TisjECJnOE/JpOPgVE5lqL+PxEAhe36?= =?us-ascii?Q?f8Pw8noBIJJGngOdc9EwXdng6V4kkyqfDLX1BHeZbdcn+/cogYAUTuC0pZUp?= =?us-ascii?Q?WZz/FzkPHUMCzFYtdM2qQnF7+kbeLsrPE0T8r7RwR1DY8JoLafnmCbWE2sdd?= =?us-ascii?Q?4WTh/ugUAVX1DEv6alLxXN9CKqy6YVnaW/Gxq20JQoBIJtERcucVLlDtuQYP?= =?us-ascii?Q?9Sjs5joH3KVBOHFLMqTjXNfuXygzcvXdVnVJJT6JV+DY5/bN8NPuuPdOQ2R5?= =?us-ascii?Q?gZ0IYGnZls9qA69Sp12muyA+F6xAEiug+P7VpOD6RBB/0Sk4DJfnslmA8hRF?= =?us-ascii?Q?HllkD5xiz1iBJ5ijkajdKU9V29j0NHkgLms13/x8gAZUzEA5hHVF4UlA6VCc?= =?us-ascii?Q?2TnJYY0Rc6TUH/+tzQTF0/x5IxE/k20aFwNHieKw6KNp5TuBgVUztDbQDxJ+?= =?us-ascii?Q?u8qLeR+WdY+qE/QhIYJrMWrs1UHv+c6YjcoravyO?= X-MS-Exchange-AntiSpam-ExternalHop-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-ExternalHop-MessageData-0: 2FvD9tCQxLseg7VZmkFu5ONV3i77vyCwmYDT20P6mI3kT2NKW/C5pzXuxRoEjErf1eKqzGPj7N1EVPiP+THgIAP44LWwg3qVq597vTSa1mHyL9kwFmU8l2mhXDrcE2Q9KfP96P0jUhkdnQUQ3JcfpDVoJ2lgyfah6czxOp95wyI/9kQkgCgKsbtPjeE1vMcKPh/3/HcydhEKlJs8uB7LcgvxTTmEqNljUvj/wX9NVv0ILd1vl57GGCdofiy9dkN4d39rer8TQqtVDMKvB7SSv6AoZuAgoI9lNpyXf8f4TJS1jmGsjJhUCPDKSEs087bW51GtJ5D3gZPZdn8r3a8w3zs6UYAkovVmCwV1aLVwG51ybYSS43aaJ5pMQmoe9ZPW9MB2wQkCM8Vs5gbuKSXY8B6iNK5gedELhmX+ZHKYHRYRehvB1U4PjgdHD80GWFi1WDNucllGjHnQF90DqhBPFW7TWfcc4fizAkBX/z3L/SvSPDU7S//8WtADpZeAojcvutLLo/tJRIV4GUlNKSzNzQ+AA51aoYLVIgGr86o/p6F4DkWI87cnd7Dn+sTaTHOcJ/QGfmFzBg0YRk4vaTvgr/B0DKs6Gtki5TTqPCK4YJM= X-OriginatorOrg: oracle.com X-MS-Exchange-CrossTenant-Network-Message-Id: efd2693d-782f-4371-4183-08dcc08e0820 X-MS-Exchange-CrossTenant-AuthSource: DS0PR10MB7933.namprd10.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 19 Aug 2024 20:32:23.5316 (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: BJBd4LJDkGSNIt+/tw1CT6Y0Yyx8pPXJNv2bWzxacH2sfcqbsy50a9FjuxTxD21etlrpzkDgplRxr0s1vSIMXw== X-MS-Exchange-Transport-CrossTenantHeadersStamped: SN7PR10MB7001 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-08-19_16,2024-08-19_03,2024-05-17_01 X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 mlxlogscore=621 bulkscore=0 mlxscore=0 spamscore=0 adultscore=0 phishscore=0 suspectscore=0 malwarescore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2407110000 definitions=main-2408190139 X-Proofpoint-GUID: 2r8emv_JLM2-5iCc_rPhYnQpLdxZvD9W X-Proofpoint-ORIG-GUID: 2r8emv_JLM2-5iCc_rPhYnQpLdxZvD9W X-Rspam-User: X-Rspamd-Server: rspam04 X-Rspamd-Queue-Id: B4F7DC0017 X-Stat-Signature: d6ryuhmyczdsgombyfeukyc9aw6ksqie X-HE-Tag: 1724099556-960073 X-HE-Meta: U2FsdGVkX1/WOQwfgRhq+cQnj7lmfgwUh1TFoUux3FFK3ilCRhRfjwwn+HKGkqUPkdjCvE/ulCYUaLKpRDM1U858pauz3hpuJ2l4jtf8bQ8ud9F3LniYZKUbPtSEZHF1LqyaER0WjkHJ5nJXwqldZlXwVwd8QLTzkaCRzy3y36Oz+JFqP/T15l0f059Pagr5FbGIxmXT0qCe8vpptokrDZATTgMN2u5TlDxGbeQHjLNaqj7CD2kWGfh5o4y3GK+lZicMPWe2YLP/7LhMzQIM0Xp2hxEyA+cSYpflJ3esMbMCecLYYeyasbVguFXrfa59HBpwghNvj9lrh6W7KzwvnXTpJ1SOAKCyeY6BnUJ1w8lRY/ukMVOEblFpM2C2M518w54bp0TatDtdFSrQDFXpiL5K6srT1NEI2SCp5CgSAb3oMchpeHFIjSPsOoAx7wgb+ZvAfkQXk02vEiBGNhoTlMGnLAk+rSKezlE56xqEoOSWQkZECs9SPph4KLrmVuNJyGbffQb+f0tNCwfCFwEIR6vDYkGsLPljCQkWdYvfpc3blbH5g6i8iyecA+MxIs3Nzxo6uqakBmFL9S3QnBikn0UKwg2KTzpOXi9FaFx94TdyIKDVfyjMEd/GS8CeunzGnZQhKQ5z8ndWUF1gU1h3wflbTC049Bt27cW6UOkCfbnDMhdAHJrGNmeBxe5RXlPwx56vN3TcKPTQEMQl2tsOT9fRmcsR/jNHOnaObeCVU5Q4RWibb3juB6tmjEXaCSDivIwmn5FIeeFJmk/T3EDZGqw0JZAwysu6tNPTzjmJWwnJyFE15GqIM7QQMY/DYOl9qj8U9Hx9zYoVhpYlqSFIq3FEzyXOuljUd1diU7A6Bn9B//s7TVI1BL31RMxeLskGV//EXtQTJW0hg5AJbmMtVMo/16PjVWPPFxYzoS1Iyc1wuhRy+mcv0dykmdh16R/FEWJ28JHnyOgICe71FIv RRKwFhuw oMIIwmTuRheews9MxBcexOTZIolqBRAROKmMrKDcJG+Z8OczsT7/jEgOl1PyN528paW2jdJaEIGy0QS71V6nFynrlsieX/JqYy7aemSrVJZVVa1nP7Q7YRDnmr6LJIsTE4YbgkL2wMIRDR1Lkm6MaS3jQNTfEqMwjfBtqsaVDr2tfuyMJOD+XGY8kIvL7AIG9ZCDws7/XxiiSU/EK5YNgQ3ysdHHIuxkyxwUU4Eg2eEcFSIonuKdTQkWdG4qunK4Qd+y8HdBRIGA61tqf0q0obaQ8R9qh+DpAb9QxlTXcNM+c7y6THIWnTqiDVuWy4FHn9iTE+xzi8dlOEZl21dSStMsTJObeuedrkxDkU2hqseIVUutriSCqtsMJdi0ntALc0CGTdAGDfoVFjiNXYuEfHS4wK2TUU21oYKFD1VRBPA6+gHK7+0SPH91keiBKWQfvKc+5PHMHI76sqiDQBTIcjzYHKcLkfOGRMeQHrsXcSUtkSwXA07aSFpoQ3+8fTHnFtFwjlG055EKQp2FAHJy9i7z+m/Fuf0yEX1K+A9/rQuX2DZjBdfJDhvzv0oTBqfmbVAdSgvmScQKsh9F+WZ14pqFbsrRe/Uwc5AVRMLs5GZ9rNFECuDh4eW1ONQ== 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: * Pedro Falcato [240816 20:18]: > Replace can_modify_mm_madv() with a single vma variant, and associated > checks in madvise. > > While we're at it, also invert the order of checks in: > if (unlikely(is_ro_anon(vma) && !can_modify_vma(vma)) > > Checking if we can modify the vma itself (through vm_flags) is > certainly cheaper than is_ro_anon() due to arch_vma_access_permitted() > looking at e.g pkeys registers (with extra branches) in some > architectures. > > This patch allows for partial madvise success when finding a sealed VMA, > which historically has been allowed in Linux. > > Signed-off-by: Pedro Falcato Reviewed-by: Liam R. Howlett > --- > mm/internal.h | 2 -- > mm/madvise.c | 13 +++---------- > mm/mseal.c | 17 ++++------------- > mm/vma.h | 7 +++++++ > 4 files changed, 14 insertions(+), 25 deletions(-) > > diff --git a/mm/internal.h b/mm/internal.h > index ca422aede342..1db320650539 100644 > --- a/mm/internal.h > +++ b/mm/internal.h:q! > @@ -1363,8 +1363,6 @@ static inline int can_do_mseal(unsigned long flags) > > bool can_modify_mm(struct mm_struct *mm, unsigned long start, > unsigned long end); > -bool can_modify_mm_madv(struct mm_struct *mm, unsigned long start, > - unsigned long end, int behavior); > #else > static inline int can_do_mseal(unsigned long flags) > { > diff --git a/mm/madvise.c b/mm/madvise.c > index 89089d84f8df..4e64770be16c 100644 > --- a/mm/madvise.c > +++ b/mm/madvise.c > @@ -1031,6 +1031,9 @@ static int madvise_vma_behavior(struct vm_area_struct *vma, > struct anon_vma_name *anon_name; > unsigned long new_flags = vma->vm_flags; > > + if (unlikely(!can_modify_vma_madv(vma, behavior))) > + return -EPERM; > + > switch (behavior) { > case MADV_REMOVE: > return madvise_remove(vma, prev, start, end); > @@ -1448,15 +1451,6 @@ int do_madvise(struct mm_struct *mm, unsigned long start, size_t len_in, int beh > start = untagged_addr_remote(mm, start); > end = start + len; > > - /* > - * Check if the address range is sealed for do_madvise(). > - * can_modify_mm_madv assumes we have acquired the lock on MM. > - */ > - if (unlikely(!can_modify_mm_madv(mm, start, end, behavior))) { > - error = -EPERM; > - goto out; > - } > - > blk_start_plug(&plug); > switch (behavior) { > case MADV_POPULATE_READ: > @@ -1470,7 +1464,6 @@ int do_madvise(struct mm_struct *mm, unsigned long start, size_t len_in, int beh > } > blk_finish_plug(&plug); > > -out: > if (write) > mmap_write_unlock(mm); > else > diff --git a/mm/mseal.c b/mm/mseal.c > index 2170e2139ca0..fdd1666344fa 100644 > --- a/mm/mseal.c > +++ b/mm/mseal.c > @@ -75,24 +75,15 @@ bool can_modify_mm(struct mm_struct *mm, unsigned long start, unsigned long end) > } > > /* > - * Check if the vmas of a memory range are allowed to be modified by madvise. > - * the memory ranger can have a gap (unallocated memory). > - * return true, if it is allowed. > + * Check if a vma is allowed to be modified by madvise. > */ > -bool can_modify_mm_madv(struct mm_struct *mm, unsigned long start, unsigned long end, > - int behavior) > +bool can_modify_vma_madv(struct vm_area_struct *vma, int behavior) > { > - struct vm_area_struct *vma; > - > - VMA_ITERATOR(vmi, mm, start); > - > if (!is_madv_discard(behavior)) > return true; > > - /* going through each vma to check. */ > - for_each_vma_range(vmi, vma, end) > - if (unlikely(is_ro_anon(vma) && !can_modify_vma(vma))) > - return false; > + if (unlikely(!can_modify_vma(vma) && is_ro_anon(vma))) > + return false; > > /* Allow by default. */ > return true; > diff --git a/mm/vma.h b/mm/vma.h > index e979015cc7fc..da31d0f62157 100644 > --- a/mm/vma.h > +++ b/mm/vma.h > @@ -380,6 +380,8 @@ static inline bool can_modify_vma(struct vm_area_struct *vma) > return true; > } > > +bool can_modify_vma_madv(struct vm_area_struct *vma, int behavior); > + > #else > > static inline bool can_modify_vma(struct vm_area_struct *vma) > @@ -387,6 +389,11 @@ static inline bool can_modify_vma(struct vm_area_struct *vma) > return true; > } > > +static inline bool can_modify_vma_madv(struct vm_area_struct *vma, int behavior) > +{ > + return true; > +} > + > #endif > > #endif /* __MM_VMA_H */ > > -- > 2.46.0 >