From nobody Tue Oct 7 05:24:07 2025 Received: from mx0a-00069f02.pphosted.com (mx0a-00069f02.pphosted.com [205.220.165.32]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 18F1C2512EE for ; Mon, 14 Jul 2025 13:08:29 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=205.220.165.32 ARC-Seal: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1752498511; cv=fail; b=UYBbscz0nnVGizY2N04IyWTTI00Phdlde1H6GaTq2YW+6W7aNUJ5FfA7PLeoukNfLZuO+4dmRMPpsmtB03I49OJKLRZqjekRbZixpBbyCHv7VVcKoCrK4Me+EO983GFyq/K+OlOGz+l5/NO7bVzO1mkRdCBO8SLO1rg4ymD9pEo= ARC-Message-Signature: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1752498511; c=relaxed/simple; bh=b6Iq+eL9ADFrY8qx8PVukJIsL/2+UrEstQmT3zLlqtE=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: Content-Type:MIME-Version; b=oSAfPEgy56nrGXJsVThIJUlAhUIZJki+01sPuBa5kxJx96P3wAW52x5UmOeNv7ZU+xb8Q/RjjLODqyaWCWCRJwZPl67AoZ1pa9gOKWW8aXcjTmbWePd8FE5QUH8L8gB1A/KylOVt+AZqWyCGgzgsyRssNmTS801aAjcN+lCKsuQ= ARC-Authentication-Results: i=2; smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=oracle.com; spf=pass smtp.mailfrom=oracle.com; dkim=pass (2048-bit key) header.d=oracle.com header.i=@oracle.com header.b=hxW6Pqer; dkim=pass (1024-bit key) header.d=oracle.onmicrosoft.com header.i=@oracle.onmicrosoft.com header.b=ornwciao; arc=fail smtp.client-ip=205.220.165.32 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=oracle.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=oracle.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=oracle.com header.i=@oracle.com header.b="hxW6Pqer"; dkim=pass (1024-bit key) header.d=oracle.onmicrosoft.com header.i=@oracle.onmicrosoft.com header.b="ornwciao" 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 56E9Z5IP018801; Mon, 14 Jul 2025 13:08:15 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oracle.com; h=cc :content-transfer-encoding:content-type:date:from:in-reply-to :message-id:mime-version:references:subject:to; s= corp-2025-04-25; bh=lC4w1sIGHw3mTNOtNRJOZr3Rn0BiysgxIcmQcAPzuH0=; b= hxW6PqerXMl7Jxxu42wgzX7qhPxmGPbkFJW5rub6149vCE0nIcr5+QVAFbtMCqRd TDHf+VB/Ac8ta2c71nMDNpM17Fg4s8t+3xbXsDrKQzjUfe+tVT9r6+djl1cfZ2Gt OaobY5jobGDTQmHZKcDNY9TD6juzpvSjG7redt/jV0bNizMpa2kDpe9yUQHptOyz bavqUmWv0Esp52PmATUY95mjtpY7WAikBwaWvnU3g5X9EUhJp3pxKp6/WT5pxo76 DQEHausrC6ErF6nIMJvTV+XaUaBkuu2Xmo8UzcgFLsAwT+10vJ0KL/gxJ3NYhNQE ZfNcgi7h3uWRAqmE0i/zbA== Received: from phxpaimrmta01.imrmtpd1.prodappphxaev1.oraclevcn.com (phxpaimrmta01.appoci.oracle.com [138.1.114.2]) by mx0b-00069f02.pphosted.com (PPS) with ESMTPS id 47ufnqmuny-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Mon, 14 Jul 2025 13:08:15 +0000 (GMT) Received: from pps.filterd (phxpaimrmta01.imrmtpd1.prodappphxaev1.oraclevcn.com [127.0.0.1]) by phxpaimrmta01.imrmtpd1.prodappphxaev1.oraclevcn.com (8.18.1.2/8.18.1.2) with ESMTP id 56EC7sod030319; Mon, 14 Jul 2025 13:08:14 GMT Received: from nam11-bn8-obe.outbound.protection.outlook.com (mail-bn8nam11on2065.outbound.protection.outlook.com [40.107.236.65]) by phxpaimrmta01.imrmtpd1.prodappphxaev1.oraclevcn.com (PPS) with ESMTPS id 47ue58h900-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Mon, 14 Jul 2025 13:08:14 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=JAr///xWOT29pTr6/jNh4aoInF7XHIFrNNrCB3PB/qBcdPrZhMUOdXbbsPDNxsyXF3zikNPI2TEcGCYf8APjtqBApyDZSE/PPZTN3AIvksLrfoO7X4uG1iyV1XUVjMbYICGjyE3gTTrslUvAwHrKdNMiTc+z2zBiaS+LU4BuTgy+XUDyqUEG7F2c96sZSDJ0bj6YGkJAgXPN7sBm2A760Y9yNfB0sBEToI4N07XdkKrLxJx1bDTEZ075dkc76AcRXTJmf/LtzvU+7Z0HFv2TnJmBdcPQpwHKh45uhoMWhoWwubjHNLY8rzQsFgSO+ppkdRbHsadfyhctfwUYbTWAGg== 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=lC4w1sIGHw3mTNOtNRJOZr3Rn0BiysgxIcmQcAPzuH0=; b=qfhmChiTH/1RGMLR8SsQ24z8pq3qtAvOFiN8Q9rDUyajB01vQvLq5wOhmLGLvlG0dJ9XyrblM6eEujxBcE+gVdp3cLO1mXqSnLaMis8otyz/IcB6Fb26zjRiHcdhDcJfH1FbdexGFMhb+W5VWtBvYIY7y0s9aAsAMG7XwrD++TgZ0OAYIemPgZxIDBt4U73gSWXhYNqyMBwLodfNthhHRkbTQkXM8Vqaq949AGinP7DRhqdf6TnXz1jfSRMCUDoKa+thxkrsUNGGHr8XgUy1ePr4ioPU6UmscWXNmthL+QPpkFcbUF6JP1WxBBkUsX7vGd18hLHsmfSbinkE05Wf4g== 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=lC4w1sIGHw3mTNOtNRJOZr3Rn0BiysgxIcmQcAPzuH0=; b=ornwciaooLPARhj43M0iR0tWDq+NJAwIKUMByqLS86fue/IJnZrKceNrOQShG1uqSfVEtUlHwseyzCeW098YRh0+YGNGbJbPy6dAs1t0dWkiwTuJY49ZzOHdEGot+cwLAJNT86fLExj+D8yEN0avWTgTIIt8l01rWyZBkcQXAFY= Received: from DM4PR10MB8218.namprd10.prod.outlook.com (2603:10b6:8:1cc::16) by PH3PPF1F3678C2B.namprd10.prod.outlook.com (2603:10b6:518:1::78e) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8901.23; Mon, 14 Jul 2025 13:08:11 +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 13:08:11 +0000 From: Lorenzo Stoakes To: Andrew Morton Cc: "Liam R . Howlett" , David Hildenbrand , Vlastimil Babka , Jann Horn , Pedro Falcato , linux-mm@kvack.org, linux-kernel@vger.kernel.org, Jeff Xu Subject: [PATCH 1/5] mm/mseal: always define VM_SEALED Date: Mon, 14 Jul 2025 14:00:36 +0100 Message-ID: X-Mailer: git-send-email 2.50.1 In-Reply-To: References: Content-Transfer-Encoding: quoted-printable X-ClientProxiedBy: LO4P265CA0234.GBRP265.PROD.OUTLOOK.COM (2603:10a6:600:315::11) To DM4PR10MB8218.namprd10.prod.outlook.com (2603:10b6:8:1cc::16) Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: DM4PR10MB8218:EE_|PH3PPF1F3678C2B:EE_ X-MS-Office365-Filtering-Correlation-Id: 0e53242e-ab89-4a61-2632-08ddc2d77c23 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?HcDRt75/5cJGFK6Fkqu6xgz+8GmsUtQ1edQKh38zi4mNTIYVWLt/vNRM7WH0?= =?us-ascii?Q?18S2SGcCD18VAfoKmIopS4d3x1AexQwA+YEhsTrCf41wOhGUiiDxz7hc+tKX?= =?us-ascii?Q?lZXJTf4sHua+3OYrcxhK5pnGkK4wddG5LKT/Cn3uNc04zaIiP+48QSI1HbhB?= =?us-ascii?Q?MKYPKp8B94S28jbr8vWT5c+G7CyHLybzjz5THJE854dTWFc1lJvwkg1Khzbu?= =?us-ascii?Q?jUfnfPlmGxJ9GX9g3VJ3M3K7fqpeL6pCOOcs2xxq4B0VaaKIx4FKPuUw87+K?= =?us-ascii?Q?TpE7ExJmd/DRYRV/NqNgLaUuEQFIjFgy8ZBU0HtEeIstExP3QWW8bATaoN3k?= =?us-ascii?Q?nEjfM2vp1FWG66wg661UjlUlb2YUqDkt9curQSSD27RwiEbSNY6LIC+YXnL9?= =?us-ascii?Q?WyBXV1FMxdYqWnGCkDQTBcYeL2hh63gg+Y/dp+nHND+6JlpGBw8QjyNRnsuA?= =?us-ascii?Q?M4n7Rj48QXqFwZc5vNOGOLSoYSsan3JfW6TfwuUk17fC9Pz16qaVBLi6ZIcM?= =?us-ascii?Q?GNODtS5tFOCLsXhKgrLT8D4jMy4erPXvIetAkcaaDJXInDn5nGpQI9AUqG6Y?= =?us-ascii?Q?ZmGiTT1U7erXlHasmRawqMtYbo7MoS42f578zlaU2U3waMKNMeZtQ+YIE6fW?= =?us-ascii?Q?oQwUiCXd2mwhDKbVqM8sNrnwy1FEFQ8VaMukAUv86DJM4u/EM8i8ix0BlCmR?= =?us-ascii?Q?z7yyiV9Oa5YPDOKTfbODRorAByrByst+wEk1iseQia8KM1/1S0pwHr2KlPUi?= =?us-ascii?Q?nRRI/M/tySEG6Xa0EJCSoVo3vd6AF/CuGIb49ES1M/VkHiLNBIn7N3HioI9M?= =?us-ascii?Q?0XBV18kat3aVmweyLWb2sh1Kc4jGT6kBN8o2J5qTZqNV0We+MSLr8K/F8tZD?= =?us-ascii?Q?/z+AfPSN4P+yP3QlAloSZqw8c/qgpQMzFSZyqxoKFeikt9mcrE3ZyqzxDeen?= =?us-ascii?Q?deLQi670LjyQLKHjw+gxxtdrMYjZ1wMESRiUpig/Xv+HxR9pOhxFubVcy45L?= =?us-ascii?Q?SsEmf9tX1G9PDtBkiesEpA2Y/GxdbTH9nKerD2fOh4nu8nfmac9oFKUV6Iz8?= =?us-ascii?Q?nRRBbOqdQ+iEEkBzo3Vlgwq5uVJCMQ9Mn+rfBSLdr6Inu9h1CS5Z2Q4JPaJC?= =?us-ascii?Q?FgWKROUr+UqB4ckw2DGNcRSCXHB7gScse7xe/6s7Oy1ZVXaLGSjqd3Ezsd9k?= =?us-ascii?Q?/k6ZB8LcX9n1+lPTWgZEe+pTHRX57/McmbuaaEOwZenXMzdjhWGrXP7dMUAL?= =?us-ascii?Q?83jM8tBJX1Gn4P6yyorrJ7tvicSzDpPI15t7oCPU/XEVySKe7jhLJwAMRnrr?= =?us-ascii?Q?eQEU3dswtuo77HPl4MuNP+q3q65gGkAL7F1RbBQc/uqtaxpPPvUa9Ar6S/3V?= =?us-ascii?Q?31LFZTNFkPNXB8Z28fD4XHuX4dDOmY1P0CXDDELYi6OINHJRLoMcgYFckZCV?= =?us-ascii?Q?E1AzFB1RXKY=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?ApMzU8wQPJvro0X9wyugnIoU32ROfOhZmzMXsXlmlsgZuLNqpswV/pmV+kh7?= =?us-ascii?Q?yPgLMKINYUCsor1gIIUrd35PzV31z9cRLhFhfXWmrSFMZCAe3Oiy+65Qkxr+?= =?us-ascii?Q?8Caqr60/BHAdt00LFdt0r7GMpVrsWe4mCvh0Daq6a0OUXC7COQ5gf2QeM/Ht?= =?us-ascii?Q?7ENLANU1yw+JjA/XX5+/m9qNc1E23X0rwIKKlwVbFpeH1qEaDcdtq66uVSXk?= =?us-ascii?Q?vnFLpoWhYZTr8c5rfTRVZ3Z8eT1dIzUvWV74k0tCANVE/ioIwkHMF1fTnchJ?= =?us-ascii?Q?FSZ2w4VEDxk+Pw+Dm4LxOehetjKtT5EIYM4UmNRky6221VmBtLWUN750Ib1W?= =?us-ascii?Q?9Ajfej9Qs+uw7+VnhtWt6m0x+/1QonvnsX5pMj1+CiiY2tYDE0ziu/RjHGZw?= =?us-ascii?Q?iytj6Q/E4TNDQqXw4AW0DFn5dXdVthEa/Vxt6cLPPRpixHtHoUX0gOmXGKTh?= =?us-ascii?Q?YveKnWJNyYs6viVMUdyTUGAidK4t6wbYaBvCGNmvHtan6qp9AyCVXBGHlgV+?= =?us-ascii?Q?A8w+CmC0xlHfu513V3wK+0SIzaCvhK1Z3xCJD5+iWuJK7T/5jSidW/XKeK29?= =?us-ascii?Q?lsPjd6Fsu1ibjwgarJT0KFqDLJ5xuerwoC9mDFUQQis0bUCWkGOvgejCpfyf?= =?us-ascii?Q?6MPG905A30UODi2sLbma+PgGBUapJtaIEDjYxmgejW3LwlKC1PUqnxn9RQtE?= =?us-ascii?Q?w04VB3vvWrbXa67Hy6XohGw0wOdt3YoknWsgP2lJ9QBVNiIFlT8i34alVVmI?= =?us-ascii?Q?1ZzrBqc+Ll0He5QyaDBiaACRBUVvTxhSOXASx998lDrSnxiP+zuBcsCMPl8l?= =?us-ascii?Q?fbVhHsi4+51QtWWIEcumM0jHlWUnr/6ez9OzrrgkG1Y77/1ZM/deaXi9O0yE?= =?us-ascii?Q?ndasrM43doaaf5YpbOfgKvW+lLjrgPiGivBgx3+xi0lCOuRQWZ27aQ2CkRq6?= =?us-ascii?Q?maLkMC2w0bcNT9cil8rcaR2omO+mFKzrc0hEs4WpGg1oSFhvqJcU0NCufgYZ?= =?us-ascii?Q?ojaForsO25JJJpMo0dGQdht0sqEiC6TI0lHZrpMdzDm4ARMu23LkXUTpbELJ?= =?us-ascii?Q?x8JtBeR61HKj1pxj8DzYba4u10OBmPm4PbhFIBOlgCeDjUp4Jda1QJtl88Lq?= =?us-ascii?Q?h43qgJ0eIQ6hxAqOx3bKpOUIrHS4iD13SA5/vI9+q86ez+S3J1m2uXohV6c0?= =?us-ascii?Q?entVZ2CS6HDEsomjjuYXBuWfYB4uMC8SJ0apH4BrOVwInX08SxJpRx8NIEex?= =?us-ascii?Q?hxSx2/fPeDt8GSCpdUPyrG3nOPP2GBosaPVjnua3i7PuBS61aqfT/KUhIq7H?= =?us-ascii?Q?2tLEbbsM9I50lf0b1ykpEtWbWZIjzWY6mCEPrnvwXhkxNZGxJCRf4d416t4u?= =?us-ascii?Q?UxvQtXZ84mm/Rld3hMSdOpPcq/jloeLRQJJ8XCvGUlOnngp8YENyDQsCB8Af?= =?us-ascii?Q?gbjAnhQzBzW57Fv0WVIOwmSVBRCvxjFPMsEmQQaGUxe1v4uV61X9ubR2Ed8B?= =?us-ascii?Q?+2dx4ax25959VxnY1TRXt8uzF5jLZn98JIjQyeOqKhgJbrQLYMZ18QG8K4fG?= =?us-ascii?Q?X4SSuXvSCJ1shA8JNIWdS49OndaFLDVfKRJX46RzwL0EaR5xYrc6gH2CozRv?= =?us-ascii?Q?IA=3D=3D?= X-MS-Exchange-AntiSpam-ExternalHop-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-ExternalHop-MessageData-0: 8QXAgQtIfzkXT95hggj+6iW5Y0qcoylnWF2uzpUMaJy09fXS9k+wyy2PQ20h3kBDgur7C09eLnXlD4seU3khNp9zCoyouuN8Uw8quCxDMDMgw6/Nb2tu+ewjdKPlUxwSBon7eGV/kISXpOAeB0lRFn78OrseeM/457cK2AHlea7T6soLc+awcFoZxxjSEnAaLBqOVVgjXnolrCbgD35U6LsnbA6KVmc4PLId7rjNyE2AVQV/fmFpSndw1YG9pabWbPyVs65N28xmeeCsI1eupa+pCcDcupeFCt+N+CP04CpjMLlaua7GkVmqOykaWPSXSk/oivHBOOtocQXPXgOG8mGHidUmYLZAEo+cM3iY4c/hfpfi5rMNqHuVnjkmPaCzB4Ek93UP8968tumXILO2uLe2HppHPKVJMHYyzr6Rv9STVwoztnspMmUQrWuYje3An6bzDh6LdeSsudFz7+69O+79f1dswqFUgV6CPYjNz4cswQb9/p7FHcWANw3/0bdSJZ+4yKj5ArNtdGzNCtM4aouI02+9Zpzm3qvKUwCY/kWYXu1I4aG3CZhSQ8dU1fFJgL6JqTg2kpol3W/UWIKVWF5FQyibU33H+V7wxa513j8= X-OriginatorOrg: oracle.com X-MS-Exchange-CrossTenant-Network-Message-Id: 0e53242e-ab89-4a61-2632-08ddc2d77c23 X-MS-Exchange-CrossTenant-AuthSource: DM4PR10MB8218.namprd10.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 14 Jul 2025 13:08:11.3672 (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: mSLAbnHUBPl7nbky8X5T33ti27Nli9Jb+3U3OMXoFwoVVEgHE0JZBqj/VwyPdbKt8udKRKFQ8hNa7npqLLiDfyWpLzHKrpeTLB+ozzs9M10= X-MS-Exchange-Transport-CrossTenantHeadersStamped: PH3PPF1F3678C2B 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 mlxscore=0 suspectscore=0 malwarescore=0 bulkscore=0 adultscore=0 spamscore=0 mlxlogscore=999 phishscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2505160000 definitions=main-2507140077 X-Proofpoint-GUID: 67U9wBozwe58evCaSX5xHs0jiHlsNvmZ X-Proofpoint-ORIG-GUID: 67U9wBozwe58evCaSX5xHs0jiHlsNvmZ X-Proofpoint-Spam-Details-Enc: AW1haW4tMjUwNzE0MDA3NyBTYWx0ZWRfX+Upxs5dj/BPH +iXpZJPIs+9OEWB4uD4SzfYwoKrGbXxTWqfo6jscf4SA5rcZz7hnLYLGZsIUPrQ460PJteIeO4Z HRJtCtKLyDljBSHm31OrG8zMU4ljfvRVTPA39P1PZ3iGPY8CenlW9TpQeGwyYksadcfBh/Zy85q SmCWutezlMrLFF32h+qJ2KGmEBVUORQ4F5IMTXBgJhnKWcLlZIx7dn/JGpAHTtcXUlPDFPtgeh9 E5fRJJZD1yBQwfqNcKvafDUHseoNR1i96ENNOY4mGeKUALBz4k2mF9oQyPmE70P4ff2VKQ9Ge/U tvLb5uDM2tv3z6gMlTc/NRISc7/vkjKi2Pp5+9u/4bFru7VkaEU1+M2zGWVnFatuKczlimtnX0J WvqKAGSJb0MT8UH1kn+ImCtdRIWnJjgoZKszjzNZePRfzwjeQbHt7znnqmpnqt8Q3w/mk7Pt X-Authority-Analysis: v=2.4 cv=U9ySDfru c=1 sm=1 tr=0 ts=6875013f cx=c_pps a=XiAAW1AwiKB2Y8Wsi+sD2Q==:117 a=XiAAW1AwiKB2Y8Wsi+sD2Q==:17 a=6eWqkTHjU83fiwn7nKZWdM+Sl24=:19 a=lCpzRmAYbLLaTzLvsPZ7Mbvzbb8=:19 a=wKuvFiaSGQ0qltdbU6+NXLB8nM8=:19 a=Ol13hO9ccFRV9qXi2t6ftBPywas=:19 a=xqWC_Br6kY4A:10 a=Wb1JkmetP80A:10 a=GoEa3M9JfhUA:10 a=yPCof4ZbAAAA:8 a=gxeMIzJwE0WXKCnSo1kA:9 Content-Type: text/plain; charset="utf-8" There is no reason to treat VM_SEALED in a special way, in each other case in which a VMA flag is unavailable due to configuration, we simply assign that flag to VM_NONE, make VM_SEALED consistent with all other VMA flags in this respect. Additionally, use the next available bit for VM_SEALED, 42, rather than arbitrarily putting it at 63 and update the declaration to match all other VMA flags. No functional change intended. Signed-off-by: Lorenzo Stoakes Acked-by: David Hildenbrand Reviewed-by: Liam R. Howlett Reviewed-by: Pedro Falcato --- include/linux/mm.h | 6 ++++-- tools/testing/vma/vma_internal.h | 6 ++++-- 2 files changed, 8 insertions(+), 4 deletions(-) diff --git a/include/linux/mm.h b/include/linux/mm.h index 2e5459d43267..aba67c3df42b 100644 --- a/include/linux/mm.h +++ b/include/linux/mm.h @@ -414,8 +414,10 @@ extern unsigned int kobjsize(const void *objp); #endif #ifdef CONFIG_64BIT -/* VM is sealed, in vm_flags */ -#define VM_SEALED _BITUL(63) +#define VM_SEALED_BIT 42 +#define VM_SEALED BIT(VM_SEALED_BIT) +#else +#define VM_SEALED VM_NONE #endif /* Bits set in the VMA until the stack is in its final location */ diff --git a/tools/testing/vma/vma_internal.h b/tools/testing/vma/vma_inter= nal.h index 991022e9e0d3..0fe52fd6782b 100644 --- a/tools/testing/vma/vma_internal.h +++ b/tools/testing/vma/vma_internal.h @@ -108,8 +108,10 @@ extern unsigned long dac_mmap_min_addr; #define CAP_IPC_LOCK 14 #ifdef CONFIG_64BIT -/* VM is sealed, in vm_flags */ -#define VM_SEALED _BITUL(63) +#define VM_SEALED_BIT 42 +#define VM_SEALED BIT(VM_SEALED_BIT) +#else +#define VM_SEALED VM_NONE #endif #define FIRST_USER_ADDRESS 0UL -- 2.50.1 From nobody Tue Oct 7 05:24:07 2025 Received: from mx0b-00069f02.pphosted.com (mx0b-00069f02.pphosted.com [205.220.177.32]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id BBE8C24CEE8 for ; Mon, 14 Jul 2025 13:08:35 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=205.220.177.32 ARC-Seal: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1752498518; cv=fail; b=GmghaUBeJkUlEjMq2boezBa3izt291LyRS3s7BZv5jSHGejEAiEMfemLhLKwKTYJuAr4650uZbaToU5FEo6FWMhdCCF/EUWlGuo/w0kmbIkpnUNpngk07NLlDfESR0/012awQJb5qapHwITjzYk3ff+WbPz+JS2YM6z4Bx/Mzjg= ARC-Message-Signature: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1752498518; c=relaxed/simple; bh=F5wtWlEgfCRLmlxk0iFY67kqBt29kXawS6bF710lIKs=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: Content-Type:MIME-Version; b=SyUuMKCq+HPYWBRIymh/iIzVe7I30fzHSPP5wPTuH4IYqasu1AFu1B+/z+w7SfAXu8rf1rComsvL4fJlcJJPgSYoun94DBd1JF4Ump4BilsRcnh7to9e4IehzHxvcnPBIV2i6HES1k3WqnaX2VmNAmFfQc1ARTGf9zGXFZNvzfk= ARC-Authentication-Results: i=2; smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=oracle.com; spf=pass smtp.mailfrom=oracle.com; dkim=pass (2048-bit key) header.d=oracle.com header.i=@oracle.com header.b=TfFID7tl; dkim=pass (1024-bit key) header.d=oracle.onmicrosoft.com header.i=@oracle.onmicrosoft.com header.b=rHatXrXr; arc=fail smtp.client-ip=205.220.177.32 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=oracle.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=oracle.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=oracle.com header.i=@oracle.com header.b="TfFID7tl"; dkim=pass (1024-bit key) header.d=oracle.onmicrosoft.com header.i=@oracle.onmicrosoft.com header.b="rHatXrXr" Received: from pps.filterd (m0246630.ppops.net [127.0.0.1]) by mx0b-00069f02.pphosted.com (8.18.1.2/8.18.1.2) with ESMTP id 56E9Z5nq031151; Mon, 14 Jul 2025 13:08:19 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oracle.com; h=cc :content-transfer-encoding:content-type:date:from:in-reply-to :message-id:mime-version:references:subject:to; s= corp-2025-04-25; bh=i3NlFKGrj4yrT5+Dw0ykZ9qQCdEthGzEp2slOEuJang=; b= TfFID7tlXQTergKcWFbgQ1/ZpLwgyEirSNWQ0igSlDSYoSxPLrZuKXF1NC4kfHGX kG9i9Zruvuo10qQZTU7F7tj0DFonxq1peY+u+Geqwg9+NvsLzIp4Lx9DC2FD4hCI nUhqvIk44ODy3DofeIASAPvLt3F5M9XqctmMQmYf5lEQquiCw5pQHzvFQjC5drBc dUpH68vnLdTsa/xqtFPa7VADuvYgyBOB2O6driiNmvk9aTPNXaLSozMta8+45nfq HN+8UxJqAwUouKeAMIZT2e/4OzL8g3Cf1PPZQw41srH+RdUVLgwomshkBfm70gXA e/Ztrls3mta1wf3pZKdJGg== Received: from phxpaimrmta01.imrmtpd1.prodappphxaev1.oraclevcn.com (phxpaimrmta01.appoci.oracle.com [138.1.114.2]) by mx0b-00069f02.pphosted.com (PPS) with ESMTPS id 47ujr0v27d-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Mon, 14 Jul 2025 13:08:19 +0000 (GMT) Received: from pps.filterd (phxpaimrmta01.imrmtpd1.prodappphxaev1.oraclevcn.com [127.0.0.1]) by phxpaimrmta01.imrmtpd1.prodappphxaev1.oraclevcn.com (8.18.1.2/8.18.1.2) with ESMTP id 56EB19tB030299; Mon, 14 Jul 2025 13:08:18 GMT Received: from nam11-dm6-obe.outbound.protection.outlook.com (mail-dm6nam11on2065.outbound.protection.outlook.com [40.107.223.65]) by phxpaimrmta01.imrmtpd1.prodappphxaev1.oraclevcn.com (PPS) with ESMTPS id 47ue58h91u-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Mon, 14 Jul 2025 13:08:18 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=YCjXKu1q0M3NM0L+mUm0iqgn+LAzjZS5esqZTbfTLWICKVfdfXux2nyzvKW+phG9HgE7gQZy5EvJbj/03Vqi82G/QPgV6SDN1FzEKIA6URkonBxi7Xx6mZERhUsmvkk8J0YJCfqyMW3HiyJ5xmD6oIqi0HS10FvE8AzTwnzdkzry9BnqayojHt+eMJvCo6mao5MBsnZcxqhrrjK13rcNRcn/OkPNWuuOp0huF8VxTxyhc60CFZuILJN4tb7yy08X2de2aMjPynkbm+2VumVBp2zeGOPCHAMVnJU0ohcodkNulNDeXku1AGcsGFSrfwYe/wFjWcRaIQdrNHZ78VNQbA== 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=i3NlFKGrj4yrT5+Dw0ykZ9qQCdEthGzEp2slOEuJang=; b=jjJuNUfRDzdXlfbeSBqOr8hXxYPiHfmt78EUTU0yzvmhfw9rtwFcKbbrpPoqd1xFcqAH8ND9UGmSZQKeKjX1IklPb2x7GhMGdUt5tKboBsNmRlET+dRuX/JsdDNdSuFaxPTWsMDAWGzuiFwg1ZZQH9Bv+rkn6vIN4fLr/sT7rk9jRMbNiTgdMtRSscr/1Lkbd8UnI/w08nDxm9aX+NIU+8zf8iKoqQgOLfCQgDfIrR1Sb+i0Iop67w1ijustR7JMssbjrr60F/dw+Lt6FzcPK82clAaS4lKFaFh0Fq3OBdy9/wxUVhzXrZ9jCFNrW8my5hTomE+0MMd0NJvTa4W8PA== 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=i3NlFKGrj4yrT5+Dw0ykZ9qQCdEthGzEp2slOEuJang=; b=rHatXrXrCYczTUfpC0YUEks+7RGx8DaNq4mmHg9LTX2jIpkzv88b0Hk1LOnEJR5PfpkPa0yMiZZcdI0wgEXYcqRu6XBXAtD18tM5S38q1wOFBx+W4+qmAYhlmPDKQNhDPMAb4fNXh1lbbl5Zo6KNnraTazNs9XQM8Mlo984IhJU= Received: from DM4PR10MB8218.namprd10.prod.outlook.com (2603:10b6:8:1cc::16) by PH3PPF1F3678C2B.namprd10.prod.outlook.com (2603:10b6:518:1::78e) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8901.23; Mon, 14 Jul 2025 13:08:15 +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 13:08:15 +0000 From: Lorenzo Stoakes To: Andrew Morton Cc: "Liam R . Howlett" , David Hildenbrand , Vlastimil Babka , Jann Horn , Pedro Falcato , linux-mm@kvack.org, linux-kernel@vger.kernel.org, Jeff Xu Subject: [PATCH 2/5] mm/mseal: move madvise() logic to mm/madvise.c Date: Mon, 14 Jul 2025 14:00:37 +0100 Message-ID: <5d932ec1f9d0ea115aac65067e4cb8241a06e791.1752497324.git.lorenzo.stoakes@oracle.com> X-Mailer: git-send-email 2.50.1 In-Reply-To: References: Content-Transfer-Encoding: quoted-printable X-ClientProxiedBy: LO4P123CA0667.GBRP123.PROD.OUTLOOK.COM (2603:10a6:600:316::20) To DM4PR10MB8218.namprd10.prod.outlook.com (2603:10b6:8:1cc::16) Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: DM4PR10MB8218:EE_|PH3PPF1F3678C2B:EE_ X-MS-Office365-Filtering-Correlation-Id: feff6f8e-9cc5-42ac-013e-08ddc2d77e61 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?3T/z25ZGKiC52aQAjZ9IiyJnM4XiAQ8VOTAG3dFE04WR1769CFHVE9oKFqJA?= =?us-ascii?Q?n8nipAjTtwfi/z3SbmSqSbjrWure9T7Wi6IcNEI/F3u1Cu8D+f8AXtIlfuDR?= =?us-ascii?Q?p2xknBLrPGwd7998fvCNOiye6uOV5NU9i4i7ES0wy2wSDwWlSxW7+u9PWMhW?= =?us-ascii?Q?SfCx+iR3X7Voib3FI+1hhZlB+8NTKeVZz6qX/aoFJm0qS/PQzbL1xTV64q4G?= =?us-ascii?Q?/cSK3hr5O54bfaeyMMzBcGVcAtdi6R/HdR4jdENZG9kSCFiVlFC+CPSJQ64S?= =?us-ascii?Q?w97gw3eA+5UQwKhEzq+xvA0M4MdSnb0KELepwjig9o7ektL/+VhHNAMOjkNJ?= =?us-ascii?Q?KAJ3ZbwfhIslEN06JGEFYauWPHIXnXTvg06BsC2AiQySGgSSv035q68pkmAi?= =?us-ascii?Q?fDng8TEEcoTPO7Rm0M+9It2IpaRuuaZ+IcbhrlqQCm8dlJDGGooxetFH7rgf?= =?us-ascii?Q?3hrFV8dw5CbQ6W2pdyx35jmg5KSJvWaSfWJ4SPT8pCmCFUkBjgq9A3z6tyP5?= =?us-ascii?Q?lKqdpiCC/1gaaPuDoJ9+QYtnVywihSG7eqIkO/pRFoE63aTmekl6Dr851t3f?= =?us-ascii?Q?Sq3c6S43G/r7rJ/XI7kOjfejXbhHDWzxE5h9XAUbEpHfsratK8m8/Lc6Sra6?= =?us-ascii?Q?fgUEtXbi52RwhS9DnwBcOEMcTyjHOFLlF/iB21V//Crf7taaoZdslAEIBCn2?= =?us-ascii?Q?Anfz8frBAxAp7hDlBMSOpKm4ft2ECCJKGWAzS7V3BbiUcQWbddrvH2FqdGz0?= =?us-ascii?Q?EWH2cEB6wuSZUfgEOBtgG3pvEIm+D9oeagJVPRMQEJCIkQb70WPTaD5s+5pN?= =?us-ascii?Q?UPhGxIyojreXyN5RzeaPc0vx5433MjauXIC/Iio7/EXt1MAl2z7bPmSkd012?= =?us-ascii?Q?o+0gVYQ267N8lnwoiA52enamHEJftkxMYVe+v5nAADLycgGce4TYshAPsfrp?= =?us-ascii?Q?l5zt5pTON5kaH2Ah1TNYebfdU7YXPtJ4nDar3EQCg6xv1bq97mcEPomiPHVo?= =?us-ascii?Q?jcGIcQpk/F1vUzTaYEUnoOEcM1ub0y6nd5ejCs4PC3MPcyoeFaeZsTY+EdFP?= =?us-ascii?Q?zRUSYmCpYlc8ldBu5vjIunMZA/7Tv2fHN2bTgDlttEbFu4xNpRiYhh8YSRON?= =?us-ascii?Q?51amN+tSD6n1fzYxLud6Nb1eGXTQL8+/+goqjvj7T/tRTzVZlXGxh3NSG60k?= =?us-ascii?Q?ux5t5HO02T0eJuWYgQcQB9K97NGGBN2Pb3AeMPCIvNulYYg/7WfJJigPJ35g?= =?us-ascii?Q?0puvRA/QSmHw64Y9XkhNfw1pw8lroG0OnWZf729H44175WwZh1+p2n0yRQbo?= =?us-ascii?Q?OyIpGJ9AxWqc+J63fMyjO0U1cpRAlYGV4bN8FguUDijNl16scVlmE22dYOE8?= =?us-ascii?Q?oxrVRixTq3aJaU4FiuZcwhYDDz6CqqvExWly+x6W1EkJFgM1TyEj+y/jnxTY?= =?us-ascii?Q?n1MI3H7hNWY=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?OW6PCK+hSE8JzIiH6dVhHHezobxiOk94ICD+9HunN4/rPXDUINQ/cTueY/cO?= =?us-ascii?Q?RtMkeekP6rh2K6JE+gomukXaPNUxCEi+us17j+OP+HHdQ/DgALotEE0tevA5?= =?us-ascii?Q?geLMzm8H/YyKwNfp37Wj1ltP8aqF5Wucnio6iTb9uv+NtyvoLCpWs8/mvmhX?= =?us-ascii?Q?Gy6LXx2dM/2+TS525NxPmtfe+SgPTBSyZVtelaJ4xRVdJzSuTYOOMMWrjT84?= =?us-ascii?Q?LVlIDu1iDmoizKYvMUqL7iHlUL8fjg6+klKGCwpkyikLvD3BTC+X6kp1+pfG?= =?us-ascii?Q?Rej08Zel7S6F8SvL5XELFkw1BlYeQUPQX/Fz0v0LlkL9XLwnf5rx40qDtVmV?= =?us-ascii?Q?xZyC5ICSMZ8IGby8MlOwJyANKuBmrkfSUuUPvJUGha12ImBsgyvhqrLd/yys?= =?us-ascii?Q?4aHIVhkHbc71mRr30J8xq0/rVT2b0rRvcdP8Oc6SBMzzq+q+vwcUz5oldpS8?= =?us-ascii?Q?3EuljBX42pW2ChuscVEVCTxy86WOBUKqd++GT4epuSyVqSaY60WqSMT1hS6j?= =?us-ascii?Q?QhqgI/b/m8y875R0roGq6TVPF8EmZI83nabc/XB+x1agAK5O3NmxydlOnC6s?= =?us-ascii?Q?FIct6uHRtjO9RH8sacqOfxvhxPV6CNslCfyxtmaQXeVrjIk9h15Pj5j/SPgx?= =?us-ascii?Q?/UCnBy1PawWJYfAyYNCCdz8dgKyAwYEmeOvO7ydF6u8lA4EGknbAJuOW+0Uf?= =?us-ascii?Q?Brchu9YMdsS9mRFXgaSRntoK7twTBPWVSOFnMaqHoV28SMf+bB4Y05+lFtGJ?= =?us-ascii?Q?BXqSs+HuoRoMnxkrNnIcRENtCH0a08lDwv1eA8gGmbazpJUYFUZFuI3naB7C?= =?us-ascii?Q?WT8Lpl1vFd7VPI+0gPVr5FuO4v2WQyI7lHP1PrDFjjrDDPN6OzudUvVG3Ool?= =?us-ascii?Q?4FYXI3jGmTgYuhR3JQWxJDcptZkTlabNnO7ohg0/BYQB4x7Hw5luOFrLEile?= =?us-ascii?Q?J6QlEIQeSEVK6k6n/cuSbBS3GpH0gFqKu7a7RyJzprV9Frgxm9X6HZVnwqwn?= =?us-ascii?Q?N/8z1zDs1zkZeZwMuuAHDWHBkcSbt9TJSoRAdxzXwCVlnF63H2raUhUFThNN?= =?us-ascii?Q?4uKrbetpgRvtPckSS3HlTRfqXhL9dzP4OMLjbNDPZ8tx0KVMTFyd0YQDnCEi?= =?us-ascii?Q?MoFqM7AhkvY71K45nUUPhyIX5xGJTklN6KrQkr9gXBECIF2MyWGu2u0avtJD?= =?us-ascii?Q?nATJ0dfA7W5Sw4bdIfoTw6PVrV8bKn90xEE91OwRw/1U9/xF01PkGqqCao4G?= =?us-ascii?Q?ceuik0nvb9SWh7QVTgRoJKPImCgWnQWFqBABO6yMVR1/YFpLalsCI6hwAq89?= =?us-ascii?Q?Bb93NWcaVHWu3YAE7iLvY7y5t59Y7GBLAEpYyiRoj8/xTpbxwiNV4X8KRSMH?= =?us-ascii?Q?a/5ir93GsOfQujbzbKiiVhbtxv5Ro/r1hlmitswkqXq3/SqIxU4r/HxsTR00?= =?us-ascii?Q?JmFY8kN0vW3jXoNXgQzHpkTGcaBEHmsGzu0FWZV78OxcyzZKpxT26ImroKs7?= =?us-ascii?Q?8naR49kp44CX+8FwO48wn9syz1swLSaAFA1Sbwjl2zZ2QXtAve8Q47LBCJlS?= =?us-ascii?Q?1S7Qvmyi8LblPG4mxhJNoCZcKW/ilj81SwxpRiGenR6gKrrlJ22PNlOs+E3A?= =?us-ascii?Q?hQ=3D=3D?= X-MS-Exchange-AntiSpam-ExternalHop-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-ExternalHop-MessageData-0: DZWyMoY82d+WDNE2qy18W4CqdzEMoBH/Ul9zQoqYE+sY9pL9VaykbwZ/oWKZh+oefaiAkaAZDTJd0nMmhucTmp2SgtFHziRhOgYf+Ooe6IaH04Y8yuFl5ljbENpQbllP98nCeWCGKKSiX5qH0wHi5299nY2edU9PYgdNv/PlAW3kgAbmjOF3f6tc7HlHypZsAcgLlyditJNHq5icaRyavHKwzv48fb5ZBuZ6pbnSuDnqvS7fcy8vDKYjCWUIJDHqSLRK3pABdGGyyZ+FQxt8Mh5beZW0r0dNkEw2/M6fVv97XY+sqaEjLP1fg/GyaJvgKP9CDcTkL8GAFAGjxMlJ2t2uC0YSDYxQrMXd4GJgd0MXif5GevNK0zZL7ntH55xxXHi0EE7/h7OjrFf6vwTI15FCAKOIiIgNVq/YyNbt2FqyXjLXNd8s5Yr+rp59X5YZvRClOXJjLmLQSz7tp9WvMaCeN+z8IX+HM2XGojjf/lWSeGF+DwoCTzZabCir2ADQJ9xv/cPwn69oUyMrl0O+JblU262yi3bEmDkTV1z4U/scuASD7qpwQXnEJ5a07fRP53qW0ud4vRImMdiLsdj7zCBYL4kdF+G/LVhC1uPxYz0= X-OriginatorOrg: oracle.com X-MS-Exchange-CrossTenant-Network-Message-Id: feff6f8e-9cc5-42ac-013e-08ddc2d77e61 X-MS-Exchange-CrossTenant-AuthSource: DM4PR10MB8218.namprd10.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 14 Jul 2025 13:08:15.1171 (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: 8WhLi8qobOdAzr5iMR10PmAe5v1lSBhvR8DcaGctCGdHH/ep+APFy18CUJ43tMbd1tlxfLdC47eQkTM+RUFnudw0kledY9MVmoRFA6vxW+o= X-MS-Exchange-Transport-CrossTenantHeadersStamped: PH3PPF1F3678C2B 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 mlxscore=0 suspectscore=0 malwarescore=0 bulkscore=0 adultscore=0 spamscore=0 mlxlogscore=999 phishscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2505160000 definitions=main-2507140077 X-Authority-Analysis: v=2.4 cv=d9T1yQjE c=1 sm=1 tr=0 ts=68750143 cx=c_pps a=XiAAW1AwiKB2Y8Wsi+sD2Q==:117 a=XiAAW1AwiKB2Y8Wsi+sD2Q==:17 a=6eWqkTHjU83fiwn7nKZWdM+Sl24=:19 a=lCpzRmAYbLLaTzLvsPZ7Mbvzbb8=:19 a=wKuvFiaSGQ0qltdbU6+NXLB8nM8=:19 a=Ol13hO9ccFRV9qXi2t6ftBPywas=:19 a=xqWC_Br6kY4A:10 a=Wb1JkmetP80A:10 a=GoEa3M9JfhUA:10 a=yPCof4ZbAAAA:8 a=rn4GbVJYIfTtwe4WNGEA:9 X-Proofpoint-ORIG-GUID: ggXTN95BSt0XgEf9xwVCIxCvYGOCdRsX X-Proofpoint-Spam-Details-Enc: AW1haW4tMjUwNzE0MDA3NyBTYWx0ZWRfXzpzC8POYKBnD i2lUEJUMNB21FSLWpaM5ni43vZfDTAjsrkGWmxO2YXeH3soLM8RURptrEQwBZ9SUiNvaxHNe0/0 uFYGtS9lE8sLapg9+mEG1kiaa6MNk55AtYr+4V7iY2of/hYsinjuCyru3uvdUBkoQpqVhpaA+LP BzIkqaP35tuvxf0fHxb5Z5/9WlaXHDlLdxTf4fSBsHSq+fQJMSg//xo6HEgPXcDNaqkrwZwE6bg mCaskRkISnllCIUteMeh23SZAJKNpXnPc/m2ZrcmqaA6vO7WnJtZsV4AoI2Ff6ddjZ8SXNdr7cu U9JnhMZ1cIwjltTtZ4rl4zaE54v2f46bnw+MqBHXiDHK20oF3UgUAytDWWda2XqLcMK4HX7Psiv x5ugPvRzhZwLIkv3QIMaxuXDJmIOR5doRRQmbteM8a60ri62fmOLQGc64kYdLQJorYBgpq8r X-Proofpoint-GUID: ggXTN95BSt0XgEf9xwVCIxCvYGOCdRsX Content-Type: text/plain; charset="utf-8" The madvise() logic is inexplicably performed in mm/mseal.c - this ought to be located in mm/madvise.c. Additionally can_modify_vma_madv() is inconsistently named and, in combination with is_ro_anon(), is very confusing logic. Put a static function in mm/madvise.c instead - can_madvise_modify() - that spells out exactly what's happening. Also explicitly check for an anon VMA. Additionally add commentary to explain what's going on. No functional change intended. Signed-off-by: Lorenzo Stoakes Reviewed-by: Liam R. Howlett Reviewed-by: Pedro Falcato --- mm/madvise.c | 62 +++++++++++++++++++++++++++++++++++++++++++++++++++- mm/mseal.c | 49 ----------------------------------------- mm/vma.h | 7 ------ 3 files changed, 61 insertions(+), 57 deletions(-) diff --git a/mm/madvise.c b/mm/madvise.c index 9de9b7c797c6..75757ba418a8 100644 --- a/mm/madvise.c +++ b/mm/madvise.c @@ -19,6 +19,7 @@ #include #include #include +#include #include #include #include @@ -1256,6 +1257,65 @@ static long madvise_guard_remove(struct madvise_beha= vior *madv_behavior) &guard_remove_walk_ops, NULL); } +#ifdef CONFIG_64BIT +/* Does the madvise operation result in discarding of mapped data? */ +static bool is_discard(int behavior) +{ + switch (behavior) { + case MADV_FREE: + case MADV_DONTNEED: + case MADV_DONTNEED_LOCKED: + case MADV_REMOVE: + case MADV_DONTFORK: + case MADV_WIPEONFORK: + case MADV_GUARD_INSTALL: + return true; + } + + return false; +} + +/* + * We are restricted from madvise()'ing mseal()'d VMAs only in very partic= ular + * circumstances - discarding of data from read-only anonymous SEALED mapp= ings. + * + * This is because users cannot trivally discard data from these VMAs, and= may + * only do so via an appropriate madvise() call. + */ +static bool can_madvise_modify(struct madvise_behavior *madv_behavior) +{ + struct vm_area_struct *vma =3D madv_behavior->vma; + + /* If the operation won't discard, we're good. */ + if (!is_discard(madv_behavior->behavior)) + return true; + + /* If the VMA isn't sealed we're also good. */ + if (can_modify_vma(vma)) + return true; + + /* File-backed mappings don't lose data on discard. */ + if (!vma_is_anonymous(vma)) + return true; + + /* + * If the VMA is writable and the architecture permits write access, + * then discarding is fine. + */ + if ((vma->vm_flags & VM_WRITE) && + arch_vma_access_permitted(vma, /* write=3D */ true, + /* execute=3D */ false, /* foreign=3D */ false)) + return true; + + return false; +} +#else +static bool can_madvise_modify(struct madvise_behavior *madv_behavior) +{ + return true; +} +#endif + /* * Apply an madvise behavior to a region of a vma. madvise_update_vma * will handle splitting a vm area into separate areas, each area with its= own @@ -1269,7 +1329,7 @@ static int madvise_vma_behavior(struct madvise_behavi= or *madv_behavior) struct madvise_behavior_range *range =3D &madv_behavior->range; int error; - if (unlikely(!can_modify_vma_madv(madv_behavior->vma, behavior))) + if (unlikely(!can_madvise_modify(madv_behavior))) return -EPERM; switch (behavior) { diff --git a/mm/mseal.c b/mm/mseal.c index c27197ac04e8..1308e88ab184 100644 --- a/mm/mseal.c +++ b/mm/mseal.c @@ -11,7 +11,6 @@ #include #include #include -#include #include #include #include "internal.h" @@ -21,54 +20,6 @@ static inline void set_vma_sealed(struct vm_area_struct = *vma) vm_flags_set(vma, VM_SEALED); } -static bool is_madv_discard(int behavior) -{ - switch (behavior) { - case MADV_FREE: - case MADV_DONTNEED: - case MADV_DONTNEED_LOCKED: - case MADV_REMOVE: - case MADV_DONTFORK: - case MADV_WIPEONFORK: - case MADV_GUARD_INSTALL: - return true; - } - - return false; -} - -static bool is_ro_anon(struct vm_area_struct *vma) -{ - /* check anonymous mapping. */ - if (vma->vm_file || vma->vm_flags & VM_SHARED) - return false; - - /* - * check for non-writable: - * PROT=3DRO or PKRU is not writeable. - */ - if (!(vma->vm_flags & VM_WRITE) || - !arch_vma_access_permitted(vma, true, false, false)) - return true; - - return false; -} - -/* - * Check if a vma is allowed to be modified by madvise. - */ -bool can_modify_vma_madv(struct vm_area_struct *vma, int behavior) -{ - if (!is_madv_discard(behavior)) - return true; - - if (unlikely(!can_modify_vma(vma) && is_ro_anon(vma))) - return false; - - /* Allow by default. */ - return true; -} - static int mseal_fixup(struct vma_iterator *vmi, struct vm_area_struct *vm= a, struct vm_area_struct **prev, unsigned long start, unsigned long end, vm_flags_t newflags) diff --git a/mm/vma.h b/mm/vma.h index cf6e3a6371b6..6515045ba342 100644 --- a/mm/vma.h +++ b/mm/vma.h @@ -578,8 +578,6 @@ 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) @@ -587,11 +585,6 @@ static inline bool can_modify_vma(struct vm_area_struc= t *vma) return true; } -static inline bool can_modify_vma_madv(struct vm_area_struct *vma, int beh= avior) -{ - return true; -} - #endif #if defined(CONFIG_STACK_GROWSUP) -- 2.50.1 From nobody Tue Oct 7 05:24:07 2025 Received: from mx0b-00069f02.pphosted.com (mx0b-00069f02.pphosted.com [205.220.177.32]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id BA01E2505A9 for ; Mon, 14 Jul 2025 13:08:31 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=205.220.177.32 ARC-Seal: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1752498514; cv=fail; b=nYM3XKatgxPB0TSzzHMHlrcHArbty5nnm/fJP42jhcCEU7akJKJ3TSL5bwzcliwFjsYW5iMTqYfQnexiXTI2BQ8rEamtgwpBZmwCVuar1kuylvG8jt95+DqIcEHSbdB+RAfS5nTWNG2t6IWSGWBAOGqb/kMlBPfnGm1WOmL6flg= ARC-Message-Signature: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1752498514; c=relaxed/simple; bh=41tIuLV/rIGeGzHR3orRH9d9PxB6IODO0e+/YT3gYUY=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: Content-Type:MIME-Version; b=fcPPYJTXgfS86ggn+vJuQH81B8yyfh0d+tftDFT629vQyukliLLykXX/JpKRtMlWcOP/uc1W2Tu2zF/IPmpzb/zRf+Ql8Pu9y3hq8vngjQ1tMtlmGhyaqCfvm5Nt7qC7gCkeaiwHdKhRr+0D+0SAA/yEbLFBNup5ERotmgLe6fQ= ARC-Authentication-Results: i=2; smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=oracle.com; spf=pass smtp.mailfrom=oracle.com; dkim=pass (2048-bit key) header.d=oracle.com header.i=@oracle.com header.b=qYnbynAb; dkim=pass (1024-bit key) header.d=oracle.onmicrosoft.com header.i=@oracle.onmicrosoft.com header.b=xTgrqAlp; arc=fail smtp.client-ip=205.220.177.32 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=oracle.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=oracle.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=oracle.com header.i=@oracle.com header.b="qYnbynAb"; dkim=pass (1024-bit key) header.d=oracle.onmicrosoft.com header.i=@oracle.onmicrosoft.com header.b="xTgrqAlp" Received: from pps.filterd (m0246630.ppops.net [127.0.0.1]) by mx0b-00069f02.pphosted.com (8.18.1.2/8.18.1.2) with ESMTP id 56E9Z5kM031168; Mon, 14 Jul 2025 13:08:20 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oracle.com; h=cc :content-transfer-encoding:content-type:date:from:in-reply-to :message-id:mime-version:references:subject:to; s= corp-2025-04-25; bh=GlyVoBNu36JoF3KVmfQ/OZ3grx0Su4GtfrqkL9c95bk=; b= qYnbynAbvJUC7dsOgUfgF79qtxxq5jdXR2d07W4JqXBSEsdInVEX/sbjnLJHHZWL OxBrr0NKHNrjr+hi8uGjOpXz7NJuoaYs6br4w1Titn1BY0e2CJYVTSR/LY1RN0Eu 7B/H0kYAGZ4TRtAScYss6aVMfbnw1CN5t8+srOwtHJxDAhyD5wStlD7cK0tqw2Xx Z8oqs7KRESUjfW2tuwaWs141J1kqAd5QCa0RpAJvbOe9iwOTdacRiacShZOvHwAs mxERZSVMVQkFo2XkGehC+UqCfrF02Zp35+hdgROwt8PxnRUawDcEQDkjOJ++lZPI XG7AjspVvNi3nBFtmzu1oA== Received: from iadpaimrmta02.imrmtpd1.prodappiadaev1.oraclevcn.com (iadpaimrmta02.appoci.oracle.com [147.154.18.20]) by mx0b-00069f02.pphosted.com (PPS) with ESMTPS id 47ujr0v27e-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Mon, 14 Jul 2025 13:08:20 +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 56EBRjG3039597; Mon, 14 Jul 2025 13:08:19 GMT Received: from nam11-bn8-obe.outbound.protection.outlook.com (mail-bn8nam11on2079.outbound.protection.outlook.com [40.107.236.79]) by iadpaimrmta02.imrmtpd1.prodappiadaev1.oraclevcn.com (PPS) with ESMTPS id 47ue58hx75-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Mon, 14 Jul 2025 13:08:19 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=iCCTwaaHlRK49Bih/tgndlcutKtbiSDxWsbUYAx9V5oBmYZ2Sb3LngJnU8yW9Cn1oh3SjiFXxmkMrzf24sKySVWuj5fcLg1nbm28r81tIPBisNfix8I9QRWbqTVB2dlKkk00Iewr/3eJD2sTrT7wsAes6UIL23YsXYvDD83Qrnac9DaoM2m5ZKyVF25FdlU++9zfd+MQchbwxjsu+4/0tKREHYZM/9GjJ4bF9FwsPJtquxJk25eNyiGmu0m2Jkp59E3E734KwkvNqmTPDb1cWnoq+TM89t3RNR+YLGc8h2A+YCnTI9I9kegiWfKLXF3WTegNaav3/9Wq7v2Zuw5XMg== 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=GlyVoBNu36JoF3KVmfQ/OZ3grx0Su4GtfrqkL9c95bk=; b=ijy3qzqviTrJrLEtOMrnxIUElxRFuiBfQZtdxxfUqJY/z2ldq0bQ6X7Gh5zcseD/Dw0IuM5oiqrCigWjIkUrCeJfb9QF7Mbxmfg6KVZnEvJhFx+8CgXGl75r0HtZEhj1xEPABqDRqL9N2zN0s83umj/Nkf8HCacP27RBZvN8GnolG9n+Fr/zXqj1+tlTjp0DOT801NnF8f4RPSeqI9UX3A7hvfyZfRbxJ0Q+5/hqDibAwTARejuTdhYsOCQ7UR1W3w+5LZRs++lLprTUvNQZ6orP9ukM8Mt2w3kJiqEsoM0WClzDB+JiKN8dKhr1bu7ThNxzmm/S+mB4KpsVfujcYQ== 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=GlyVoBNu36JoF3KVmfQ/OZ3grx0Su4GtfrqkL9c95bk=; b=xTgrqAlpIMg0fTwbtyIr3DpxogmL61ojFiIGk2+VRAhH/uNt1Llaq9+rqZf3kfEbs3LNPHvCKWOKfpfDTkAUtcBa9wwtl/OEEc7sGVsoElNqV1CXig1D4xz770tm82QkLsHwOzCcejju9y+vEvaCRYXliPWeiUbPvC52nJCXC9k= Received: from DM4PR10MB8218.namprd10.prod.outlook.com (2603:10b6:8:1cc::16) by PH3PPF1F3678C2B.namprd10.prod.outlook.com (2603:10b6:518:1::78e) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8901.23; Mon, 14 Jul 2025 13:08:17 +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 13:08:17 +0000 From: Lorenzo Stoakes To: Andrew Morton Cc: "Liam R . Howlett" , David Hildenbrand , Vlastimil Babka , Jann Horn , Pedro Falcato , linux-mm@kvack.org, linux-kernel@vger.kernel.org, Jeff Xu Subject: [PATCH 3/5] mm/mseal: small cleanups Date: Mon, 14 Jul 2025 14:00:38 +0100 Message-ID: <4df6b55c407b5e6890429d4d7cc39e8f28948975.1752497324.git.lorenzo.stoakes@oracle.com> X-Mailer: git-send-email 2.50.1 In-Reply-To: References: Content-Transfer-Encoding: quoted-printable X-ClientProxiedBy: LO4P123CA0611.GBRP123.PROD.OUTLOOK.COM (2603:10a6:600:314::10) To DM4PR10MB8218.namprd10.prod.outlook.com (2603:10b6:8:1cc::16) Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: DM4PR10MB8218:EE_|PH3PPF1F3678C2B:EE_ X-MS-Office365-Filtering-Correlation-Id: c5b9602b-c087-4bf6-1800-08ddc2d77fab 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?hgKmCwoiDWUsVOi88Ycq4SPQQVRMWbDO3ke1MqtI0N4IVdME0kGatSJWYtxQ?= =?us-ascii?Q?bGIT/gg9OJ/Cz8yG/x0xamqpOHTEsYm7jn4nyoeZn2ZURH7ebmSNEVABuPPA?= =?us-ascii?Q?IZdmgZ9WbNrYnwyUJCLWPDP2YrNwYfuDkYMP+kZewAYfnFZZ25+IiW0d3IS3?= =?us-ascii?Q?z9CY087YWh8MD03GhGbSj12Tzx4BmFnXQ4s6f5x4Yx59QyV/oG2upPd6h9kL?= =?us-ascii?Q?9jj0zy3KPbIMsNoGqXxTHckyAo6UixolvbKer5a4rwDGe181OUF+GwubhxiU?= =?us-ascii?Q?kvEowDFe/2icGuo8QFprP9R6F2Vx5NHP0vVVoVWVoFSCVEn9MF2Bv/GN/D3J?= =?us-ascii?Q?1emzKtvQWynjd2gHa6S0s+StWp4IjM+4c3paltVy1HsYlCTe8cY/LMOz9bqq?= =?us-ascii?Q?MAFMP0WA6fJgQSELeNX7MruExFPdk5p3LVC6bPJjVMG5DAPugQ2bTZ2/Udl9?= =?us-ascii?Q?clSQlNX3nlYipw4Q00to50619YiG3EzWTtrhvUnTN7zysHC4uEB1R0f0ZLjS?= =?us-ascii?Q?K7rOAl6NQRkdzO05wZQOuYH821PJb+xERX0myda9rmI/cKsX/rtykOawqN7d?= =?us-ascii?Q?sNQpL6J13gE1hvpPUALplvGxPFLL7KW72NCnX4JEb1CF+x9VXOVMRIOG7wRw?= =?us-ascii?Q?jB5iba5d5iJzbME8ctKmfX0x39TfWaadTCXjD1E+QGeguUxmOp1tKEQTqr5Z?= =?us-ascii?Q?820Xi2CSbFkHPE/bPLDopbfUxtpFS2Ul2stCN+heN3sP3BGLVEa0PLPvHkrB?= =?us-ascii?Q?/GcO/8SVbsSlasPe1/4MiUwV404KbKh6XorVPHh4qbEnoZPBDIbLb7DIS7fm?= =?us-ascii?Q?bC3eL7FnXZQyOAQhubsLTtMfvE8kpgbBwE+DnAT5SzDFO9FKgqRIEclGnOAE?= =?us-ascii?Q?/IwA21M2XcZM4mxU+PXNb1aLFIxdZu4T5/Tr0o9uo8v+DItUXjhZgRI1vFWu?= =?us-ascii?Q?W0sZ9N/4qn0xMIcRGs+zYzTwaLIh1peOenOMpXW3VHMnI4J+nU/jtDIut69y?= =?us-ascii?Q?SsxV1ykqkgNGSg6MDJHJPwiebOukIdwYLB8l+cgueusrEnz4v87pElBDBgmy?= =?us-ascii?Q?khsIr3rDMhPNpNUpmWp3Lc4Z/S0Az5NQMiObGViQBOO2FiNCFt+Nb3eABa6G?= =?us-ascii?Q?kMrmMhQlFRHMVhIUBFt92hCfCGWFhfP5Cml32X7WsjAdpWi4qGpWHsN2tjrB?= =?us-ascii?Q?Ddhd2ADbJEgWw7odU26b4O1Sf0+lW8svzLC5XxLGel6GK4ooSPrL94/m9BvX?= =?us-ascii?Q?X+vcSXG5iMiVQ/GoP615Gh1nmW18M5xFYd05mvQZ40cGtEIa9hONfUD7U96f?= =?us-ascii?Q?Bbqj8bUptpC3rTCa70gBXB1PjS3loGh2NjI/t2HdQ8xDy8tKx2zfL6jAymwP?= =?us-ascii?Q?RJVFCPS5NIax8XpSfcPuDhYHBMxJQMbaKv2GULIJa9O1WYxXDIXcLRnMRY2v?= =?us-ascii?Q?rU++VPuXt90=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?ogD4qBnViXRYT4BjTkELq9ZWij9ihgPyqij37K+O+WIpZp0XX27NNG/7Dwla?= =?us-ascii?Q?vQL6HJsIBKpjTFvqEilvouguVBDl2y4YPeIR8FWSkSraucAsNB7sdYh44/Ko?= =?us-ascii?Q?dusqUjuMcCko/ID+FdC4ZmYbcfHpafeJlcJ0eAnJETUSMxbcXOHPjocPhWY2?= =?us-ascii?Q?zOiYUzmdPLkvYkikIRfXHc2bAje+tml3gyncGhkn74GEdv9qUzfDdiXMKoV6?= =?us-ascii?Q?if/VCBbv40Es+cX2E03yAti1UiOw0iFbP2ewpaPTQxn7/g4opJ18nCP3VRV+?= =?us-ascii?Q?pU4+RrndvKTteXzMBJSBC9gJ8B7PUQxIkQhYft9bDiZy3FrP1D40Z9XaYPFf?= =?us-ascii?Q?+hGMsQTOF0RSl159ZlXFTabfwn2esCISMVgGFAhY78rMy5+X6Y79zzM/n1Zu?= =?us-ascii?Q?f0WtyHBUgnumgQpH9F/tqnuiG2zgf9pxftpdYNp2KLNJAzV7NMXREAnv+4i9?= =?us-ascii?Q?Cg4OmHR8w8TExpxjsm6pErvEEQURlRGPqywVKr7y2EyxKlh1lvZjjBdGwisS?= =?us-ascii?Q?PlFnLJzwxuHwmZx/bjhbTr4j6EYACoUZoguKIuTnR8veCelwZD9k3b9BvD8X?= =?us-ascii?Q?kTx3/qToMm9pBn8jKjOFmM4Aiy+SEfK3PRAmYay+b9XIKyl+bi0WtLiuDmpx?= =?us-ascii?Q?vzCB5old7oWObAM3+LwDSBwGx3huAdjIzQq1e5EdbQjTgFfrzMnMztpQ5blZ?= =?us-ascii?Q?8UazxQIRteL1nOyIrJ8F9yL3+wPXYxZiMac4H2CHbXq5sLfC5FvwGo3DEKe9?= =?us-ascii?Q?vqXQdMzCTP3kxuJ6AHqiF446T6LMk6ogUSEuvY+2OHTaNFXSdKb58fS9eKVP?= =?us-ascii?Q?yjj5T3VLrulv/Qy4tokk1Gl3hLQpWUVHVuO/JYiL7k8iBhjvP6W4WtEvAqgB?= =?us-ascii?Q?MQdYfQdqugrjYB39MyxoaK0RS+BNh0NqSGesh751YQ/2LfNy5DrXcV2vy4av?= =?us-ascii?Q?nYXZEIRp1GErBKuSDkTBHUSWzcKnYn4ltOD9tQzVgqDEBX3qIX6lwo9qEfIA?= =?us-ascii?Q?ukx7VZFsnxSnLOE4wKiJn77xmqYmxkx5hrPC5RrI8mkGZo92qInEkXwVqF9y?= =?us-ascii?Q?8yL8wSjYF3o6TbP5kpN9gig/TLdkbZgQoMyzJo8bArcs5xwUxYsJXwHQ29eP?= =?us-ascii?Q?8Lwk/TZEYFoeEmpG5uHUoWAiE22PhOAlOEuyF5Xwy6VgVoyxwr8nMK3Dzltk?= =?us-ascii?Q?BnDY3Gk5wF55S7McdC17nlBX3zZ9oywv5WLCwVDkt1swaSQcl1jDnpNjSKRJ?= =?us-ascii?Q?kQMv8XptA57moczyDXWaTno2yAvko4l3KYcUi262QUOoU8bByO5gl2wgdW97?= =?us-ascii?Q?QvMmhAms24+sdLtnz+FPTmJhaEMICM2uafjKk1QAz+omVCzZeSRhI1va6o1u?= =?us-ascii?Q?7Ih0dyGPDoUiN81jb4QBAteliDCZRh4zCkJqcFW0PZl44snxSaJ1Ns2Pzpcx?= =?us-ascii?Q?B5TKjS0ximlyz6e3g8XHipXiCPcmfDqKWuZF8pzJ7QJVbgHAqtwQbHF+gQoY?= =?us-ascii?Q?m7+WNCR9R5rYu2D4rkb0fPmoAkVGl4LecgW0fqKCImk/eFMLUMYqnclO8kc4?= =?us-ascii?Q?27tE4i7WRJl/xSirbDZeVBZr/1h/2npmJLXp8yk0uBKmKPXwTm8EYB7j2hzg?= =?us-ascii?Q?CQ=3D=3D?= X-MS-Exchange-AntiSpam-ExternalHop-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-ExternalHop-MessageData-0: fhi7dX02J1n6qC100kPrePWikgIKyOySiFXlXPCbOIqBBt6AmaPgEa3uzjZi2PesvqE10JcjNZS+u6nHzzKowi9CHJ5+pUOkL2oUbtEfeg9gzeQIgg4Sm/UAiyr1wAMgZK90rK22oFTnshkMf9YXr7RJzK3nCk8XWyZGDjmWsf1aad4mA0Qxi4gyfRpqWILcTh0VhOJnfklmgSIA2tLvGff0D1fFeFxSqDzcm+8OdCzgLu0nbYAWDXZanNuqVO8/zqc+f0K8lR5kbQIS7vaQPFEW1Lfrr9SK2q5YSj+0+9YyOtOqiv7RJIs9dyIJ5Jj+6WY97PciP3sLivAdfB3rEPwSvFHU8OoC4+VsAUZzkTG6J31QEyE5aJmMPs+croSI8m1Q32eODLidj0kxgVtpE3D5F8NbSlnU1hfU/VVtoFcJXJc3D4ZEcipj5p9R+g9/IsGbJdpZGuRlTxr7sGQ92K3bFYkIDHe+ea6r7TLJGPgQ8aP7zG/byIvObdcphUFwSNyARHlubZHcmHec23SbBiLOOSEE1RuFW2MCzvL34zg7N95AVgTr6dtqVhEexNkPogvphu/dYFZiQgcAza6q5c8E/s4qDlmFCyTu785ejpU= X-OriginatorOrg: oracle.com X-MS-Exchange-CrossTenant-Network-Message-Id: c5b9602b-c087-4bf6-1800-08ddc2d77fab X-MS-Exchange-CrossTenant-AuthSource: DM4PR10MB8218.namprd10.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 14 Jul 2025 13:08:17.2768 (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: Ij79LgP74c2kackEXpl4pDig5zTe2zz2VwSlOpJQu8TTB9vEk4tGkOxe6csN5p+aiuQs6wqrkk1j3nTT+xGywCcwWL+kjbbuL4Ljr5AK6lg= X-MS-Exchange-Transport-CrossTenantHeadersStamped: PH3PPF1F3678C2B 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-2507140077 X-Authority-Analysis: v=2.4 cv=d9T1yQjE c=1 sm=1 tr=0 ts=68750144 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=Wb1JkmetP80A:10 a=GoEa3M9JfhUA:10 a=yPCof4ZbAAAA:8 a=Qz1AkeZg3oEYCUx6DssA:9 cc=ntf awl=host:13600 X-Proofpoint-ORIG-GUID: -TuCF92Au8yemfIICE3E8xgcdBoFZWbL X-Proofpoint-Spam-Details-Enc: AW1haW4tMjUwNzE0MDA3NyBTYWx0ZWRfX8FaCWI7VxfyB kxKRBw5nojwRmU2hJV2Pcvnf6eTJ3m9LNLpKFKdgEM02iH5vr/9wKOOq2XfuZocxLm3I99giOpU Mr+Gvk9ycGNNRGLZIEQ7MPzO9aScOVcPfYJAokUh8G275Am2R5zAvy6ZRkkgxAeq7Xnf62dgOAY iniHwmn8OXispEcXjl57VYoa3/yKbr/JHZaLGPrg7X5IAIHK4CoAN8gNWhuKnpLwc+9VBH8lcct 6idhJEhGmrFqCQywyp9TxAuSML+R+4md8guPVYZ/cRM8CEp1PaBEjngcduEDlVSYGhktV6hKbI3 FYqfxzgCnd/gCLMyuWjNRUPXykpwre0CTHBcStU45uJXqcDGVnMPHsDHUWcQkSdm+uFwpjITXzF MjS+Vfm/JZ3OBUAjP0kBsTyeSlY+WBubUSIZDv/2RACDQ3vkc9X0PSzwrHQ/l/dNHZQ+I3Ur X-Proofpoint-GUID: -TuCF92Au8yemfIICE3E8xgcdBoFZWbL Content-Type: text/plain; charset="utf-8" Drop the wholly unnecessary set_vma_sealed() and vma_is_sealed() helpers which are used only once, and place VMA_ITERATOR() declarations in the correct place. No functional change intended. Signed-off-by: Lorenzo Stoakes Acked-by: David Hildenbrand Reviewed-by: Liam R. Howlett Reviewed-by: Pedro Falcato --- mm/mseal.c | 9 +-------- mm/vma.h | 16 ++-------------- 2 files changed, 3 insertions(+), 22 deletions(-) diff --git a/mm/mseal.c b/mm/mseal.c index 1308e88ab184..adbcc65e9660 100644 --- a/mm/mseal.c +++ b/mm/mseal.c @@ -15,11 +15,6 @@ #include #include "internal.h" -static inline void set_vma_sealed(struct vm_area_struct *vma) -{ - vm_flags_set(vma, VM_SEALED); -} - static int mseal_fixup(struct vma_iterator *vmi, struct vm_area_struct *vm= a, struct vm_area_struct **prev, unsigned long start, unsigned long end, vm_flags_t newflags) @@ -36,7 +31,7 @@ static int mseal_fixup(struct vma_iterator *vmi, struct v= m_area_struct *vma, goto out; } - set_vma_sealed(vma); + vm_flags_set(vma, VM_SEALED); out: *prev =3D vma; return ret; @@ -53,7 +48,6 @@ static int check_mm_seal(unsigned long start, unsigned lo= ng end) { struct vm_area_struct *vma; unsigned long nstart =3D start; - VMA_ITERATOR(vmi, current->mm, start); /* going through each vma to check. */ @@ -78,7 +72,6 @@ static int apply_mm_seal(unsigned long start, unsigned lo= ng end) { unsigned long nstart; struct vm_area_struct *vma, *prev; - VMA_ITERATOR(vmi, current->mm, start); vma =3D vma_iter_load(&vmi); diff --git a/mm/vma.h b/mm/vma.h index 6515045ba342..d17f560cf53d 100644 --- a/mm/vma.h +++ b/mm/vma.h @@ -560,31 +560,19 @@ struct vm_area_struct *vma_iter_next_rewind(struct vm= a_iterator *vmi, } #ifdef CONFIG_64BIT - -static inline bool vma_is_sealed(struct vm_area_struct *vma) -{ - return (vma->vm_flags & VM_SEALED); -} - -/* - * check if a vma is sealed for modification. - * return true, if modification is allowed. - */ +/* Check if a vma is sealed for modification. */ static inline bool can_modify_vma(struct vm_area_struct *vma) { - if (unlikely(vma_is_sealed(vma))) + if (unlikely(vma->vm_flags & VM_SEALED)) return false; return true; } - #else - static inline bool can_modify_vma(struct vm_area_struct *vma) { return true; } - #endif #if defined(CONFIG_STACK_GROWSUP) -- 2.50.1 From nobody Tue Oct 7 05:24:07 2025 Received: from mx0a-00069f02.pphosted.com (mx0a-00069f02.pphosted.com [205.220.165.32]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id C469B253B60 for ; Mon, 14 Jul 2025 13:08:39 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=205.220.165.32 ARC-Seal: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1752498523; cv=fail; b=Z1/BRej3HEhHok8cyXJRkcj9AyXeRqvnLt7LQaTFqS19Y4z4H+eCCPcXfspg3r+hCrDjrObsEOY0AoeXMi3aKEyoOF0kfTiJW1+d9zc8VT+srPJr866GsC9BN6yxNbeT6Og1vpfauA9kyr5VJgGwtKh242HeRwuW879Bfx0HhA8= ARC-Message-Signature: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1752498523; c=relaxed/simple; bh=Uo+bi6QXgza9WJjTfZc0RF+dbA3NmMmzK8BlyRCq0IE=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: Content-Type:MIME-Version; b=MpMNrexuoa327DWZeLOk0AH6/WIDN9P7prdCEYxw4WcLWwr38z3R4TLlYS2uRG3JRPeZWA7t7efQr2EBUw3hYXpRyWEt6sGV/lZj7FdkfqiTU86G1LXtjO6sYFvJjwdxo1V2hMJPVpodlg2m/xMVJsGTQzt0myauKAo+IXN1Mto= ARC-Authentication-Results: i=2; smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=oracle.com; spf=pass smtp.mailfrom=oracle.com; dkim=pass (2048-bit key) header.d=oracle.com header.i=@oracle.com header.b=fzIZ8aMd; dkim=pass (1024-bit key) header.d=oracle.onmicrosoft.com header.i=@oracle.onmicrosoft.com header.b=t18R3Jgu; arc=fail smtp.client-ip=205.220.165.32 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=oracle.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=oracle.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=oracle.com header.i=@oracle.com header.b="fzIZ8aMd"; dkim=pass (1024-bit key) header.d=oracle.onmicrosoft.com header.i=@oracle.onmicrosoft.com header.b="t18R3Jgu" Received: from pps.filterd (m0246617.ppops.net [127.0.0.1]) by mx0b-00069f02.pphosted.com (8.18.1.2/8.18.1.2) with ESMTP id 56E9Z4aI001230; Mon, 14 Jul 2025 13:08:24 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oracle.com; h=cc :content-transfer-encoding:content-type:date:from:in-reply-to :message-id:mime-version:references:subject:to; s= corp-2025-04-25; bh=noXeocpVPjMGKvtPp6koEjzZ8lql9PO9RKmZuCFIAnI=; b= fzIZ8aMdmCVWUws8S4s8AS4xlDnidZUwINJBl8eizfXk/tz/6mWEaeMzVyUY9trF LeEAZ+X452j4NosY+EvETfvwvwu7r0PakpwPuXYKW5BnZhfzMtrrNa+jUmfqDlC5 xaKMpgxEl/iqPcFQn5m7BOpPzfPw0GJALi7Sjmy27OEOZ0YhyGWLb+n2nhKNxf0k TMa9XRfv0v2Se5+1Oqpk1iacc/yHFDQEe05lwpXMoi1V8h7EO576JjAEEbO+9doV ukp0kZJHOpdbfi32W1n5BcBxb1kFxVWP1/KgnFSTWBLXIMKR4bAqwke5R7R4DSsH SiHsm1hUZ7mjkNIPpoPc7A== Received: from phxpaimrmta03.imrmtpd1.prodappphxaev1.oraclevcn.com (phxpaimrmta03.appoci.oracle.com [138.1.37.129]) by mx0b-00069f02.pphosted.com (PPS) with ESMTPS id 47uk8fv2me-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Mon, 14 Jul 2025 13:08:23 +0000 (GMT) Received: from pps.filterd (phxpaimrmta03.imrmtpd1.prodappphxaev1.oraclevcn.com [127.0.0.1]) by phxpaimrmta03.imrmtpd1.prodappphxaev1.oraclevcn.com (8.18.1.2/8.18.1.2) with ESMTP id 56ECA79g023939; Mon, 14 Jul 2025 13:08:23 GMT Received: from nam11-co1-obe.outbound.protection.outlook.com (mail-co1nam11on2048.outbound.protection.outlook.com [40.107.220.48]) by phxpaimrmta03.imrmtpd1.prodappphxaev1.oraclevcn.com (PPS) with ESMTPS id 47ue58hk36-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Mon, 14 Jul 2025 13:08:23 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=KtrSBsDc7tyZOQotNPR8pv43pS7iePDyWH4DvylcaKafRo1I3n5P/dEg/sdX8adJc5VUvSiAFUSnThPQ3BDXpTe1qmBDHmPN2F0i9j7X8pI33gaGzLSaWAvRdMCY+8vMwX02gA/svFlHGu2zmAu7KuSmtwPNwRpUs0lvShKeB+D2SUK5Bd2GLZkHsM0q18Bhp3WvaXskFGaBik9O5H6NrGp3Lk7LdAX1yr/6iAVUjw6qfEmkU57EfUgfoBElrSHPhC2GkhMWKob4fUMHAvedTKd50ZETJlhzoRN0YLwlVfsyD6BSGFxSGZ9xjDn4DV7VnwoAl9/xk1qTC7P9oOv8mw== 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=noXeocpVPjMGKvtPp6koEjzZ8lql9PO9RKmZuCFIAnI=; b=yuFjM3o8uGXhN7U5etgh9t8b3B9qFV1p0tjDmBXq6yt1P5nNjH+VQ58nD9wh4xdRTU5p3t2GTLydHaR26a9f+KdNgpBaMtZfHh2iAGcg9Vj25sHamUmRg3OGTF8AxLqQG49NItpokTbcx71KNPA1b4eqASb2ienDsRg3brnhzCTj2rJqRsMBKYHAeECuSJwvfSbm7gr6GO/qkXAlBK7oPBPP/NKrV7AUKCCR2N7jnTDrIVq6jPMCSFUHymMICOAnroNhHVJJoS7wIHzdsjUBIUjinSPbTSQfFzQ5f84fRmot/0EJbESiNOGR/OER2KgTPZU9vtBgf/2ZlxuT2UkWXw== 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=noXeocpVPjMGKvtPp6koEjzZ8lql9PO9RKmZuCFIAnI=; b=t18R3JguDewl3nqgukJ+SQCrDU69NsTYjZ92ykTxefXxjITWmnMPfYnDjQGcxwvzMTbmqABUiVl8KYEfxBbQknp6sIoOZRvtsDzhswODuCCakJeOJ5TMOCCsYNsvpFHGCIWR9vlJ//nh5U6ZV2l94wkwVjNr00fZ+oYSspGwzJs= Received: from DM4PR10MB8218.namprd10.prod.outlook.com (2603:10b6:8:1cc::16) by PH3PPF1F3678C2B.namprd10.prod.outlook.com (2603:10b6:518:1::78e) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8901.23; Mon, 14 Jul 2025 13:08:20 +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 13:08:20 +0000 From: Lorenzo Stoakes To: Andrew Morton Cc: "Liam R . Howlett" , David Hildenbrand , Vlastimil Babka , Jann Horn , Pedro Falcato , linux-mm@kvack.org, linux-kernel@vger.kernel.org, Jeff Xu Subject: [PATCH 4/5] mm/mseal: separate out and simplify VMA gap check Date: Mon, 14 Jul 2025 14:00:39 +0100 Message-ID: X-Mailer: git-send-email 2.50.1 In-Reply-To: References: Content-Transfer-Encoding: quoted-printable X-ClientProxiedBy: LO2P265CA0017.GBRP265.PROD.OUTLOOK.COM (2603:10a6:600:62::29) To DM4PR10MB8218.namprd10.prod.outlook.com (2603:10b6:8:1cc::16) Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: DM4PR10MB8218:EE_|PH3PPF1F3678C2B:EE_ X-MS-Office365-Filtering-Correlation-Id: 847f11a8-2683-428a-872f-08ddc2d781c7 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?7qr7ZWSgIMnjlOPXfxUXwAmDka27db5JB05gFbc+ovFTDLUiwesoXmS6uZdW?= =?us-ascii?Q?GCeUYqEidyJ5iR7cWDlfNMqLKNaqguzM/Xav552IKCHkeuC0kgI2pt0gTrWT?= =?us-ascii?Q?Pib3Dc1iuin416rkUYpyYIJz8H7+fqnetVrgg7l+UPuQXzqhgnV8g5CUE6wH?= =?us-ascii?Q?uv37S2S/UHn3aHIaTLXyVeW44TRTtme86G6vyZyY6uN7Lp6oIIy1wL1CCWJA?= =?us-ascii?Q?ma2bloNQ15tXXNMWUBbcNteYWzqBLHrMVzqJuq+25eD6G4dEwJIaB25AhlZC?= =?us-ascii?Q?xnr0V5NioSAknUFP7gaa1QBHVTCCxrzg+I6adWDpPTZ1El82yD1V1+TCp6Ch?= =?us-ascii?Q?ZVKx2wIToS+FYr9C5zU5eK0jTgI6pykKDgl9o4hqo/ifhzZAPGeXQbuJsaIb?= =?us-ascii?Q?0VtPHDaG6BFxf1LazKbmJb07a9mSKCdVvc/poH+4ehydhQHBX3U6q5Jakjqx?= =?us-ascii?Q?Vr0+YRTVWc9sfNJ8felXh9iWhWPTTJ5+QjAtku/VwmTZ9TJTAPF+i0vNBPQs?= =?us-ascii?Q?fpy/6Pw7UbEitkmICUL2tjxRowhA18Kdz+X9n6ytvma+hcwT+EWu8CvBHCaP?= =?us-ascii?Q?DqxUULTFYzFLG5VqpTpUBivSkzlyyxzxSLD0g4EsIhLQjKzVLRImda2/rrxI?= =?us-ascii?Q?r36snIGg+gYfO+E/huDxMM4cxV0jyPzqkqxSepvBDyi8FeAIcXS2a3zAzW1e?= =?us-ascii?Q?ITMpZy9gEPuNA1B4Zux/rdPot2/EDyGip6xgI5mVBmoCVwnSpqwSB89gmIFd?= =?us-ascii?Q?pkq/EeS4YRTL81IzzZWnDjNhtklX8Q3WABEt609CeU2qBMTrxwjefOkTgbYD?= =?us-ascii?Q?1IFZA1EbA5d41X8OzCykObQxn3pWDnYBJMX1lDAksDdrutBSN1ab6eHlnC7+?= =?us-ascii?Q?mqnaK4cOilim7Cm3I49LuUThljt5ZeIk731VnmUnIGn06ApFACl+A5x7hM/r?= =?us-ascii?Q?k7ebCQcv9WeavrAp5kZ3WqqMUv7TtwXdRbO51bJIoNtzxO/Pr5qHBKpF9htw?= =?us-ascii?Q?DjtPbm9cKov8DNTHej2yHwHHN1aHsXkAKACuIQ+T0lwckzN5ec/BbF594xcL?= =?us-ascii?Q?lBGjK6EWPJkkXsujqcv/BWVxNeQtfYnv7rxwSNKTPFLfxlzGcfeckICjsxwB?= =?us-ascii?Q?/cm/+IjeuVNJSkED/F0800H/+piREV0CQrEYA8GmOFZH5NopGtzdeFZWefeq?= =?us-ascii?Q?pett6RHb7tK/cWaEYAhOfAIL3XxXmQgYJB9IH0fIQOruk+/j/1ESk/Vt3jCj?= =?us-ascii?Q?0M39CHI15x4kwUhw6nQYEo0TioAzzzrewgttUogKdVNGG2mh5vp/dy69GDcH?= =?us-ascii?Q?Dp2L1vsFHCH+mOJC3aacDkSj3uQx/QkEP3zCxhpU3zjNpZtduVcZ3Il1kJiq?= =?us-ascii?Q?K0Pf7CEwthTln8RXzaqAfR3Rolv070KwmgISxoMk/lASlnqRO+tKFtA3X+xu?= =?us-ascii?Q?Fvp9Do5tjnk=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?D84YDAyzWdlewl4hxAslYIGPKOMayttaUD6FOe+HobRo1PJq/O6RqrODJp2b?= =?us-ascii?Q?knw/8cmet6TsEOaQau77FJvOLZZR0XL3kzWOy4whwYOidqntXVqTWvdoNY7+?= =?us-ascii?Q?HVDksxF4At2goTDG4q8u1WOxaF9Tj7tjn7N0F0sD1NDwDzvMYg63Xolv5TPH?= =?us-ascii?Q?UHiTVsXkBFUgd6L3RO4UnOOjAUlQJuHh+M0fhYvzwlVlndYac0VyLZzJJtVW?= =?us-ascii?Q?wBxVERXmwZ8Lu61NLBIc5ET5dxyvJ2AqNz560vdke9u7lzrmtBoOrC4goimY?= =?us-ascii?Q?QqZKkWpizknTJMbmeXG+CgsiXXLr7HieImVbiHX8PVCInVlsZ3YbdpJPsH3Z?= =?us-ascii?Q?feRxNSgbOLtsKttl1k+AWkJX0hlCYxsCjzUZeHfw9l+ZSNr03tcFNvaLOfr7?= =?us-ascii?Q?jouvnd6zTyAVdenMxGv1WcDiJ692clKc4iFC1JxUpHMkldViSHJ9DAHIhzHj?= =?us-ascii?Q?hmuQtIKs5Kf4g6OJdNccIFPP+/8QtAYKayCNdMSl6E8I787RuZ1atiLDtpqB?= =?us-ascii?Q?uPZfmYddDCTMnw/Z9lFdBxFQZDgLqEqEA/VSyquTRnwYRUhyCIqjXwATE7T6?= =?us-ascii?Q?Wf1+5gTj48GF2fyI+7QppZnI/VkaV28QCDfNFZkRvta8MNClLPubx/25eTH9?= =?us-ascii?Q?c/HC0R9wYP2SexDFMNjeDzUxIKVyapSzCpj7FoL05PA8hR5W1fs0mN1Csuwr?= =?us-ascii?Q?SFZkHlRc+xR9FgCKWpWBQVEZ5sFRrS/mli4n5RtKh/RUHoKfvtHya1o90dct?= =?us-ascii?Q?QZwxFDW0KIwfYAJTbHH1UjSuLSYrzlf7LO/3zPR+r+lv7cCa6faMbn4SbqiS?= =?us-ascii?Q?QdpojY11IzFZ7lzFtQgrUvExGa68DguDxLFBuzVO95fusl/pcpSD4A3UlTa7?= =?us-ascii?Q?GM+xsGVyUUxWM4hPfnkCq1CIhzNRE7DbcfLT/6UmhSpdTd7HVGfrKq7KnAbi?= =?us-ascii?Q?2Pl3QeBj7C7MwJPllJ6G58EXNtoGYWNMp5ixCB3cm2mfzFEoCdYknfWuepDP?= =?us-ascii?Q?WMeY3YOPiuxkk1zOouBk5PUWlxu9Qx/MIe7jVGD+e4LEvB43fqOdJtu9XL2R?= =?us-ascii?Q?31keqdDNLuWSwW4lJ7GISAx1zkgrB9oD/V9dG2MbYBYj3/4mOyL8kXO40c2C?= =?us-ascii?Q?jHlmKNYuk1w3xzSYXwmzozDUBzAYT+UhY34VrrUL3l+gf85QIyKSom0T8WDW?= =?us-ascii?Q?JVeylPPmNdixaRIMNZ2sCVBnL4z1T5VTQeuWHBQUU8t6R9MBIoTskNlkk4nG?= =?us-ascii?Q?Thh11ppdAyHzCePLWZZ03aam2sTvpfZ0h+MnyHsofRkt2xtWDJryYe8jsDAD?= =?us-ascii?Q?qWJv2HWfYf+RHSjWkTEHno/j3RHPHyMFfwJffzYL58uUJ6qM2M2D1MdwzxNF?= =?us-ascii?Q?W7yDOojIgvSdJny6JsS0G1KBbDqsaMaBLHospNcTLevgxKDo+CAPy/XRZTve?= =?us-ascii?Q?WtWYRzWoBvviayQoP0V6e5FOrkKc+K1UzOmePqWVdQfUqdFbRV1RobsaH0cS?= =?us-ascii?Q?znNLh6V+jSYmgr17p58A6D7XbtCo020e9xmY7L5kpZ34bsUcWnBN1Cc7l+Nk?= =?us-ascii?Q?eD47s7BygnfsQw2av4zJy5Pcz6siCKhcnjEO1fvli0Qkx6xuULNVklhcFpP+?= =?us-ascii?Q?Ag=3D=3D?= X-MS-Exchange-AntiSpam-ExternalHop-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-ExternalHop-MessageData-0: h4M2GpdEqeI7yEXp3vqGAXR3ZYKV/YL2KlrcWINiDgmsgf8TBXbl/UZpnyvvixyLAV4tamNpfHSgLKFFvwDNuQRWZNVsUGhFX3UoBHvKmfdpcyuT083A/VHuEgsS2IvS9JiGj9G08q8uccnIOmBm4Khf5OlzVmkDjstCs0RqWkRvctylaW2XiRWlkbmhwufaZ/L4P0D1ZHwqWKhuYQ1JFOltY7y3o+NItFxw3LBQfH33C9kPHdEOkSye8v/CPvhdzcdSuA+jNNVlD+XU0F1c58yLqOZCWCCMSKEtMHGragOHom2NltMGqxlFoUYG+PdgMfSt/M9WAof9yCFBC4lfrV9eHUukIAqr8Ndd+moRWz4Evk7kFiNWKZdia+mR44UNau4pamVT3bBwcx8NC4HRgq4NxfhhS4F3dKlVwFKhLMoJpDgTO9mVJdlwSmWZARiVjUQ2PgmwreveS7A0r9p97Jzt48WNzjNz6mKbAzcMV/bCz2TCIjA59Y3JvSD3NCMCns/W7mjnas4ZBaLvPyeWvOwkGD3vV/dbFzxj6+l3+kr29rInvdVC4y4VnPn6PXWJRmJu5pVbupzNNb5MmoTkKTnVEZ6gpZUaE2EHBOSR99I= X-OriginatorOrg: oracle.com X-MS-Exchange-CrossTenant-Network-Message-Id: 847f11a8-2683-428a-872f-08ddc2d781c7 X-MS-Exchange-CrossTenant-AuthSource: DM4PR10MB8218.namprd10.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 14 Jul 2025 13:08:20.8157 (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: 6lRA1pDC1xa5JleV2oumimXUi1+OpBDAUgXrneZMMrPd95KempL2tZkovdccBUsYnrF0RDjNkQVct0zTIVpjKz7P6vhwal5zLil/ZxC09mQ= X-MS-Exchange-Transport-CrossTenantHeadersStamped: PH3PPF1F3678C2B 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 adultscore=0 phishscore=0 spamscore=0 mlxlogscore=999 malwarescore=0 mlxscore=0 suspectscore=0 bulkscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2505160000 definitions=main-2507140077 X-Proofpoint-ORIG-GUID: fxuCNbKFnwpIuMZpkHoxejQ6bJ7bkcGF X-Authority-Analysis: v=2.4 cv=Of+YDgTY c=1 sm=1 tr=0 ts=68750147 b=1 cx=c_pps a=WeWmnZmh0fydH62SvGsd2A==:117 a=WeWmnZmh0fydH62SvGsd2A==:17 a=6eWqkTHjU83fiwn7nKZWdM+Sl24=:19 a=lCpzRmAYbLLaTzLvsPZ7Mbvzbb8=:19 a=wKuvFiaSGQ0qltdbU6+NXLB8nM8=:19 a=Ol13hO9ccFRV9qXi2t6ftBPywas=:19 a=xqWC_Br6kY4A:10 a=Wb1JkmetP80A:10 a=GoEa3M9JfhUA:10 a=yPCof4ZbAAAA:8 a=HR7nC9x9inSF9eXenEgA:9 X-Proofpoint-GUID: fxuCNbKFnwpIuMZpkHoxejQ6bJ7bkcGF X-Proofpoint-Spam-Details-Enc: AW1haW4tMjUwNzE0MDA3NyBTYWx0ZWRfX/57F5LMnx68e 2wFJHlpxpmPvwUY2sXqWgj2CMyjVKlGayOCOwVIgeMxvCltjvoCfHYQpZUJAjiDk8FaNlHmRJG7 30EyA+RD+l4H6w1B9d26rJWJGA+aajbYvPoHyu/mE7U6YKpyl3H10vo/04g00RHysYqGuyB+Dup 4eLllEdTe+pS7BgA4fXhF9bSKYXtvK81VCdg7kohz6Ftv+I/ayBHH8KUuNkU8zgErVDmE6EFibH nl/2yBCWx88q2NymbpxdY4xtxT8oY+s0IfWgrVze39gPz/qDh6KPpXpTHDhFs9tzZ2D0AamOMwD VDr8W7DG/0QpQ+HsdVGkPjuaOnrLCNEcbBKlxg3VpM6GY199MTTW9S01u0SNANevBPK5bHKC1F1 gfBlF8NCNLyKGywPMIe3HQVmFVe3kDC3mymdWdT3K1B8f4uXrNsbjyPvOtP8YAIdLRanOoHe Content-Type: text/plain; charset="utf-8" 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 Acked-by: David Hildenbrand Reviewed-by: Liam R. Howlett --- 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 =3D 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 >=3D end) - return 0; - - nstart =3D vma->vm_end; - } - - return -ENOMEM; -} - /* * Apply sealing. */ @@ -184,14 +156,10 @@ int do_mseal(unsigned long start, size_t len_in, unsi= gned 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 =3D check_mm_seal(start, end); - if (ret) + if (range_contains_unmapped(mm, start, end)) { + ret =3D -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 =3D start; + VMA_ITERATOR(vmi, current->mm, start); + + for_each_vma_range(vmi, vma, end) { + if (vma->vm_start > prev_end) + return true; + + prev_end =3D 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 From nobody Tue Oct 7 05:24:07 2025 Received: from mx0b-00069f02.pphosted.com (mx0b-00069f02.pphosted.com [205.220.177.32]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 0D78F24DCEF for ; Mon, 14 Jul 2025 13:08:37 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=205.220.177.32 ARC-Seal: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1752498520; cv=fail; b=F4eFDxrf72ZPvF0v/MEZcdlgYt8U9wFosnflQYGSJZ5CKH5uCcZ9BWJQYvS7OVJhRUK9tvUxGdA+LFDU9My235F4X+0h2gGpUO+Vk+gXbmf7jbNqUWYhbuq+5roI+Gb7bIzBKwSOOW2Jlogw8a24TuYgNM3YwXEl8EVPood2Y1o= ARC-Message-Signature: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1752498520; c=relaxed/simple; bh=RUtMvXsBGnE4lU0pGduMEd9TkHNKL8IIzbW55sP3FOQ=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: Content-Type:MIME-Version; b=GEYIyGFTp2IywLz3JtFMUJS3kQrxtHcxt6ED4vCc19j7TQZ7IxIoBGGv40v2Vp8A8O13w4I12miEqMmUjRfL8OuPscqcQQ4jhkEhLhwC2tihJ/HR7gH8jW5d/RITrOU8WJeG22fOYFby7poqmjoMlgPHS3aatbKnY7MxCMEmbuM= ARC-Authentication-Results: i=2; smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=oracle.com; spf=pass smtp.mailfrom=oracle.com; dkim=pass (2048-bit key) header.d=oracle.com header.i=@oracle.com header.b=DDTE96Kt; dkim=pass (1024-bit key) header.d=oracle.onmicrosoft.com header.i=@oracle.onmicrosoft.com header.b=Va/pFHS5; arc=fail smtp.client-ip=205.220.177.32 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=oracle.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=oracle.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=oracle.com header.i=@oracle.com header.b="DDTE96Kt"; dkim=pass (1024-bit key) header.d=oracle.onmicrosoft.com header.i=@oracle.onmicrosoft.com header.b="Va/pFHS5" Received: from pps.filterd (m0246630.ppops.net [127.0.0.1]) by mx0b-00069f02.pphosted.com (8.18.1.2/8.18.1.2) with ESMTP id 56E9Z5kO031168; Mon, 14 Jul 2025 13:08:27 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oracle.com; h=cc :content-transfer-encoding:content-type:date:from:in-reply-to :message-id:mime-version:references:subject:to; s= corp-2025-04-25; bh=OCOmtQDm5mnrBtuva7djYlEPB0CMVcLEU+pv7oWaA1U=; b= DDTE96KtAJuNL9bg1g+gKxx2FusZpaRWwCpGfjDDDp0VWKL2e0Y62BzI+zw+Qshp o3loS9AcJT0DbT/ETPQGtxZGhAn5ZoCMeSK5xNxQz6+fwkxJ6amboLI2t6RN61Wd LjbPBSLh6zgQVEAejWv2QJucJ+uBczSstyWqf0fP+0L556j4wlzN+OrHDdmwmJ1M DeMvyC+iiJlHesW4pJRp/rKrko9d7CAY1nHijNHaQRJcYa/97xJ3GrAvpZnwXK8c 03/e2hEileINeW49D60ztfbq9P62PgrrrqaNU4qAeyY+HmuCDi6bGavP5zLa3a0Y UNqWxLl5JrpIDKoQ6Z49MA== Received: from iadpaimrmta03.imrmtpd1.prodappiadaev1.oraclevcn.com (iadpaimrmta03.appoci.oracle.com [130.35.103.27]) by mx0b-00069f02.pphosted.com (PPS) with ESMTPS id 47ujr0v27k-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Mon, 14 Jul 2025 13:08: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 56ECDilU010889; Mon, 14 Jul 2025 13:08:26 GMT Received: from nam11-bn8-obe.outbound.protection.outlook.com (mail-bn8nam11on2079.outbound.protection.outlook.com [40.107.236.79]) by iadpaimrmta03.imrmtpd1.prodappiadaev1.oraclevcn.com (PPS) with ESMTPS id 47ue58hfcp-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Mon, 14 Jul 2025 13:08:26 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=P+YclIMRziQQmPcYEVX8fTOU5S3tg5fsIrthR7odycNK/CmRxCrOxhJr1rvnNeBi4vh7i19z61CXC42i8cxKRTKe7gUxLKW2DIX6IY9cOGyLVlVP/zAadFTQN172GHhanQtCQQa6fUI28e/ZfdY9TjzlXZojrvaCUtW5G1xVeFuM5UA01WIszjA7TwH8fz6bnJ8VT1xATX5s0JfYCI+VQ7KJVYqKydVC9HFBkvEPqxM+acWZoY1dsU/KRrXhFSuhMk3FUIdXcG3xv83skr/bkd+jULVTeFMfvFM8K/bN5KyCpDhDIXQlKwD9NNKFbfxv0BgQ9SDdKyvv0eLTzMC0MQ== 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=OCOmtQDm5mnrBtuva7djYlEPB0CMVcLEU+pv7oWaA1U=; b=jjZptT98QcV4zBRs3ch9Ij586vpHWovz6HJCaIg/1ftgQXcS0whr4lPHlav0BoiGj+Ah4anx0r7e7DiSNG+Xb0yj1XVk28x6jw7J9yot3mLAo3Ss7ZT6qh9in69U1w2OCs3ZKnW4jTtxBkqrzoNjdrukRyLU4d/36RKOCBKNVqigvfKtCnPumOkS8hFC8QQIhqN95sI28dsOGrgZLxsB7O6unMqLpqENiItYieUEot0k9UwLGiMzeGKS/zE82KyjVTFzYvkm2ZBe49S23GnEsSBfCAX7mXVMcPPlNf90yU/eiWHl3Z5RBPWJ3lHMHg1iMBIFymfBAfS4mT1E4flSvA== 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=OCOmtQDm5mnrBtuva7djYlEPB0CMVcLEU+pv7oWaA1U=; b=Va/pFHS5qVkkzbC9Fb7bnIbpT3vXBaUAqKLhVy3GVkT6qGM1xzEqzJ4WCAwHXyDvTcxnUdnNR9LCZzISb0xJbjGrJrE78rBZkgLPHUDVkUAtU5ujTzeqAyipvtsrTQrYitqhYWZYSmxc3pYoJ5fEnx9yw03+VEDR49m+vgZIbJk= Received: from DM4PR10MB8218.namprd10.prod.outlook.com (2603:10b6:8:1cc::16) by PH3PPF1F3678C2B.namprd10.prod.outlook.com (2603:10b6:518:1::78e) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8901.23; Mon, 14 Jul 2025 13:08:24 +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 13:08:24 +0000 From: Lorenzo Stoakes To: Andrew Morton Cc: "Liam R . Howlett" , David Hildenbrand , Vlastimil Babka , Jann Horn , Pedro Falcato , linux-mm@kvack.org, linux-kernel@vger.kernel.org, Jeff Xu Subject: [PATCH 5/5] mm/mseal: rework mseal apply logic Date: Mon, 14 Jul 2025 14:00:40 +0100 Message-ID: <7ff13c42220bc3fc19610e93d5b73637146aa7ae.1752497324.git.lorenzo.stoakes@oracle.com> X-Mailer: git-send-email 2.50.1 In-Reply-To: References: Content-Transfer-Encoding: quoted-printable X-ClientProxiedBy: LO4P123CA0442.GBRP123.PROD.OUTLOOK.COM (2603:10a6:600:1a9::15) To DM4PR10MB8218.namprd10.prod.outlook.com (2603:10b6:8:1cc::16) Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: DM4PR10MB8218:EE_|PH3PPF1F3678C2B:EE_ X-MS-Office365-Filtering-Correlation-Id: d804d4bd-04c0-41a7-8e9c-08ddc2d783b7 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?fYGFeYj8VrguCAirlYV2x/+WFK2NjX2Fxj/Fw4PrQ/QRww915l/0jXzY2oil?= =?us-ascii?Q?1PMTnhdeqs7JAgcQl6MZ3EyJIZCGnZz7QiulAqvOGT6FZG0fodwfdzB5899s?= =?us-ascii?Q?Cz7LdI7rz2JN//RwVPDmT/f5hDtHDoQRQNCBgywMo/1U3TNFcZOTjfEwNDVc?= =?us-ascii?Q?hgBSvbfEXgWiWqBqR8K7l53+SR4TCeQ0jxghM0oP4kZeWm3/AhGO1uyEgO7R?= =?us-ascii?Q?5SwHXYlooyE4z9iQ3bL+wQzccTt0LiMKD/EvjEPTtYe6ZOaXWpEet8xjUikg?= =?us-ascii?Q?ek820Toj1JdxawHy8XvZifwscG8ldp3/B39WISkU8HNE5l2iBslkmSh1YdGA?= =?us-ascii?Q?mGPjGsLk75uaA5jUUVhIZ4cg7hV0fqcde2YzzEpPKLE+h0RfdcwVhehvcUaq?= =?us-ascii?Q?0CILH0Ob5RH7IXWE5N4K0np9zx+EBPQPi9hkpZp2d55j4Mek4rFBhEYDAVWE?= =?us-ascii?Q?MhLrCJE7Nk5JFU9nMf0sf40ryaZim/LIT6CoZFM5fZG9mdJGo96jHDhLGW+k?= =?us-ascii?Q?Ja8745hCnLCzbENXsbwG8KcinIk2me4+b3e41JMdbK5n9so3X6CXarmScxt9?= =?us-ascii?Q?nVYfFi841HVNoiut9Em64dEsyFppl6thKDn8zcn3UER/m3GMHvLtd4fDD4kh?= =?us-ascii?Q?/CUSL8hyWuaMA2UTbqtwkHTWLUD88R+397YFfQ/jimzJyutuOEFATcWvtfw3?= =?us-ascii?Q?t/9sJJG4E5MSNCRMVNeYjlA9V7uSHeitZyZp40w4Bv+veK2slvyOkt80wFeH?= =?us-ascii?Q?MH0ay/gipnxnGlQw6gs6B7SwKOq0wCMrbhdLkNL7GkknYeayD6aB9RIH8+UA?= =?us-ascii?Q?SksRu05KmCga0Df2sTJGHBBnn2+9tNP056/YRMDlCXFLEAzU45nyZli49YQb?= =?us-ascii?Q?20kI8KfC1FFo+degbgOiwcZbz/w9lLgGRfP4wvtTunSs9GY1gOZ/9344xTL3?= =?us-ascii?Q?ENd3VojVxEhJOG31xGVjfdaNfNGGPJkk809evPypJ2yaoxlj4+Yz9wpdP8F7?= =?us-ascii?Q?4yeXvQtMoVybb+Sf+mvYsHn15qb14DaFpMNFMl4AGB8yGIo7HEiuVr9YA0MA?= =?us-ascii?Q?Qp/OlVidxKuYaoPWVw++qw4hbgyz5FqobqY86mi8UrsOAWOaizNu2stuM8gA?= =?us-ascii?Q?MBGYmoZKWaaBspXUzOSRki/3jacUPWAyUDDdMhJNp3r/4NmeZiyiCFmhvWBy?= =?us-ascii?Q?WH8kxL+l4qcOJ0ndVHlfsZmri0nsXkNLiTjXk+Y6gmFmHCR3j4MKD0Gev4SE?= =?us-ascii?Q?S1S5Wz4wBkCstHRF1lLF4+eEMHMYa6aYJHCEGkFomtf6lE//VphsoXgpiDum?= =?us-ascii?Q?EsMsUgh8gMl1KG0hgCCS58E9yKYA6S4vSi0gMFaN97AnmElv51Q21GQQrudB?= =?us-ascii?Q?LtwJtR6FvbBvqm6PFNByH5QWfTu4hnmstNsAaagCL14bSGtuXvBzXHcGWQKe?= =?us-ascii?Q?hhSKlltm2lg=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?kKq9ZX3Vz1l3HwK1KW6EMmopCMAbXHE6B2oQblaKlQK36DbmnSQ2f1QjxAum?= =?us-ascii?Q?KaDRlHkKShX8kueTV3XIme/QZWv5Uwcgi0aB2vb8IvxSWMsbBzng1lYjx39L?= =?us-ascii?Q?NiXX5MxLyqs7Zm78nmAHVjrvbf1QAPqFKWKmCfvpDm+4QPZgQtBqOIbRGXr3?= =?us-ascii?Q?OXSFMgARIubfG4/GOv6jFi8WsXT0mswamZVN0iw8uXqVe4CxwgOVWvbOZhES?= =?us-ascii?Q?OvRjgSc+2Cl2S0EWWscOXuQG+qgfDOrQAld7dBqt1CLB3qt6wCKNVBBFBmQR?= =?us-ascii?Q?+C0cHSkWjJpI1j6mYt+L8OG3INRAwSGjdFYm2Ks7cohZj/QBaBCOqVi8U4j+?= =?us-ascii?Q?0vqKXny8Hy1tiyXnTJDdtZkIoZTlsL3qqQ7X8SGbrjNoR2vmVmBO6ZVO7zpr?= =?us-ascii?Q?OE3pp6JxvdbZCvIU9txKyjUrnyqgoxZu+KbMH9/4+N8eVRw+RocQKlYe9O6r?= =?us-ascii?Q?j4QJgSRcDUvTAfZkaGOCny11aXGepnbsq7lfYHceS2/aPse7rdO9jhCxLsQR?= =?us-ascii?Q?v9vowdFA57xYSjqjAeYqagqVb0a5bo4ps3mssY8aC+orTk+EsFEsVRVSRgz7?= =?us-ascii?Q?9bLiEHuvkghXN/VGRCQOhYMaIRqFY5VP4nEdLtpZO52UJeX+ciPGe1/STRSM?= =?us-ascii?Q?3H3hk4PRZZ1Si52p6i8P6X8qb002XW4D7SMp/Z2NMhHCNTsZCa9rpnaLCqen?= =?us-ascii?Q?+wzKEM2sWz8Mjojj2NC1mutv2m47mJhEWnEgCFB8cgzW/qeTeffDnrgDIHOk?= =?us-ascii?Q?B6BEEYxhkAEA6DMfnLgkyBJOCfC/Jx1ZtD6SnV7yVvmABKUAFJeNSRWPtl0e?= =?us-ascii?Q?b2d7uvuFzPlGeZxq85pMevO4X2WrfVK1oOoFN+6qcE5kYqWbvAz4t3BWRCxl?= =?us-ascii?Q?eMAbXO5S+f9g5U6irct9fY5nUlPRUz5ayCh4kW6rMAW4JBNZ6LczOd8StOGq?= =?us-ascii?Q?A0rDHhL9l1dqTcrnVeEzbadtH9WKrlQiw+6YNKVU25Ld2gH1sO9nvS2zzRY+?= =?us-ascii?Q?sGIpXMZUx3lef3DSA1ZyI117/TsuQEHdDeufZ/Oy3fIrDBrYLY6lbU3J6S21?= =?us-ascii?Q?1gW2LdhXRXYwIVzqU/7SCj6lpgbmUbX0HY8qXBl6/z3Cfx8ZffOPStPrdvT3?= =?us-ascii?Q?mdnDLuvdHQ91Ln4RT/ksXszbZJg31cYpH4UXNx1LbZHqzjq2CuGmOvLLm0Mf?= =?us-ascii?Q?UKv2BuUR9RJ37jX2KXZuRA/nQ2+6vRcdevM/cr+QDI5UTztzSjXBsKF1Dakq?= =?us-ascii?Q?xNkYMQaoBUeMNBI+CWqgMOUOVI+QrEmX+PBtgD0whXV3kWAbBiHhOu6jfpsJ?= =?us-ascii?Q?rVKONgYJLrjEylnPtzjkX1kKOKwr5XKxe3FWJU8MvBahx+GSp0QeMeh+XC65?= =?us-ascii?Q?kDxaJKhQTjfjC5RzlBGS7EiH/bpL+HGcbUjnOQW4taUxv3n6hCJCjQhOL4Rk?= =?us-ascii?Q?OJbopPPvqkNvNJk9eg4TEhWXVxpWvE6Flp5KglB0Kfh0TaTUvosbNnNhNz0i?= =?us-ascii?Q?f97x6wxlwJ78MNeYmHBcrsl34sQcIGKqqzedZG//47Zlj15m+cTMPe4y+zPF?= =?us-ascii?Q?3L+Tcrsej3rHxy7GkubYKDXMevVL2WBMEIssJYk16L85DOG4uU505Jgpa4Uh?= =?us-ascii?Q?cg=3D=3D?= X-MS-Exchange-AntiSpam-ExternalHop-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-ExternalHop-MessageData-0: Lb//OEi3ysqtbETxr2usS3TRZT4UwqYLMWdYtpPkTFGHXl4109RuqmIfVCM2MidSfqays5tVgJDBuN4vUQq4imQBqR2W4kQHIEEtEMjSYoy6yMLxh7HH/1ZHtgt481mNmFFwMyBO9S6sdm+u24djzaOMUonefPOeGrGaCmFUfkN+M6taTlCnYRRy6PVX2NwOAKQD/dwBUHJKYeQaKkPaAHO9Yc6Qm9DfRlyq976Q1fMyChb7yNTU03Y8wgbPPwVnwNlu5zQPKrUtQ077vMxAH7x1bnKIVWPxKilztTBv49L2RkzHRJ3Zhp3gb6XuceQclgDEkmNtmQyaT/cQW4e6MVdr18QbCItRFBKP/iYBbWLIXlDo8rHR3B2yoqFbMwhI6DsbGH6hOcPMXTLr7yd6WODOumSJ/Pdsltcv3bWcP9W/gF+N+obl/wPRRO/8IhMF+Ur8BqubkODsU7Lb2LuTOFaqRD3dlzbWGn1xEPbMrL8izBXtdmVL8pJERsIjzAmryZ1qAIq26x/mKr6Q11sXYaDDMKe6B4xPF9boCBeoNed23G0iSi5PQ3jiI+YF0IgrCGBdF/VcIbWA7Ku7VvQYXnM2i+114p5PUcWvwxzFdjE= X-OriginatorOrg: oracle.com X-MS-Exchange-CrossTenant-Network-Message-Id: d804d4bd-04c0-41a7-8e9c-08ddc2d783b7 X-MS-Exchange-CrossTenant-AuthSource: DM4PR10MB8218.namprd10.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 14 Jul 2025 13:08:24.0670 (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: L7uk/QGEhMZ6IImUeYC7X9+bcFkgV0arIrI9UXh/HTL/tqh3c7oLd3aqASXlzoSYPIqSPgII8M19zJfmfHPsqoWCGIHYCAakQEWAviEBFaY= X-MS-Exchange-Transport-CrossTenantHeadersStamped: PH3PPF1F3678C2B 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 spamscore=0 malwarescore=0 mlxscore=0 mlxlogscore=813 adultscore=0 phishscore=0 bulkscore=0 suspectscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2505160000 definitions=main-2507140077 X-Authority-Analysis: v=2.4 cv=d9T1yQjE c=1 sm=1 tr=0 ts=6875014a b=1 cx=c_pps a=qoll8+KPOyaMroiJ2sR5sw==:117 a=qoll8+KPOyaMroiJ2sR5sw==:17 a=6eWqkTHjU83fiwn7nKZWdM+Sl24=:19 a=lCpzRmAYbLLaTzLvsPZ7Mbvzbb8=:19 a=wKuvFiaSGQ0qltdbU6+NXLB8nM8=:19 a=Ol13hO9ccFRV9qXi2t6ftBPywas=:19 a=xqWC_Br6kY4A:10 a=Wb1JkmetP80A:10 a=GoEa3M9JfhUA:10 a=yPCof4ZbAAAA:8 a=bYyZlYpX74AIGI5vcOsA:9 cc=ntf awl=host:12062 X-Proofpoint-ORIG-GUID: Ir0eLzqcIj5UkixuxM3WKCOcMyehz24p X-Proofpoint-Spam-Details-Enc: AW1haW4tMjUwNzE0MDA3NyBTYWx0ZWRfX7tTzGkfU5Ti8 75nK9qcy9KzrLXCiTz7BN3Qrfs/piL4mIcVfl9xZ9b9tjVFAQ21tUZ0U5PuqdOAQ9u6tYgxDGwz cPhQXELeau1fqG6bBj0XiJtil/4IcxVci9HctCmRVpv8NUf9evjI1elzI4uG1Lla5Qc+RedTQaP F075pBsLFFmtiGkE++BLLyQcermlQvqYIMCVhbWf1lPBNITL+4B+jwA5mAe3uhvi6wn8EZrVc1N qFqR6mHp9dRpikU3Q/3B46n5L4HG9FDVXpilSCUbUUKo8Q3yDzywOKyp0ga2DDnNkyaFe66/jbz 3meeH3SSUNVX6hZw7JPRtqboNtIAlKwJtuMOG8bRD6YDsSIcUg/W49etIRMD+yER5F2+z/RGPHd ByWppAGLnqb8bl1+3PSm1ZlazDq/aw77iVSdnbv5VZfYjHJ/zuyZ6PJ3hLYJRsa8ZTECSbwg X-Proofpoint-GUID: Ir0eLzqcIj5UkixuxM3WKCOcMyehz24p Content-Type: text/plain; charset="utf-8" The logic can be simplified - firstly by renaming the inconsistently named apply_mm_seal() to mseal_apply(). We then wrap mseal_fixup() into the main loop as the logic is simple enough to not require it, equally it isn't a hugely pleasant pattern in mprotect() etc. so it's not something we want to perpetuate. We remove some redundant comments, and then avoid the entirely unnecessary and slightly bizarre invocation of vma_iter_end() on each loop - really what we want, given we have asserted there are no gaps in the range - is to handle start, end being offset into a VMAs. This is easily handled with MIN()/MAX(). There's no need to have an 'out' label block since on vma_modify_flags() error we abort anyway. And by refactoring like this we avoid the rather horrid 'pass pointer to prev around' pattern used in mprotect() et al. No functional change intended. Signed-off-by: Lorenzo Stoakes Reviewed-by: Pedro Falcato --- mm/mseal.c | 69 +++++++++++++++++------------------------------------- 1 file changed, 22 insertions(+), 47 deletions(-) diff --git a/mm/mseal.c b/mm/mseal.c index 8e4c605af700..cf28efbac371 100644 --- a/mm/mseal.c +++ b/mm/mseal.c @@ -15,60 +15,35 @@ #include #include "internal.h" -static int mseal_fixup(struct vma_iterator *vmi, struct vm_area_struct *vm= a, - struct vm_area_struct **prev, unsigned long start, - unsigned long end, vm_flags_t newflags) +static int mseal_apply(struct mm_struct *mm, + unsigned long start, unsigned long end) { - int ret =3D 0; - vm_flags_t oldflags =3D vma->vm_flags; - - if (newflags =3D=3D oldflags) - goto out; - - vma =3D vma_modify_flags(vmi, *prev, vma, start, end, newflags); - if (IS_ERR(vma)) { - ret =3D PTR_ERR(vma); - goto out; - } - - vm_flags_set(vma, VM_SEALED); -out: - *prev =3D vma; - return ret; -} - -/* - * Apply sealing. - */ -static int apply_mm_seal(unsigned long start, unsigned long end) -{ - unsigned long nstart; struct vm_area_struct *vma, *prev; - VMA_ITERATOR(vmi, current->mm, start); + VMA_ITERATOR(vmi, mm, start); + /* We know there are no gaps so this will be non-NULL. */ vma =3D vma_iter_load(&vmi); - /* - * Note: check_mm_seal should already checked ENOMEM case. - * so vma should not be null, same for the other ENOMEM cases. - */ prev =3D vma_prev(&vmi); if (start > vma->vm_start) prev =3D vma; - nstart =3D start; for_each_vma_range(vmi, vma, end) { - int error; - unsigned long tmp; - vm_flags_t newflags; - - newflags =3D vma->vm_flags | VM_SEALED; - tmp =3D vma->vm_end; - if (tmp > end) - tmp =3D end; - error =3D mseal_fixup(&vmi, vma, &prev, nstart, tmp, newflags); - if (error) - return error; - nstart =3D vma_iter_end(&vmi); + unsigned long curr_start, curr_end; + + if (vma->vm_flags & VM_SEALED) { + prev =3D vma; + continue; + } + curr_start =3D MAX(start, vma->vm_start); + curr_end =3D MIN(vma->vm_end, end); + + vma =3D vma_modify_flags(&vmi, prev, vma, curr_start, curr_end, + vma->vm_flags | VM_SEALED); + if (IS_ERR(vma)) + return PTR_ERR(vma); + vm_flags_set(vma, VM_SEALED); + + prev =3D vma; } return 0; @@ -167,10 +142,10 @@ int do_mseal(unsigned long start, size_t len_in, unsi= gned long flags) * reaching the max supported VMAs, however, those cases shall * be rare. */ - ret =3D apply_mm_seal(start, end); + ret =3D mseal_apply(mm, start, end); out: - mmap_write_unlock(current->mm); + mmap_write_unlock(mm); return ret; } -- 2.50.1