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 D8A94C83F21 for ; Mon, 14 Jul 2025 13:08:25 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 76A156B0093; Mon, 14 Jul 2025 09:08:25 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 71A916B0095; Mon, 14 Jul 2025 09:08:25 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 60B2F6B0096; Mon, 14 Jul 2025 09:08:25 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0015.hostedemail.com [216.40.44.15]) by kanga.kvack.org (Postfix) with ESMTP id 4D6346B0093 for ; Mon, 14 Jul 2025 09:08:25 -0400 (EDT) Received: from smtpin11.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay04.hostedemail.com (Postfix) with ESMTP id 20BC71A01A5 for ; Mon, 14 Jul 2025 13:08:25 +0000 (UTC) X-FDA: 83662898970.11.EF87A6E Received: from mx0b-00069f02.pphosted.com (mx0b-00069f02.pphosted.com [205.220.177.32]) by imf29.hostedemail.com (Postfix) with ESMTP id BBF6012000A for ; Mon, 14 Jul 2025 13:08:21 +0000 (UTC) Authentication-Results: imf29.hostedemail.com; dkim=pass header.d=oracle.com header.s=corp-2025-04-25 header.b=TfFID7tl; dkim=pass header.d=oracle.onmicrosoft.com header.s=selector2-oracle-onmicrosoft-com header.b=rHatXrXr; dmarc=pass (policy=reject) header.from=oracle.com; spf=pass (imf29.hostedemail.com: domain of lorenzo.stoakes@oracle.com designates 205.220.177.32 as permitted sender) smtp.mailfrom=lorenzo.stoakes@oracle.com; arc=pass ("microsoft.com:s=arcselector10001:i=1") ARC-Seal: i=2; s=arc-20220608; d=hostedemail.com; t=1752498501; a=rsa-sha256; cv=pass; b=3samqaPok7pNN+Hs3cSK6d/H9X3Y4TRcRrElLZ45YROLSu9KXZshHfYwpdA8PLdvanQ/jC GKUEBW4j+FdPI8htQqdXvno+V0a60iNcTdUVE5QmL5SZ4Y0wGjmlc7sjSMstDewgxHCfnh 0wgyygGIeBzXIaXwzjustFzi5xXkJvc= ARC-Authentication-Results: i=2; imf29.hostedemail.com; dkim=pass header.d=oracle.com header.s=corp-2025-04-25 header.b=TfFID7tl; dkim=pass header.d=oracle.onmicrosoft.com header.s=selector2-oracle-onmicrosoft-com header.b=rHatXrXr; dmarc=pass (policy=reject) header.from=oracle.com; spf=pass (imf29.hostedemail.com: domain of lorenzo.stoakes@oracle.com designates 205.220.177.32 as permitted sender) smtp.mailfrom=lorenzo.stoakes@oracle.com; arc=pass ("microsoft.com:s=arcselector10001:i=1") ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1752498501; h=from:from:sender:reply-to:subject:subject:date:date: message-id:message-id:to:to:cc:cc:mime-version:mime-version: content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references:dkim-signature; bh=i3NlFKGrj4yrT5+Dw0ykZ9qQCdEthGzEp2slOEuJang=; b=MmKMy9acqcK8LrG+knVqOLN0D6tEhXOHD4pO+x929OLpiER8quFYt6l+7ugLWpsE1wQ9Ze EDY/FANmhgnTJBxVBQLJFoalkhdpmKBW2t+v8+9Skr8SZ2HFbVg6Euol0IMNgqlbN9tXGX oi07z45Q6yNyc4ezfzvBmTkHbwdq9bo= 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: 8bit Content-Type: text/plain X-ClientProxiedBy: LO4P123CA0667.GBRP123.PROD.OUTLOOK.COM (2603:10a6:600:316::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_|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 X-Rspam-User: X-Rspamd-Server: rspam04 X-Rspamd-Queue-Id: BBF6012000A X-Stat-Signature: 5xfc7uiuzrp84hc98j917z41kch637p1 X-HE-Tag: 1752498501-524522 X-HE-Meta: U2FsdGVkX1/t3U1XWS8uy7HmJSR1Ker5TzKvw4fSGar+lPREjyphC3bUMd9A8BXWpw91A5eAJexBMZQz5z5wtNRH17OlxbgRwWjHTisUSbMsmGBCIu5s2cPqURjnUUitSCA9iHnqEGz29IZkkIFuY2CU2zEJHPjMnd7Xed/BAFQLwozPYsoJvsBlqbs7D9TrxEgvnt7kkUFCCFXkfd0ic3A2sogvqRqOAluNt/QlCr74Ekav4dMv+0MxPO+g5T5i637adKlsivywEPGGYdUTnu1yT/5jiIFWtPp5gy10IIil3NLDir3MdB838yVeakhl2s2WP+HDpSGoHQAAHJfuQ/DEpo735HaneAjZJdYqjWpyuti14+uoqpYvrJwtetkTSyK/19c4Cue4KbEr7tK0XwUG/4Th4xPwt6sAFoZXLjelUW7mtiY8G8HHJhcR3qJcTLxPEuna3rCy3ZJHg4t7tKyvB4wVGSY1y2mq8xKPNR8GG+/8YmJuJh7iEdLXKwFNXYaGUZZpP7vvkGo7DsOU9CvnygbPrk2DvOt0rW8RkOyFPsgiu2drV0nQoq1e9XjM5BdUvPdDv6S3t4J1TcOYbhpMTzlpV+g6tCvdST0MJHcjt5PPWVczme2Q3yw/IeMiNqJmpioiKxKw+LKTIeUhjSO5xrlIO7tjzQF4BeFxcvtfjwOFCvkZ0DH16mYpifCZHoIm5txko0Nbyk98T9gmu5SznzIXGnTU7962w6Rgjffxt2lxghe2y09rZXB5lzaqnqeeqM0Jdc9oL23TlO89sxaLwkKlAwF8T926WGKDYaxFu/Ly5Yce2HGuNYjYokGpmuaxVHP6DxPKZtphHa/J9aUlECJiFZRUzTEc1ewm4TG2MdLuRSY27VnHrIVY69yzyGST5EJPHLeBTvl/7i2YU5tieEgEIHjttL8f4Go7FPOs7jYpzinwcKS9MddYEZ0r0KQjMOtez75u5UvXV7+ RtfqmshQ 1injL5CY/WFfvgsTYrKbY3uLQJ67BpWZfP9u8AqQ5GzrUthsBpHfwV63rFYLjU+dDLc6/RpgMjSgAiyfdNsfiBPGi7eoEJt+wdmzc1vGe3DeW+njRd057GNOkC5IdQnMkAulN/oLpj2m7Fbg+FXlpBpc1ovCpJaEHK5jp6x1SRt1v7vMLF4bD2whMmZuzDKBVL0kvKazpaEo08AvC6Xr8z5JFpLE99eLCKqw//n7fDde7gsvVbqFyV9kp6F3DGtf1iZ8zvwjAlgeX8Q8esZ30KyoMqfVLHF35ztVwnCFa8zdrwfqT11mKzJpUWSo9uGFuXGnKw+eAuWZHIroaB+gTT6XOYB6fyHrESUWE06OgxfxMQC5/HzeJrLg4Y1ELKQ2HQ1F7LtUO9HHbbjNEdmQy+wUyKwv3qgOMewBLnNIO7PcNw+LLbAlhVLjj5/zM0wdfI5GISJK8qqQ+CdN5ajn+ZT/pRmPRZCx/uzKpHZcoWXNaan3Us89gTrSP2XQKpABYmG80wkSNf4G/lXv8qrCRMfy9TPzknOYVRxhIhmc217bwN6veIxTniRc3iuRTDWFS9iPv3Aewq1vNpUHM0kzS3g2D574MkaqIM/6j+FZMvExqNpGNyY3m2kp53mChPszCvRDBr4YWCbCKbWBqC3I2IbmGifNE1t1uDQLmwIwtqg/D1aCgbwdN3rI5dw== 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: 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 --- 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_behavior *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 particular + * circumstances - discarding of data from read-only anonymous SEALED mappings. + * + * 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 = 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= */ true, + /* execute= */ false, /* foreign= */ 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_behavior *madv_behavior) struct madvise_behavior_range *range = &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=RO 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 *vma, 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_struct *vma) return true; } -static inline bool can_modify_vma_madv(struct vm_area_struct *vma, int behavior) -{ - return true; -} - #endif #if defined(CONFIG_STACK_GROWSUP) -- 2.50.1