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 6413BC3ABA3 for ; Thu, 1 May 2025 10:23:49 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 81C776B0083; Thu, 1 May 2025 06:23:47 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 7CB5D6B0088; Thu, 1 May 2025 06:23:47 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 61D266B0089; Thu, 1 May 2025 06:23:47 -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 408616B0083 for ; Thu, 1 May 2025 06:23:47 -0400 (EDT) Received: from smtpin06.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay04.hostedemail.com (Postfix) with ESMTP id 117A91A041B for ; Thu, 1 May 2025 10:23:48 +0000 (UTC) X-FDA: 83393952936.06.9848C16 Received: from mx0a-00069f02.pphosted.com (mx0a-00069f02.pphosted.com [205.220.165.32]) by imf02.hostedemail.com (Postfix) with ESMTP id 84DC880010 for ; Thu, 1 May 2025 10:23:44 +0000 (UTC) Authentication-Results: imf02.hostedemail.com; dkim=pass header.d=oracle.com header.s=corp-2025-04-25 header.b=q86CUkuf; dkim=pass header.d=oracle.onmicrosoft.com header.s=selector2-oracle-onmicrosoft-com header.b=hBg6G6CB; dmarc=pass (policy=reject) header.from=oracle.com; spf=pass (imf02.hostedemail.com: domain of lorenzo.stoakes@oracle.com designates 205.220.165.32 as permitted sender) smtp.mailfrom=lorenzo.stoakes@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=1746095024; 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=BsrJGBy9NaQDUb35BRl93QV1fwt0QBPeOcOohOmrAOg=; b=qvEUh9vmWdh4h46UtPeq5GXQZoJLp6aN8FBoBLz7k9hdEIWeTrw/r8ah02aEqZ8agjUgLK UD45cF2BZ9mnE4klzvjzOnzy96pmqMmypqlDJzAbBJZQndHvxUTgPtNDkqELc8YApayot4 kZSqLKt+4qtftxmsi993Q4zrwNtczyM= ARC-Seal: i=2; s=arc-20220608; d=hostedemail.com; t=1746095024; a=rsa-sha256; cv=pass; b=VeEm+USkdzU3n8s8VyCvTZKk7mQSzMuoEx7byFb36sUASz9ONsuC/FTEPj50TcaBWMg924 AlM6xqhuEhNASJ0BiqZm4fjx2iCk6D5r9aRarpYpsRJmYBOvo7rbZHcuixwjUuhWKulAWj ZnmMoEfeRgz0k4CMW6QCDs0Bh+KOo4o= ARC-Authentication-Results: i=2; imf02.hostedemail.com; dkim=pass header.d=oracle.com header.s=corp-2025-04-25 header.b=q86CUkuf; dkim=pass header.d=oracle.onmicrosoft.com header.s=selector2-oracle-onmicrosoft-com header.b=hBg6G6CB; dmarc=pass (policy=reject) header.from=oracle.com; spf=pass (imf02.hostedemail.com: domain of lorenzo.stoakes@oracle.com designates 205.220.165.32 as permitted sender) smtp.mailfrom=lorenzo.stoakes@oracle.com; arc=pass ("microsoft.com:s=arcselector10001:i=1") 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 5418g0Dl001888; Thu, 1 May 2025 10:23:40 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oracle.com; h=cc :content-type:date:from:in-reply-to:message-id:mime-version :references:subject:to; s=corp-2025-04-25; bh=BsrJGBy9NaQDUb35BR l93QV1fwt0QBPeOcOohOmrAOg=; b=q86CUkuf1KptqwfVkO/leEOJrzfc87yPo0 tWe0mmQ8zg5JC8TN7kTblDWtK7xY18wvesTcEBLi5DAhIYVBPvPUG5W0S4Jd2FN8 pAdcSBEqBCuEYKJBknaS+zssQWwKBH6buna+AzG4SQLVdTd4bKdpUfJtKXcDKSGq vwgzk2A9pIOTLTE58etcZeSbOrO6gor1n/FjrPU3FhEuIA0BCsWN2FBTWYBUJRP8 2YLsM+T664MJoNDO+RuoPn5YxQYdAytTKqu9JUVhGLGWzhD4dZ1i9ve9J5enfN/5 D1Iikj9nQuKI8jo1iAHxE6NXbKaWr0soeSzL6RmXQT5HtvOmW4wQ== Received: from iadpaimrmta03.imrmtpd1.prodappiadaev1.oraclevcn.com (iadpaimrmta03.appoci.oracle.com [130.35.103.27]) by mx0b-00069f02.pphosted.com (PPS) with ESMTPS id 46b6utaty0-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Thu, 01 May 2025 10:23:39 +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 5418sx9r023735; Thu, 1 May 2025 10:23:38 GMT Received: from dm1pr04cu001.outbound.protection.outlook.com (mail-centralusazlp17010002.outbound.protection.outlook.com [40.93.13.2]) by iadpaimrmta03.imrmtpd1.prodappiadaev1.oraclevcn.com (PPS) with ESMTPS id 468nxjn6mt-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Thu, 01 May 2025 10:23:38 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=WN+b2rqUAwdf1sCmkbrzSnGqH5Yaxh51pR2FICwtt3oW+Q386cGja6uUDYzJUDWScVrTTGHaJziw5xyMdSYNtL6HExM4RT92ydpROXi7wyywTGSX++zqpqYkid2ZqZVNFEr01Rb06BRcaZ0I6nWK2A6Tn3vtcbP+zH1MAiFmBCxJjoQXmRnrl55wTHZd8q0P1bLoJb+mcyOMxpYPPPJLgnTG3HR4a6T/HyDOdbI2moaonyV1fuKyZybQcaTO14P9yBAk5kUB1c9uA9I8B/Gg6MtG/K5FWzKTBNxA9rH0ttW2dSLu9eljP88hCs+Cfa3jR02MCwNG1Wyz6xUb2kFFLQ== 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=BsrJGBy9NaQDUb35BRl93QV1fwt0QBPeOcOohOmrAOg=; b=y2xjFP5ePw4EwmhQKgn8CAP5BxL6P1CnddlWIuviA9nhMu57NWeOgtB6v37gVQ+tERSBYw4BNZvB7reZ0eLfS+6Hx14LRXjNE6d0O8dB/nMn8YMj3fjK2zjVLWMLDE8H3m2Jb2eDmKnEuEMR9rBcoC1VnZzIi/Lv6ih1P0n6Dy/UsYRJn2ZBlODlCbXOue18FzIEK6WUEOmPqzsjrpNHAGdJ7GyKJw/FTBfy5ArjX/pmcAGUJFCFIHWeE2fbPKmLQTWrOj85UTwss9fI6tr/g/sd75Ppp0HXLQ9QnkGnAz1MpSvkl9MveIc5ZLKq77bGRMqUcYZWWDhyLI1X6vnNcg== 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=BsrJGBy9NaQDUb35BRl93QV1fwt0QBPeOcOohOmrAOg=; b=hBg6G6CBPNYQsMBZDHYtZpkopFZHk1PU5S48qyBDI7PlRNou9L9GUAwjs5C1//RYzw4PMif+V36vIq8xtuxVDULLjwx4ndBpCesiv5n5oV9ahabppsCXMIQ2fY0aRdFeDXFVNEiv3r6UojuqDURvOgUWCjA8W3lzXtqANWXacXM= Received: from DM4PR10MB8218.namprd10.prod.outlook.com (2603:10b6:8:1cc::16) by SJ0PR10MB4416.namprd10.prod.outlook.com (2603:10b6:a03:2ae::16) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8699.19; Thu, 1 May 2025 10:23:35 +0000 Received: from DM4PR10MB8218.namprd10.prod.outlook.com ([fe80::2650:55cf:2816:5f2]) by DM4PR10MB8218.namprd10.prod.outlook.com ([fe80::2650:55cf:2816:5f2%5]) with mapi id 15.20.8699.022; Thu, 1 May 2025 10:23:35 +0000 Date: Thu, 1 May 2025 11:23:32 +0100 From: Lorenzo Stoakes To: David Hildenbrand Cc: Andrew Morton , "Liam R . Howlett" , Vlastimil Babka , Mike Rapoport , Jann Horn , Pedro Falcato , linux-fsdevel@vger.kernel.org, linux-kernel@vger.kernel.org, linux-mm@kvack.org, Alexander Viro , Christian Brauner , Jan Kara , Suren Baghdasaryan , Michal Hocko Subject: Re: [RFC PATCH 1/3] mm: introduce new .mmap_proto() f_op callback Message-ID: <982acf21-6551-472d-8f4d-4b273b4c2485@lucifer.local> References: <7ab1743b-8826-44e8-ac11-283731ef51e1@redhat.com> Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <7ab1743b-8826-44e8-ac11-283731ef51e1@redhat.com> X-ClientProxiedBy: LO2P265CA0273.GBRP265.PROD.OUTLOOK.COM (2603:10a6:600:a1::21) To DM4PR10MB8218.namprd10.prod.outlook.com (2603:10b6:8:1cc::16) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: DM4PR10MB8218:EE_|SJ0PR10MB4416:EE_ X-MS-Office365-Filtering-Correlation-Id: d3feffb7-9619-4e46-a7d2-08dd889a3ae3 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: =?us-ascii?Q?1hxNKHuzKkQVg4W7qnyjb/z1Tu6noak0DPJ/sKTMtpvVJHGRcjA7Q4O5ZFB2?= =?us-ascii?Q?9J9BGa7U6Gtd5F7FkzYFlUMh9HUAtBq4a99gXUp48apO91+zCceBVI/dmjOT?= =?us-ascii?Q?nfy7XrWfFHdFuyWKVOdK6HXEW07GlAkZmDpYp5vSPezZAyf1FneuI+/tMupm?= =?us-ascii?Q?81oCqOpMi1lC7cvtD8oAkNHMEFP9n1RFAT+3jHP4vb7CxzNF65YMT1mL/Bw1?= =?us-ascii?Q?lGkU0pvETpPiIhUm38uoMx5RH+/waSR0nj8XEhz9xb2NQ2MX+kUOwtpkqwdE?= =?us-ascii?Q?NlNVaznJ7jFynP0qsYCR22bRq8ftxpCe86RxP10+wHCsBpWFpKvlXbr5e3EO?= =?us-ascii?Q?I8bkI3Qz1ajSS/iEDhTHfNuPJmfkMBCUpt4PlH+8nhKMfoCJtvk/NM9dOZuw?= =?us-ascii?Q?uOgRB7+ktdGws7DQQEOzIQM6EZQSL83vgVIB5U37/jrTjQ3STsM3MKbQm0dZ?= =?us-ascii?Q?Zyv7awOYfufr2yQhwRDhk2joD0e+Svaf0AW2eu14PQKxRSMa5BaWB5XilxA5?= =?us-ascii?Q?+Z9RA+eQCCnd4i2bX/PQJUhXR9Km7DI9ZUyJ3v+aOxuKTkFzKmFuUz9ifMNB?= =?us-ascii?Q?lvKi7z+qW5pvmCaUpPr4ENq/op0StD86BrZnozfq3XJ4DWS2RnAB5a3eTARV?= =?us-ascii?Q?pPec56JA5yF7pNpcIw2mdh/Ml4Qd99ZBp22vamqLchbbJ2qcnmD/FmEm2V9f?= =?us-ascii?Q?x18VhfUsp8AR2RdAtmpqXnlqUl68pii5GvszmGldXObDZ0uDpgXaencosmHy?= =?us-ascii?Q?ab5LqK5hH5CCSBah398BJJfVjfOFYJmkUAJcb74e6qSCn1gFd2yeCfjnhHK5?= =?us-ascii?Q?8WAgOxHdQA2Rn0jc8eDo80IyDn+2ovObj0xTTAcKzBQy95kW/fbc80g2LlLQ?= =?us-ascii?Q?5n4j1BipalgE2OLU2/1ZjkfV/qQS37ojYfz5Lgq1kRJKKiLZMfQHv1siwrbL?= =?us-ascii?Q?SLRaVG5WR1h7IOB9DabIJGrnJ5Ar97zqs0wBG4jWUQ05Z/3uPn3M+igAW6ST?= =?us-ascii?Q?quWohPz/vDvYJjdSL+FlFmuuGpoHSU3ygFvJ3lf0lk6NPpcsXGKDf4vxBoCf?= =?us-ascii?Q?JWnWtyHZpZvTpJ5A9PkKK6r6w5M2E6xuQqBnnvh0+BA7iVMaCVCGCZrj4BFC?= =?us-ascii?Q?vmmWwFMIFnfQiyhTPy8zIH8B3A9z9xnCAyOG8/JeZaA8EGIXXZcjF1uILdSq?= =?us-ascii?Q?lAOD3hiblbCU6a1XjDzT6Btn8j8J8UjXvDk9qqdEvCnl6nSWotTxkaB0ym9x?= =?us-ascii?Q?yZwK8p3KuWFL0zoOICiob3s4bWMIifvrCro3wXMg4CXvDMtSLyVyxAwS6CXS?= =?us-ascii?Q?zowyjbP1FBvxqQWforfWAX4PLDRfBAUls54+qKeJ06tT8uLC6j8g2qdGlUlf?= =?us-ascii?Q?jKrKBZiKCOMmExaRCCfHV+yian1BXLhRNkUloN95+Lgrc7BA4myeQHtyFkV2?= =?us-ascii?Q?yrTqHEZDeLM=3D?= X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DM4PR10MB8218.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: =?us-ascii?Q?Gtj3iFnOUX0Mal7lnhgjpKN9tdUmLMQquCWu1iBZz759upORsnFnlm5ZAl3q?= =?us-ascii?Q?JOAYNB6ILxJwVARHxxfg6tHu6N6azJWPdwlG2JPey/bKxWHfl1r81JHnlDu0?= =?us-ascii?Q?TE14Zs1AoXEa6nroQFGljbnYMgmUhvwyfamU6WUNDVUpTy7sRhQx7pAb2Iy0?= =?us-ascii?Q?tyLUkDDGiGn+899HGUojfNiDtdZhNmG30zGeuB8zv2wO3itzRMv6b8FbC0Oy?= =?us-ascii?Q?kTz8JT/jSKBY9VOqaRN2Te4xdiCNki04k0S21hXjTnLhXx6QctUZ/ydh/bie?= =?us-ascii?Q?C+TrySQ6ZcRmj7LGIfX9KNPXcwOvJNtQRap20NaHXmrSkW9cBRs+DUd+VeEn?= =?us-ascii?Q?MCh9dft0Iq4YfKO/B5zh2MbK4O5lNABOGfhm8HwmfhsP0ugyNpznQako+vWa?= =?us-ascii?Q?jF6EQzhCeSdq2PftNQAS/i027Bgdhh+8pIjQ4iVH2GU+6Tg0X4qhRAOAjSpF?= =?us-ascii?Q?IiDjjbFh4cm92WPh8bfbVhY/6+u7+j8ioJusko6VmnA50UfKZ4ObHlmbK9o2?= =?us-ascii?Q?ozysjPy4wQmasbDJIWLhavdAqzNe6Uf6bx/+R11pgmx5rG070HVtN/PGA/MJ?= =?us-ascii?Q?cUoC0fu0vSMu1g/kyYunFNQ3QQch1wbg9JcttRZdakZv05My4DCgXdl8zKhP?= =?us-ascii?Q?s8lUvmP4wlVKr5PPYd6YFnMgliKDOzASwip3k4uYr+ePqHYA7/XmJTNX3egQ?= =?us-ascii?Q?oaseSohfdgSm+dB1gwjAFcTsWa0XIZoDH8N7K0aP0f4OmHoaFQKQ89KHa8tS?= =?us-ascii?Q?6dr3y7EAAf3naHSZqHRvsQuuMyJxk1MfKt8hv+v0InK34Swl4CFR2itK7ocX?= =?us-ascii?Q?6KF6ofF4CgLkYtLAsx319FZ3YD8syNyZZwIYJNAb7QAwrANP1nCufq6Wn7LP?= =?us-ascii?Q?1j8PpKO2rEb91mONdM1k4AvD+PEwF3kxUTcYREh82bszv7cRNn9QiHHMYdwO?= =?us-ascii?Q?Rh0JHH0qWkENGeQQV+BWfbtCeGgZVGPxdfu6jxrD/aaqbTgvjHhavJO1qI6/?= =?us-ascii?Q?+PVhmNgLQ115CVJkRRRDOre7G10vP9Rb7bDBBJYgD7uTz35Ph12rV83E9id8?= =?us-ascii?Q?xzf+9vq0QlMfWYG1JbceOk1ttcws1CKhHjoc3PgjQfsFx/EZQfQjAtbC9e84?= =?us-ascii?Q?35Ib7Njjj2FwYaFUQA/XV23jOMbFfzdGXqD1UqH+bdnF/fCmdDMmXdn4jCQo?= =?us-ascii?Q?F9y6h4QUVy/EaZTynTIJPQ/qzTrqYjmWrjEQhKMt5AmEI6/SyNm2ahZf+aRI?= =?us-ascii?Q?ykHouI0q929al5F7uZC8DzM054EqB3nHdiiNwptbhPP/m1llzusbh4GQU+XW?= =?us-ascii?Q?l2vJM82+yyfmLL8angFUUdfrWusrHLiTWRQn1IjwZOb+NP5NA+mddV8WuRTE?= =?us-ascii?Q?o7WWjAaioC7p0+XkPIlFEVEcubDMWIQizkAet5dJ30fFIl7vfWW3LaJyypux?= =?us-ascii?Q?EtCULIJVGbi6FlKBC8hTEPZQizKWix2m4cG4AcaVCWCdXKXEhJp9sH2dJpLH?= =?us-ascii?Q?m79t01upbTC5jD0aO0BnMgu9KCXrdwCNIpmgZ1W43NJtdEbWA7gZ6KGVpeDk?= =?us-ascii?Q?Kdkoq8FZNCR6IFrfVPhwubwgOwujynV6iKZ5QZ9xoHdag5YNRdTUgqnqg7rG?= =?us-ascii?Q?gw=3D=3D?= X-MS-Exchange-AntiSpam-ExternalHop-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-ExternalHop-MessageData-0: g1Kdgz/WqGhn6rOYidA0xdwDaMbN26SJzqTGtx/+ewTqTLDioCwVQaP/9AaxSOigS7bdgqgToigOeY4TPDd5ucBV98RNCAE0MPljkdkFJlhUgxjcGzYQwwro7ySAVYvWAhO3J0Tu18mYx2V0aWZpD3XdqKv7Omy2gIgAKRFoz6RXOoqu0UO6dQ64DnCYpTvaSnrgEaWdaEp+rYmSR8W9mT37Y1eDYmjalR6vNVvXBjOaladhdJuoRHs+SJAmK1iCeNDOfKtcSldIbfC3xsIZb8ZcNEEl2iu52FBDsl3rgLONzKsn9mFJJG2A/uj+OhGQoIHFiMg76t8EF+j4SDbGkA59M0KRr+bvHAWMZEI2PmNNF5TBlmtWg/u23zh+mfbXWAxEBcihEiwuUod3VPPoqQrD0gxDuLwInnXdZVAUybPIS6+TaAJ0zBPSSULnI7LnFEKQjYLWI79tgNty5wVUBXm7MpY5g15Rp03sp4FVCJHTozDBFfdgDa5J70QSy7BrvBn7fmN4w2CuC1u837jDjlh49qMw8H/2WUpSw1dI5tGJQU1xk3aUEBJVS5HLgNwouZ6u/vlU3McM0K42hGFoMD1mMzlXRKxOgYCZ/WNO0WA= X-OriginatorOrg: oracle.com X-MS-Exchange-CrossTenant-Network-Message-Id: d3feffb7-9619-4e46-a7d2-08dd889a3ae3 X-MS-Exchange-CrossTenant-AuthSource: DM4PR10MB8218.namprd10.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 01 May 2025 10:23:35.1738 (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: QzrERoSTcW0jJmnhQvZnjU9pP2ClwEuKSrHVorqJSDKVEv3wtlks0zwN/4uwA25G1Jxapp9MNBqKMZSlLgZoecgkmnk2v/o7TNdxclOlCf8= X-MS-Exchange-Transport-CrossTenantHeadersStamped: SJ0PR10MB4416 X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1099,Hydra:6.0.736,FMLib:17.12.80.40 definitions=2025-05-01_03,2025-04-24_02,2025-02-21_01 X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 mlxlogscore=999 phishscore=0 suspectscore=0 spamscore=0 adultscore=0 mlxscore=0 malwarescore=0 bulkscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2504070000 definitions=main-2505010079 X-Proofpoint-GUID: jXpSbO13x4jkrY3lH1rDL1fIb2hdBSIn X-Proofpoint-Spam-Details-Enc: AW1haW4tMjUwNTAxMDA3OSBTYWx0ZWRfX+Pge8FpzXXd1 QaBa9G6M/yeDBvCNKwxpS2RxiNLlVEIs9BSjyMaug+aNhd+qH7XgVRa3l6QoBiEV/t9liKJJ3z4 qhM8HtIQG+1EKcwb0MKiSIskTwZKzQcfYK4kYgGCKqdPirTiyayo3cshCUMMHKRLuP+goqXfMOa 5krI5csMa9+AnIsNqyyqUv2Y5KYJAEn/UcMIiRAadQXiIq+JwiWFlj2mPJ5DPy9uBpkSTdeh7bT JplBmCyjxaBvvflB1uaU2j140BIBGkSz/uGSvM5MjY3yEEu35aBFInKRY0Z8mHQkftfUWKZGtya bLbxt1vSTSdpi7X+d0WJvcKEkHJ3AAELTLtd1lBBsPFUzkfipij02ORyPSY1zL+McwZLXuj4lqa uIjYpb3AaQbSlZJPPHH5wZxExoXY5yDDt8VzX424GjgmN14CqaOzPkN3GE0vC02ov/7rQUN7 X-Authority-Analysis: v=2.4 cv=ZuHtK87G c=1 sm=1 tr=0 ts=68134bab b=1 cx=c_pps a=qoll8+KPOyaMroiJ2sR5sw==:117 a=qoll8+KPOyaMroiJ2sR5sw==:17 a=lCpzRmAYbLLaTzLvsPZ7Mbvzbb8=:19 a=wKuvFiaSGQ0qltdbU6+NXLB8nM8=:19 a=Ol13hO9ccFRV9qXi2t6ftBPywas=:19 a=xqWC_Br6kY4A:10 a=kj9zAlcOel0A:10 a=dt9VzEwgFbYA:10 a=GoEa3M9JfhUA:10 a=yPCof4ZbAAAA:8 a=iap-qV7jxApwZ7o55zkA:9 a=CjuIK1q_8ugA:10 cc=ntf awl=host:13130 X-Proofpoint-ORIG-GUID: jXpSbO13x4jkrY3lH1rDL1fIb2hdBSIn X-Rspamd-Server: rspam12 X-Rspamd-Queue-Id: 84DC880010 X-Rspam-User: X-Stat-Signature: shype63qnwdeje7taz9kn9ztwytfnqbo X-HE-Tag: 1746095024-926898 X-HE-Meta: U2FsdGVkX18KDpAhHUEOZrr0JqidaY0DDDwyrb5alvY3/gauTm6JYygUJNBtyHQeyCE+k8OAIfBHrJ9dM64qzf+1SlH9+zJtnzDA5/i8DxiSnQFIe6JpTDw4AoqbJtZafe/E/y0j3Bgmz0vFg6SUsKf461Vj3DaT6cmv60nqhIvYnDEEqscryJMdehf6zwc11QBD1A1nVSqmpGB3KTkEFL76f41AQlzcuDiSo/WiVIm/aZMhvQql40Qo+fuuKaf1QTRt641V4h6yYRJZ+HkOfpUcHRnyYY92pxRnlpS+bXgx02OHam3FUqIT8tzciEvpMw083jmL/BMuCrL2IUOTl0TyEk4aoas+Urd2sTEuFlvThRUxtTq8pjBYJTh+QpQaO7IwRa5IW8UYtTKX7m+mkw+JLf3xZafa83zQpOv266bhUfAUAaFhE6njFmLjF7vboo94K2n+FaSv8wiz2dCcO6ODQxdDjvggtSW7FyYTbYxhWNCgFFqiUhjJk8vt9d7sV/+7krT6iKckjGBHNujvUTzkCdlCFIgAtqtvRgKet9LDtP5o+58lZexDUCB+wz6NEcuosilUOrO1VF3YfhDSsa7hUWRO4bE+ebZCx66ODY+S+0fDKYXzm5nh3JeuJwnGbW+E5hUanDjZyVOvjv5xtOOEKka/ECNzZCVQ82opVq0hntW6JdQGBcXuXtO5kvQjCqM1tzRmj3lDchzkxWYG/2X6+kTWZUAq8APRGBbydlwvN1lc+6VKI0wFae+dag6hhjOdFiIsO/H0cAeiveBjehYcJ5ssrXfEzXhi/kU/LevJu1IObduGuaCyOmveq0m0D3blXtFEDPgfoV6W4ECc7n5g6LroBRr1Ox2yMoCN12kIDzSgkOXcflBiqvLkyt68Al7wOVISL9F1pO5dzMTIQw0GnYV+B9mEHo5PfFc+o5Jc8im81zmy+mOQfm5Ss/fq5BTQAHwaAreXZTnbAZ3 /DwwqATW zo/q4dLnWO6brTG9Wtgap+HLqdY2Ibg6gNkBQTn55l50IuBdv5oExt6Q0nUjUpkYV7GDKErzuUfX3cDd9VoXSA7rXV6d6OZAZliGni2Q53ulkJk6ZpPxbg+hNaPeLFyS7WeuhxT0OMkwzdXQb1E4xkiGJBzB8a+eisjEHAKrVOllkqLL5q5S2lwz2DdtMO4BbZO/dPVkr56qxZXGtPosBX3diIsQ0nEScfR8IcRrXsHa7jDBC033/tWscYQMj/C258W/1twEkuTWKW2AcErFKuOBOPYdv22d7riGvGI0X1rXsxVxkulAAI0tt8k7eNXtaBgUYJR1MG/ebdxgf0tDocEaQndz6PNEvGd2zF2I+0DUsC1/h7+PJfgx8odjfQk0bIfwjwwXp4XE+jJdXl5sitJSEt/Y/2kx9emaZ4Q4TmEh4zVgKGKZmge7RoaxYAVGAZyuRlc+3WPKRj5YyxQrM4GEey5yZZPMFPp/RSNX/dPFJpQwT0Ux1on4gsoW9zbxmZfPzbDJouaFdXw6JtCCoY8VjGHzPXTyZMjOiuesVhC/47RgO78xdaajhJ7MaSKDXbjRouYPfStO/W+gD5xQ9m3xaTYjasW4KpGJmIWPfhe1cfWR1vMaKHZg9NE4vrv27SIuxsEEqugPF88V4nSTwsiEFkFGIIWZu7Wc0 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: On Wed, Apr 30, 2025 at 11:58:14PM +0200, David Hildenbrand wrote: > On 30.04.25 21:54, Lorenzo Stoakes wrote: > > Provide a means by which drivers can specify which fields of those > > permitted to be changed should be altered to prior to mmap()'ing a > > range (which may either result from a merge or from mapping an entirely new > > VMA). > > > > Doing so is substantially safer than the existing .mmap() calback which > > provides unrestricted access to the part-constructed VMA and permits > > drivers and file systems to do 'creative' things which makes it hard to > > reason about the state of the VMA after the function returns. > > > > The existing .mmap() callback's freedom has caused a great deal of issues, > > especially in error handling, as unwinding the mmap() state has proven to > > be non-trivial and caused significant issues in the past, for instance > > those addressed in commit 5de195060b2e ("mm: resolve faulty mmap_region() > > error path behaviour"). > > > > It also necessitates a second attempt at merge once the .mmap() callback > > has completed, which has caused issues in the past, is awkward, adds > > overhead and is difficult to reason about. > > > > The .mmap_proto() callback eliminates this requirement, as we can update > > fields prior to even attempting the first merge. It is safer, as we heavily > > restrict what can actually be modified, and being invoked very early in the > > mmap() process, error handling can be performed safely with very little > > unwinding of state required. > > > > Update vma userland test stubs to account for changes. > > > > Signed-off-by: Lorenzo Stoakes > > > I really don't like the "proto" terminology. :) > > [yes, David and his naming :P ] > > No, the problem is that it is fairly unintuitive what is happening here. > > Coming from a different direction, the callback is trigger after > __mmap_prepare() ... could we call it "->mmap_prepare" or something like > that? (mmap_setup, whatever) > > Maybe mmap_setup and vma_setup_param? Just a thought ... Haha that's fine, I'm not sure I love 'proto' either to be honest, naming is hard... I would rather not refer to VMA's at all to be honest, if I had my way, no driver would ever have access to a VMA at all... But mmap_setup() or mmap_prepare() sound good! > > > In general (although it's late in Germany), it does sound like an > interesting approach. Thanks! Appreciate it :) I really want to attack this, as I _hate_ how we effectively allow drivers to do _anything_ with VMAs like this. Yes, hate-driven development... Locking this down is just a generally good idea I think! Was late in UK too when I sent :P hence why I managed to not send it properly the first time... (sorry again...) > > How feasiable is it to remove ->mmap in the long run, and would we maybe > need other callbacks to make that possible? I do think it is, because we can do this super-incrementally, and I'm willing to put in the legwork to gradually move drivers over. I think it might be folio-like in taking some time, but we'll get there (obviously _nowhere near_ the impact of that work, a mere humble effort, but comparable somewhat in this regard). I actually took the time to look through ~350 or so .mmap() callbacks so it's not so crazy to delve in either. Re: other callbacks, yes I suspect we will need. But I think we are fine to start with this and add as needed. I suspect esp. given Jann's comments we might want to make .mmap_prepare() and .mmap() mutualy exclusive actually. Idea of allowing them both wass flexibility but I think is more downside than up. We can then add additional callbacks as needed. Also good for the transition away from .mmap() which I really want to absolutely deprecate. > > > -- > Cheers, > > David / dhildenb >