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 80A7FC83F2C for ; Mon, 14 Jul 2025 15:40:12 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 131DC8D000D; Mon, 14 Jul 2025 11:40:12 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 0E2178D0001; Mon, 14 Jul 2025 11:40:12 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id EC4798D000D; Mon, 14 Jul 2025 11:40:11 -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 DB7578D0001 for ; Mon, 14 Jul 2025 11:40:11 -0400 (EDT) Received: from smtpin18.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay03.hostedemail.com (Postfix) with ESMTP id 8E174B7125 for ; Mon, 14 Jul 2025 15:40:11 +0000 (UTC) X-FDA: 83663281422.18.729EDF7 Received: from mx0b-00069f02.pphosted.com (mx0b-00069f02.pphosted.com [205.220.177.32]) by imf15.hostedemail.com (Postfix) with ESMTP id 2D318A0003 for ; Mon, 14 Jul 2025 15:40:08 +0000 (UTC) Authentication-Results: imf15.hostedemail.com; dkim=pass header.d=oracle.com header.s=corp-2025-04-25 header.b="kKZ7WnM/"; dkim=pass header.d=oracle.onmicrosoft.com header.s=selector2-oracle-onmicrosoft-com header.b=VKkrfcSh; dmarc=pass (policy=reject) header.from=oracle.com; arc=pass ("microsoft.com:s=arcselector10001:i=1"); spf=pass (imf15.hostedemail.com: domain of lorenzo.stoakes@oracle.com designates 205.220.177.32 as permitted sender) smtp.mailfrom=lorenzo.stoakes@oracle.com ARC-Seal: i=2; s=arc-20220608; d=hostedemail.com; t=1752507608; a=rsa-sha256; cv=pass; b=UnJ2PyMFBdtLRno/m1rHEDa1OPKsZ08WA0hdlH3lWd0cHZnuZbDdXKO0Wb1q367Ze1ZmYK c+kvqlvfphGBw45zSfssyf/X+VzxL11Zy8AwSLjh8wcdkocO8q1Ut2FUQsG6vQtJPtwTBT IIcIo4Mre9EWveVhiR4plh+qaTA/xmY= ARC-Authentication-Results: i=2; imf15.hostedemail.com; dkim=pass header.d=oracle.com header.s=corp-2025-04-25 header.b="kKZ7WnM/"; dkim=pass header.d=oracle.onmicrosoft.com header.s=selector2-oracle-onmicrosoft-com header.b=VKkrfcSh; dmarc=pass (policy=reject) header.from=oracle.com; arc=pass ("microsoft.com:s=arcselector10001:i=1"); spf=pass (imf15.hostedemail.com: domain of lorenzo.stoakes@oracle.com designates 205.220.177.32 as permitted sender) smtp.mailfrom=lorenzo.stoakes@oracle.com ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1752507608; 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=yrifCYK7apBqqCJrDYGlhTW9guFYB4OJu4zwaqyIEqQ=; b=R/CtVQodrLrUHZh2gRTCUQvK0RsNR4iEVtmoptGbylGL7m0z5913x9rRSkaHiUGaFs9yL3 3sTS5onqWZhIi6aYePUsZHKdn4DabXMGLS1OZ04BlStHUW1XZEwNsr3ipCYMbQ/iAlg+Y3 whc+y32qARlKvGPlDXyr06ffZ4dblnY= 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 56E9Z3BP004530; Mon, 14 Jul 2025 15:40:06 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oracle.com; h= content-type:date:from:in-reply-to:message-id:mime-version :references:subject:to; s=corp-2025-04-25; bh=yrifCYK7apBqqCJrDY GlhTW9guFYB4OJu4zwaqyIEqQ=; b=kKZ7WnM/llyPjkMF5doVHOS5LaCyaMeLC+ ALGgS5DKEB0qK7DTGgdsG6Sl1usapn8W2k4AN3E4TE7KBaSS2bj76Fms1BCBiKmH pGtWNZHjKRGlkupPyke4/TuQ5MHcapJLtl9pDV+rV/GluLwrTDop4CAT1qkv/etK gvDNXM83thtXicr+a0kJ/Ey8OPb+jtbIWicesyVzvXTXDmXGSxMBDIOqhKr4E17x plpTvfeLgx1WJ/ZW4mjGE07MZG2pvJwP4YWIK22mFL/89KHS/204yHRq4iELQCPs pRKw2bkEpxNmgioDvYcJDW8T71V38kzNq1MoPMMcYmdFt/kBfzCQ== Received: from iadpaimrmta02.imrmtpd1.prodappiadaev1.oraclevcn.com (iadpaimrmta02.appoci.oracle.com [147.154.18.20]) by mx0b-00069f02.pphosted.com (PPS) with ESMTPS id 47uhx7vpvr-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Mon, 14 Jul 2025 15:40:05 +0000 (GMT) Received: from pps.filterd (iadpaimrmta02.imrmtpd1.prodappiadaev1.oraclevcn.com [127.0.0.1]) by iadpaimrmta02.imrmtpd1.prodappiadaev1.oraclevcn.com (8.18.1.2/8.18.1.2) with ESMTP id 56EF5vmQ039729; Mon, 14 Jul 2025 15:40:05 GMT Received: from nam11-co1-obe.outbound.protection.outlook.com (mail-co1nam11on2071.outbound.protection.outlook.com [40.107.220.71]) by iadpaimrmta02.imrmtpd1.prodappiadaev1.oraclevcn.com (PPS) with ESMTPS id 47ue58p8gh-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Mon, 14 Jul 2025 15:40:05 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=SVDHtnWVXnFd7bpaEb2qKbWdjlrnb/AaWcaAg1YG06euOLn7hskelnoKYr93zyC8XLaafBQgQ24vGGSIvPcZSGNk9FqfR0Qv5rE52rp5rq/vofwWod8uxEwDD0Ay80DdP/HA27BeV0bShgq/CB0sjRRgdFUF0F3oYwfSW+dKlEo6A74MIEkZFuGYRUR7Y3JvQHgiz2+l9s+HUG4oZL4uqS+qG0tZS1x9oCCp9sLV3owpug9CVOXSMcx7lcNCMPOANYIhQ1igJf1zkEdbYZTXZHiZJAMnDbKuD5Cy/AzHGhfF1hZfPjqi8cQXVJwrjMBJmbZ7E9fy5G3VoFCd6fs1Ww== 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=yrifCYK7apBqqCJrDYGlhTW9guFYB4OJu4zwaqyIEqQ=; b=vlZXnuxOonm35qKd5Rmi75SM9b7k6xN0T7iMltbG02RRdvA0Y+TUMmDOXwJG7xMWy+P9Qqqfc8xdDOxEHNQTkjjtINeiXDxPvrqpVRXRFVge0d2gZN34hVOmo47O2Jf9kRh14WuljYnZPqhJ/+2RQ6iU75nXLR7Rt1KU6pt56knNyAJFERuFuiWAhBdqAPwcm1erB0xdrCqLiqGTXfi4InuzzNPJA9oGcbPIpeS8zVgw6vt1+Se/UiwqcnnogmLRVAQmNzIXk3CrioQLUcfYSaOUpUehlvNU9NglM6DeH4wDOi6NmuuFiFN6XTkwQ+/c/724SsLblLczLeZy0SSeGg== 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=yrifCYK7apBqqCJrDYGlhTW9guFYB4OJu4zwaqyIEqQ=; b=VKkrfcShTIFmuuf8gWVqzTjpA4rOsmAJwjvy13hy1Rm1Qw/sf7FEaPQrNwCcydcF9n51idkvjrvenZVJ52KNpHtmukpQFigyhAWlG/BgyrLQpHVqJ0z1f07W6666mM44N71O9qWULFhgRJcdHkOE030Gz2tySoAukaqEFsphGMY= Received: from DM4PR10MB8218.namprd10.prod.outlook.com (2603:10b6:8:1cc::16) by PH0PR10MB4597.namprd10.prod.outlook.com (2603:10b6:510:43::17) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8922.32; Mon, 14 Jul 2025 15:40:02 +0000 Received: from DM4PR10MB8218.namprd10.prod.outlook.com ([fe80::2650:55cf:2816:5f2]) by DM4PR10MB8218.namprd10.prod.outlook.com ([fe80::2650:55cf:2816:5f2%6]) with mapi id 15.20.8922.023; Mon, 14 Jul 2025 15:40:02 +0000 Date: Mon, 14 Jul 2025 16:40:00 +0100 From: Lorenzo Stoakes To: "Liam R. Howlett" , Andrew Morton , David Hildenbrand , Vlastimil Babka , Jann Horn , Pedro Falcato , linux-mm@kvack.org, linux-kernel@vger.kernel.org, Jeff Xu Subject: Re: [PATCH 4/5] mm/mseal: separate out and simplify VMA gap check Message-ID: References: Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: X-ClientProxiedBy: LO4P123CA0600.GBRP123.PROD.OUTLOOK.COM (2603:10a6:600:295::20) To DM4PR10MB8218.namprd10.prod.outlook.com (2603:10b6:8:1cc::16) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: DM4PR10MB8218:EE_|PH0PR10MB4597:EE_ X-MS-Office365-Filtering-Correlation-Id: 3acda384-5cd3-47a0-51dd-08ddc2ecb2a3 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|366016|1800799024|376014; X-Microsoft-Antispam-Message-Info: =?us-ascii?Q?DojZpBGDPVe809aE0977GA26vmUmtKUR5gwY74LduEs8qfgaMvFGdek4g5xY?= =?us-ascii?Q?0JXlEz10i9pmclC2TPZQKK2sbyQDg2uKzSe8JC6/NYqFn38qD3gx+YA1UWFG?= =?us-ascii?Q?9vTlniuF0N/6O35PhrEaGi5Oqju/eJv/WyVbJqQ8gsO+dlapFcMdRU3fJJYT?= =?us-ascii?Q?lEQg1T4kh7Xrb6PaZsZ0im1g5gPzA7fIyL4yWDe0dxchWJdAfxRcrBBW3/mw?= =?us-ascii?Q?73lidl5YoiqaeulAsi5UgExMCI0eFphb866rh8E/GOQPDso2z7W8OJVaFpKN?= =?us-ascii?Q?QCXilj97A1JKyv40JI6kpS48jFU85EJ2JHRc5W+jzqbcfjFh2rbZMU7yscNZ?= =?us-ascii?Q?/bhIz7Q/ZOLH9VHoqGTd+qSc70TOGB3R/GGAh1ZPlL3wty43Q5QxTFjKJ1zy?= =?us-ascii?Q?w8OjoG+js0zi9oSfzX4IIRKv/gOeKf+iSL0sm/w0W2VeZCXZJJrFsMJQ1j1e?= =?us-ascii?Q?UJWA47v0509cR04Onxi/tUYBdKSyDkyKamF0Uk7dZ1lLCiyFS6ZIV996xsJK?= =?us-ascii?Q?BYTwy1ttKkMW9fFStWEGox3j502vifhTbRe8wGCdt0Y3oKmtxMm4hxdvGiXD?= =?us-ascii?Q?kRNfaujC42Digazqh5lso6GFHgMDh56DZf/4LP2EiyCNd17J1o5L22lZJXqe?= =?us-ascii?Q?BHOUxgGhDnIjc8zJhxGxLPy+MDPPo7hIca1iBcbXnzZzm0DDSsvH9pY1ONA2?= =?us-ascii?Q?KhrN6bO9lcplfxz+K8njNR13iAg+HOWxA0BL6me2E1wVPHdQQr/6OhGr7hL5?= =?us-ascii?Q?xCja1JfmcWROxx9JC8ppwckI9aAibWbL7w4QL7izSbz/dohyOORh+jyvmuOt?= =?us-ascii?Q?4sbvl1CYs5ysRrNWbysnRFv9ubyJLwVN9Hy6m8PGsgBynkG5Vx0v1h1HVVdi?= =?us-ascii?Q?FeiVpqtgz/Tx/puDD0Eao5qklxfaWzfUTlf/TLRAisZmDW8iwqcZV/4OW1qX?= =?us-ascii?Q?IwWIWPG/RUtJh03tijYhOYc2+vDLWyNFZk7hQ7c/QZqzf7+hw5BF+4f3NU7K?= =?us-ascii?Q?8ebjMTO/P6dml8fFb10i+mSWRj+sAp3yTzcmulHUize/FUxi2yfnrjkP39+I?= =?us-ascii?Q?Ty1zxt8EDe44M8QWgKh1NCgiuD7lN7frKn3iq+Su2Z4NSE4cw24dR0HRtWcd?= =?us-ascii?Q?3XuEHXujTuPQbTh44FKe3htx/WXoHp6GEWHCVut9iXQ8dCNAaioRqghZ7hAM?= =?us-ascii?Q?XUwJgy3xedorbYcAll8fw5YXREiawUinAJEHqPkyEKpVsYqj+AvAiNrDMUtO?= =?us-ascii?Q?tu37JUIONM0uFTt8N2t+BvvzIubmMW7Zsqqpai+uv5h6wZ3IFRY+6pP9QglQ?= =?us-ascii?Q?TX4DKM5nQmiojoZU+xb89qHsUZhM33qGoEZDsEo6LB8cQgFtL4/LE4jUZq8j?= =?us-ascii?Q?ApCvv2FCfaKfJIduN/VCr0E8FejJQYRnBTU3aMNeSaCc8aSM4mSLkoOm8ogn?= =?us-ascii?Q?JxDXj9y3d4k=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)(366016)(1800799024)(376014);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?kD/PAOQ6gCPIXv26G+aY2F/C7E2HKjo8LMDjrZSANWpJ7EQXhE6i5jdrFmnl?= =?us-ascii?Q?tu1edAfcycT4QY8u0lMG8tUMJ6u5SbXLbNPuUHTWAraj75cgDJ2X8inSDTln?= =?us-ascii?Q?R8Vm4ie7h+f9MUsoXvN1kkVnGOmGKFqa8SIhv+OgMoq4WxVPC1bT11pvYKmN?= =?us-ascii?Q?78apV64x3v7DSzu4sd23piSExgBRTYX4MbCZ2SJGqGY/V5+6MiQ+OvVH6Uu5?= =?us-ascii?Q?5If8ff7Qk7Eyj6Ik6S9U1o/QarpFSAUE5PYc94m2TYJrvPneapgmPKO1SNzl?= =?us-ascii?Q?V9UskLKR4Lkf6Ip9HIHLQ0ygvc2UJ2nKdlYMtq8DCRya2bxgM1mxzrMFw1li?= =?us-ascii?Q?MIY2S1QpmooWLTHln4u+gnEUrlx1bS21pAkDErOjhtewztvXZeHlAomQVUQS?= =?us-ascii?Q?bM4SiQWN/uPjIbqljm6ZbLVuwWO/Xrj1FpCyLaLFl41K3KW08UjnyGu6HMSJ?= =?us-ascii?Q?WO6P8Uvs4FOsQt53fZcgfduRINsSkrZS/HMhcYUg+b1AF/lg43LGEDLB3asK?= =?us-ascii?Q?X6vNPytGlGNElemP2gJccRdCGA0dVYkY+sWSwpOSky5Vj3JaYcIsFWJxRWGD?= =?us-ascii?Q?r6ELaSxvrbUgdvH8wlBG6Zd9o7quIQE8sC70pf2mxF2T1FP8fc6m0dryeMwI?= =?us-ascii?Q?AC7U42oFMU+4p57ChA+4D2nw5UGVfZBWTCX4PGSPqqSUjNWQpx/7VUXHvQSK?= =?us-ascii?Q?dBZs0BlbjEjK2joiKfkIMgWSBr+0RG5Ve7HaxRcLV0QO4pJZTJVGOLsGnQjQ?= =?us-ascii?Q?69CQ21F8cPq35JuMtVgNLWiE4MOXvkj3CDqD6rGB8w2J3RjrkXLswrAc9kNw?= =?us-ascii?Q?uL/h8W5vhsGZfAhc/YZbU69Fr4HZJ9F4/VxoNZTVxnyo6uKFtety/R1DUkL+?= =?us-ascii?Q?/RcOB8TfWh68fb1PYa1JYRxbsanfo7y1StEYVhHJAfQPkrNMIUKbmJRfAG8d?= =?us-ascii?Q?POVwzfTI6e8a+qRiEQnfaQ1x0ksaDMwkfNnrHuVtrlu6kcmeE0gkkzIAyPSJ?= =?us-ascii?Q?WrtRMmGAYk1k9nPne1ynvedEtTjisTrkqDrI2/y65Lipf/4AIXIT/goZAW06?= =?us-ascii?Q?zYUuJg1jnel6vVLiR8P0CcW/f/QZ94ZljwT5wEG7qojwz9JDX/m5Su1gnjyF?= =?us-ascii?Q?CCrj7iRfJIT/o5DaneiUN4XTX1743LBWv8/CtdD4QR7AIRKcslCQCBhBv/gL?= =?us-ascii?Q?chX4xNzntHmT3hsSZ3WYwtfobPidwUBWyhK4tUijUHId4rXez64k2RUCQhcn?= =?us-ascii?Q?UvH6d+vMgC+E9EX0CIVR3mCR+gOUIzfhdMSVnulry9lImWbpIJyOprwTn8IE?= =?us-ascii?Q?dV+W7vKYUe3M2A+Damsfs+ReDGDAx+zbq17262+au3WL3N7vIzznFT71mMnb?= =?us-ascii?Q?gpi7yX1RPb/mEuUy3vsJ42JNWSPXEwl2afuXjZa8Se5bKbx8n2+hhhks9G1u?= =?us-ascii?Q?cfLFqYeiM1geAgdBk2Q/Kr7ItyH6w5cXEQg/ReCqXqfcvvIa3ZhXnFTXfK+A?= =?us-ascii?Q?+VrZbfMw0UuVi1Z1AjK1GXkK+912BB2LcI9T38si3TAOZi0AH2LCvtv858US?= =?us-ascii?Q?s0CcEqi+LWa4QfEvHL3W/7faIGZxmn6l7T5YvdD6fWkufwrvPnyi/GgeYnRD?= =?us-ascii?Q?fw=3D=3D?= X-MS-Exchange-AntiSpam-ExternalHop-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-ExternalHop-MessageData-0: 9p1rhIbmv+Kvb9yzkEfLwJQRAVi2OtD0P2PWfIfPrMINrQRSQ7xlASCzwehzN8JbD359jvO9hrFAMnCt4p0OIv/rupuSNM4K27pfdWMKk5QYpCnqJzpD+5DabOK+WWD4EmE7hAGAPt0yoGvJ32H7YCxxBilvxhBUqdkSyLajV1aafL05UUmqNGwgyEP4RGmCxUGsHN4Y5K/fPLJNgyMl7fP2RQRknHQgkTk1QGLClk+rIWJtbLHe1bUCZdCIpnr6bDFOGN2uMyAwiW0uwbigPrO++DAqI+tC8hmEOGXuwf/DNE8FUqD7dv5m9MwqLVxxwymTPOaoNi8bwb4G49ckEz8W+D6Gp5czjJBM82FhF5OkynicGjOiZCkUGIWsiLMJnuZ2/9ZIqIBf+fWmcc+JoJ6x7y0t4bwBMJI5fIIunY63/l8pPFB60WyI7q0J2lZit1VlRRriyC0a0/oN/2JbkWV/qIrtTkksbvdhLQQQfa26UaQk7b53VVUe3OEZxR4PPC3Q2J0MNuuNzxRFwQ7Uhxnz8PHh4uFGA47EaHlVzkuvG+B7EuWOd+thHuZGsHKPXGLnd4L5oFzALW2FH0nxwvj4VSEj1VhA6Vf5Cm9q1Cc= X-OriginatorOrg: oracle.com X-MS-Exchange-CrossTenant-Network-Message-Id: 3acda384-5cd3-47a0-51dd-08ddc2ecb2a3 X-MS-Exchange-CrossTenant-AuthSource: DM4PR10MB8218.namprd10.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 14 Jul 2025 15:40:02.2231 (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: cp32x7rFziIUIAf4mHNfFu1Fy8ufhpgrddoVEE3m6DVGe1FOUInVHjrETnP111Mt4KPFePPA7Qkg2GuVLS6rQjtoQbGD2u4GrWcdb6xkErQ= X-MS-Exchange-Transport-CrossTenantHeadersStamped: PH0PR10MB4597 X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1099,Hydra:6.1.7,FMLib:17.12.80.40 definitions=2025-07-14_01,2025-07-14_01,2025-03-28_01 X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 bulkscore=0 mlxscore=0 adultscore=0 spamscore=0 suspectscore=0 phishscore=0 mlxlogscore=999 malwarescore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2505160000 definitions=main-2507140094 X-Authority-Analysis: v=2.4 cv=auKyCTZV c=1 sm=1 tr=0 ts=687524d5 b=1 cx=c_pps a=e1sVV491RgrpLwSTMOnk8w==:117 a=e1sVV491RgrpLwSTMOnk8w==:17 a=6eWqkTHjU83fiwn7nKZWdM+Sl24=:19 a=lCpzRmAYbLLaTzLvsPZ7Mbvzbb8=:19 a=wKuvFiaSGQ0qltdbU6+NXLB8nM8=:19 a=Ol13hO9ccFRV9qXi2t6ftBPywas=:19 a=xqWC_Br6kY4A:10 a=kj9zAlcOel0A:10 a=Wb1JkmetP80A:10 a=GoEa3M9JfhUA:10 a=yPCof4ZbAAAA:8 a=BGuz10lNKG4oRBaA8e4A:9 a=CjuIK1q_8ugA:10 cc=ntf awl=host:13600 X-Proofpoint-ORIG-GUID: 4_uJvK23G1ThLTtG3gG5LUd4MaV9dI0- X-Proofpoint-Spam-Details-Enc: AW1haW4tMjUwNzE0MDA5MyBTYWx0ZWRfX9k/75pxJ6+Cc H1eTXr96SJya4A6fQqTLiDJ3L7xDBHcig79lq3/qFx4CoVhYLRUXWQpLyuDMN5VZ2Kdo7wFFUhG RCNpLpIw651kid2VgVWBmhU+v0hvuUYEFHAEet1NEneWnA37j2quywCwGk4oGEtAK1v1RpnLXMW H1WfSRnbeEITDWG6i+zhKwcstFXZqQxyXOfwWrIKBZkJeZ0Kv/rJtnsLGYL4QchVJXKnRskNmtN PB6UgKJDZlNtZbrHO27Zv5HqQN4Dgx7CpnlFhju/N0uUD2olrPXI10P8poCZPv6DuWryIWB+Vzf RicvNpkb+oGMOgeqkxVNg8eqvCSnlfI5J2GLbCplu3F9Ev3jmJHgXHZpmZQG9OTSOFRn41AfAow uAw0N0RcyCBsolqBjEnuTYQJDXr3a43QwIhcIAk2HOsOMmk3tbltfj36oKFIxC961C8kEgKm X-Proofpoint-GUID: 4_uJvK23G1ThLTtG3gG5LUd4MaV9dI0- X-Rspamd-Queue-Id: 2D318A0003 X-Stat-Signature: orwmbeqyg6pbbj45pko47qe3m54n3uzt X-Rspam-User: X-Rspamd-Server: rspam08 X-HE-Tag: 1752507608-484984 X-HE-Meta: U2FsdGVkX18CYXNEbPsPfh0vf6ovLJI1NSpht95ntU7PMtSyHBO1dqPPnZhoetTgddTaPBbUIqsNvrSPZAbN00wQlTIAbQPJ5ic6v5+BgMP8lHraffoleTJ884wrTXaoPJy6zvMfMfTISu9ajbb2ZAtbvdapp0dl+d8D1CKgBYuEKu7bP1mA6nx6SlQ0T4gfOjqInvz4AWFwP7lH27koqsAU4LdssVo0wH/GBawunG6ItAuoEAhM5+Nt6BtFAHaOjX+mDq8MO1pUnQPZK5+Xk3H4+Gg2JyGWdDdfPAuctMzAnwxfehP55aMuYX0LkCdde7skVjvdgu5s/3V3XTPB6WCjAF2rWPF5vfm6VoIJ6UxBNsPe0wBO4KEFVlCl+mvU1nYDK0BNWtPlIoxjV3N2atwhSzvYDg9jGRyZLIKx7EQa48ZQqvM9J6Bj70r8kg6gdHmNkEJVPbQ6kgLLQBJjfJuHBzpfZsPWb4TnafSqiHnG8bHRb6FnaC8sKoI53BlTf51xlHGIrK2QO7CRSAckAqSFQC6lsr8olQ9CtGfFim5aRF+IIqZIw2ofTOCNxKm7gnar6jUNRXG+H1PPW75IF2Kk4IV9m6PFplc+fwHym5eCC/Ejl6aXriogkJTnpYr282u853lKKlbW7K+tx9S8AWAnwmU3HYxUzW0XcN4AwvE2SO/dDPTUCSN2QvZDRjxDYyDNTS9y03DxN2Bni41PS917dRtdlWZEUzKoqL74hF4gOaLnkQtTfxhm7MAK/qU3CbRwIfSorc1wya07VFia0jYOcefTxPd8POgjy/5NzewWRVY42LVYKofMtq/811CcrtzzVlNrtEddfbkicy3DYToxxsxWdHpWyPkRsa1XqQF2Pduh2GqSRlie4c6x7GU00dPzhQmzu9VrotRVAA6TXh+GT3s5KlHXSpohoBH5TIjo43IEOwNFSVKXX8AwDlvGd43aTrguc3inMUApMeV O3F6OSgK fEoAIWtfkeUAM1L5bZhyN4nm88/lQ9C7zfU/nyrkDwBRYjiNTjN3qj4tDT75B/aLf63a4S5Y4l/HzoO1wsJezfoz+Jdzo1nWMcOy/HaWIJc9O9y66nGNY/SQmdEHA0K9O22nYYy8G1KUUujxFOwVDWgE6x1+9NgN+VDzJ2Dk6qo7HfJCy7s79lUb787cgYOG/aeKxhw5Qoo4x7he6jIvGpXb8yWAfVWKarnfoGKDaBpzEUUD61xHs52NxeKEKrK7zePMl8EFeByKHKlINMs+OeTBGv2pScRkUfRZA0G9mqexgBXG5OASdoluZgqmBSWZNFvB28zoXEcjckKSYle/9DlsNrhtVEupx1ew6g2nKCyIamVFIKVbAWhDq8ui3cfSaLxSLNmPm88yzhGqmks7gEWyu1ag6BkYzZGhDTgEkklkPfAU5bDyHsNo0Ps8bOQjt+UAwEYMjKWoNYAp9RFq5w9cgi2LSawmElSVQiUypEmsnGQeBR+blG5sq5x3O6ZJ0EGArPeIbac4lvpjUeBXWsNp0BiBqkiA8oZwyhShzYN8ofbWjlA3kYxbdRylQ7OFxUXkMDbod5W2b+ga68sVV2pHK0uBkbzhYjlVkIDMwoNZDc5eMZ16HtBoOCn+aXrA0T70Uc5jJNcgqROz6WiCyjaGQVtmylBs7OFTx1BG5Kei2ifL82CVEIfWfUDBu5szo28lD265VexypLNHMenznbrjLLgZfvtb/Hi6H1bcI4CJy4A5M0VYxmcHhBSXLYrRlHW+KCud55iQ9dHQ= 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 Mon, Jul 14, 2025 at 11:35:44AM -0400, Liam R. Howlett wrote: > * Lorenzo Stoakes [250714 09:08]: > > The check_mm_seal() function is doing something general - checking whether > > a range contains only VMAs (or rather that it does NOT contain any unmapped > > regions). > > > > Generalise this and put the logic in mm/vma.c - introducing > > range_contains_unmapped(). Additionally we can simplify the logic, we are > > simply checking whether the last vma->vm_end has either a VMA starting > > after it or ends before the end parameter. > > > > No functional change intended. > > > > Signed-off-by: Lorenzo Stoakes > > I do fear that people will find this function and try and use it > internally, it may make our jobs of avoiding this being expanded more > annoying. Hmm, surely we should have some ability to dissuade within mm :) Thing is I don't love having this function in mm/mseal.c when it has nothing to do with mseal()'ing. If people want to be weird about gaps they can pretty trivially implement something like this anyway. Probably. Possibly. Maybe? > > Reviewed-by: Liam R. Howlett Thanks! > > > --- > > mm/mseal.c | 38 +++----------------------------------- > > mm/vma.c | 18 ++++++++++++++++++ > > mm/vma.h | 3 +++ > > 3 files changed, 24 insertions(+), 35 deletions(-) > > > > diff --git a/mm/mseal.c b/mm/mseal.c > > index adbcc65e9660..8e4c605af700 100644 > > --- a/mm/mseal.c > > +++ b/mm/mseal.c > > @@ -37,34 +37,6 @@ static int mseal_fixup(struct vma_iterator *vmi, struct vm_area_struct *vma, > > return ret; > > } > > > > -/* > > - * Check for do_mseal: > > - * 1> start is part of a valid vma. > > - * 2> end is part of a valid vma. > > - * 3> No gap (unallocated address) between start and end. > > - * 4> map is sealable. > > - */ > > -static int check_mm_seal(unsigned long start, unsigned long end) > > -{ > > - struct vm_area_struct *vma; > > - unsigned long nstart = start; > > - VMA_ITERATOR(vmi, current->mm, start); > > - > > - /* going through each vma to check. */ > > - for_each_vma_range(vmi, vma, end) { > > - if (vma->vm_start > nstart) > > - /* unallocated memory found. */ > > - return -ENOMEM; > > - > > - if (vma->vm_end >= end) > > - return 0; > > - > > - nstart = vma->vm_end; > > - } > > - > > - return -ENOMEM; > > -} > > - > > /* > > * Apply sealing. > > */ > > @@ -184,14 +156,10 @@ int do_mseal(unsigned long start, size_t len_in, unsigned long flags) > > if (mmap_write_lock_killable(mm)) > > return -EINTR; > > > > - /* > > - * First pass, this helps to avoid > > - * partial sealing in case of error in input address range, > > - * e.g. ENOMEM error. > > - */ > > - ret = check_mm_seal(start, end); > > - if (ret) > > + if (range_contains_unmapped(mm, start, end)) { > > + ret = -ENOMEM; > > goto out; > > + } > > > > /* > > * Second pass, this should success, unless there are errors > > diff --git a/mm/vma.c b/mm/vma.c > > index b3d880652359..b57545568ae6 100644 > > --- a/mm/vma.c > > +++ b/mm/vma.c > > @@ -3203,3 +3203,21 @@ int insert_vm_struct(struct mm_struct *mm, struct vm_area_struct *vma) > > > > return 0; > > } > > + > > +/* Does the [start, end) range contain any unmapped memory? */ > > +bool range_contains_unmapped(struct mm_struct *mm, > > + unsigned long start, unsigned long end) > > +{ > > + struct vm_area_struct *vma; > > + unsigned long prev_end = start; > > + VMA_ITERATOR(vmi, current->mm, start); > > + > > + for_each_vma_range(vmi, vma, end) { > > + if (vma->vm_start > prev_end) > > + return true; > > + > > + prev_end = vma->vm_end; > > + } > > + > > + return prev_end < end; > > +} > > diff --git a/mm/vma.h b/mm/vma.h > > index d17f560cf53d..bfe9a04e6018 100644 > > --- a/mm/vma.h > > +++ b/mm/vma.h > > @@ -598,4 +598,7 @@ int create_init_stack_vma(struct mm_struct *mm, struct vm_area_struct **vmap, > > int relocate_vma_down(struct vm_area_struct *vma, unsigned long shift); > > #endif > > > > +bool range_contains_unmapped(struct mm_struct *mm, > > + unsigned long start, unsigned long end); > > + > > #endif /* __MM_VMA_H */ > > -- > > 2.50.1