From nobody Mon Oct 6 20:56:47 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 62AD22F547D for ; Wed, 16 Jul 2025 17:38:47 +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=1752687529; cv=fail; b=heFEG5hfUW+A/2ShCs4wvu9ns0Mu1f0edyNSkPgdshQclb/VyKanl87DUaDXY7/sYOWeYieZtcgfqWTow1WUQsyvc7pQPIfK1fbJQkJCphGwxznQZLIBH3ChA1ZxrPAHvK9C/BhFjSvVMJdwynhJLhGBog7Q6g/ih6pPRiGWAAQ= ARC-Message-Signature: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1752687529; c=relaxed/simple; bh=nzUCU7GC4HSG2YzhHgHnFmCtdviAQ0jSpiajTdKr0pI=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: Content-Type:MIME-Version; b=bc6d1pbwH2AhYDhkWJSFu9z/bbqq+WhmZ4xExXeTKEvt31a+ZcCXL2Q1m+E7sguE7zmDlPQVJBMvMlJhBw61q1vUGjxwD3M87V6B15cVPwiG/6NT+Js3/n0iOf4Y+2VP7ZRdqlwrduJMmfzJJN/FyjbG3Hzijz3kIu2C/KNn3ag= 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=ZYUgn1Zw; dkim=pass (1024-bit key) header.d=oracle.onmicrosoft.com header.i=@oracle.onmicrosoft.com header.b=uqGUqw1E; 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="ZYUgn1Zw"; dkim=pass (1024-bit key) header.d=oracle.onmicrosoft.com header.i=@oracle.onmicrosoft.com header.b="uqGUqw1E" Received: from pps.filterd (m0246631.ppops.net [127.0.0.1]) by mx0b-00069f02.pphosted.com (8.18.1.2/8.18.1.2) with ESMTP id 56GFqkHF000641; Wed, 16 Jul 2025 17:38:36 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=zDaDtXPQ32h4kk41uQ4SM7EXYw9scIbNKgrxxVCQFfE=; b= ZYUgn1ZwNqfTkYfHQEml3gkHcRxdmNYSZH9uHHhEF9jVbmvyb+xR6pJfSjlg/gQa 4MAflhE7GecW4VXoFXERoocDLZHvYpV3OPZ0yHoiIDlUYTYAaSezFHCFlhlcXiuO nzUPKSAlo3FqLS+Jm/YVapzIVmwxF7hY8z7SGezedmAzEWqSxRe52/qAwgrvoXcF yAU7B3YZ9ApIjvYzaQdrdVRcYfPF71rY7sVNfrGcUCShQTdDWyA/VKHuWgyLBaWC ugtKPy8PybroPE1WA0aAtSnxemK1ndhI9wkf5c5YrHqstGVeslvuToYYVfEbb+8X ogrGivx3+Gal09zCbmxsaQ== Received: from phxpaimrmta02.imrmtpd1.prodappphxaev1.oraclevcn.com (phxpaimrmta02.appoci.oracle.com [147.154.114.232]) by mx0b-00069f02.pphosted.com (PPS) with ESMTPS id 47uk1b1f1b-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Wed, 16 Jul 2025 17:38:36 +0000 (GMT) Received: from pps.filterd (phxpaimrmta02.imrmtpd1.prodappphxaev1.oraclevcn.com [127.0.0.1]) by phxpaimrmta02.imrmtpd1.prodappphxaev1.oraclevcn.com (8.18.1.2/8.18.1.2) with ESMTP id 56GGjssb029769; Wed, 16 Jul 2025 17:38:35 GMT Received: from nam04-dm6-obe.outbound.protection.outlook.com (mail-dm6nam04on2054.outbound.protection.outlook.com [40.107.102.54]) by phxpaimrmta02.imrmtpd1.prodappphxaev1.oraclevcn.com (PPS) with ESMTPS id 47ue5bcnq0-2 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Wed, 16 Jul 2025 17:38:35 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=Wvy+RRIguE95bkMkwYzgcazEd8T9GCAhz+I1rwwBq3vXbkwhtyp0s0QGtPbmHy6j352s9qdMvLpECfZRmgRLnlEQf6aby0/pz+plguJolR6lnklKbbEKWfbcJtaQJwrAx1evEgaZhzXdZ5KSN+Nx4RJoeWzBsr77arSzBvVlxvi4zDOeheUAh+n9YR/9mhjILj3ii2lN6L7HPSPLmKTocyigS0g9AC454afyOqp1EV/ZEFMtkq+U6TVSoO5ko+2SDTZropSf9X5wROpOrHTu+PnIHEUe8Mu4Wrxf+vlzUzlPBDrbWEyQOQo0AJ+zS+itXaKDfbxS2x7pv32Mu2IE4A== 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=zDaDtXPQ32h4kk41uQ4SM7EXYw9scIbNKgrxxVCQFfE=; b=fhQA5AujJdhtdH29NIYKEbX5QHi00Tovfe4XpY1gdGJw9Bq7qUaf44RdJFAsdQLcTii3mgDH0sLDRVt5Fmo0VokBeF0R94+d9PWxSH4CZhlSnMLXThN1abds+xs3hl8fXSavhOYj4kl6IrD9XLCKbL35xi+ndZIdyLxsPi7ncu+de/a44JBJDwGFZHqtXg+6zVF13tH49CvjZq865Gh6VYLuXTbOgq17mfQZklaw0369WHXgZwgseXqUqjHmmwyDNHUMhndqx9ozSCt6wS4/xWxm3jdPOD7PWuzKVHycgddj6Eq2jXBQJFmrc6Wp2ApGnU8vqsSGZP5dRK0bP9WV8A== 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=zDaDtXPQ32h4kk41uQ4SM7EXYw9scIbNKgrxxVCQFfE=; b=uqGUqw1EtCKwpL6TSwHvQN6TBQ9uk1HWb5CR2vGRXOYAS//nmIDVkrx8K5fFoYQCPcLcCL9om0X+b4E5ip8TzEMHo7vkc5HOk7wVAyRaNLmtZCG7nn+f7IqXNpa/rbrUy3puH5mD1l3RYIuFZSuPmWDjLZ26EA2+PKLNqk+FO88= Received: from BL4PR10MB8229.namprd10.prod.outlook.com (2603:10b6:208:4e6::14) by SA1PR10MB7683.namprd10.prod.outlook.com (2603:10b6:806:386::12) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8880.16; Wed, 16 Jul 2025 17:38:20 +0000 Received: from BL4PR10MB8229.namprd10.prod.outlook.com ([fe80::552b:16d2:af:c582]) by BL4PR10MB8229.namprd10.prod.outlook.com ([fe80::552b:16d2:af:c582%3]) with mapi id 15.20.8901.036; Wed, 16 Jul 2025 17:38: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 v3 1/5] mm/mseal: always define VM_SEALED Date: Wed, 16 Jul 2025 18:38:02 +0100 Message-ID: X-Mailer: git-send-email 2.50.1 In-Reply-To: References: Content-Transfer-Encoding: quoted-printable X-ClientProxiedBy: LO2P265CA0460.GBRP265.PROD.OUTLOOK.COM (2603:10a6:600:a2::16) To BL4PR10MB8229.namprd10.prod.outlook.com (2603:10b6:208:4e6::14) 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: BL4PR10MB8229:EE_|SA1PR10MB7683:EE_ X-MS-Office365-Filtering-Correlation-Id: c7fba4ce-972b-432c-2578-08ddc48f8ea3 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|1800799024|366016|376014; X-Microsoft-Antispam-Message-Info: =?us-ascii?Q?eT/qLmrP+vIfuR6iR8IscYXjDHUWbU/gaxaYO3LdQvvUlFLIfi4dS2yynHK3?= =?us-ascii?Q?072Vf+ldkpT3G+6jIOoSaddkt0+U7mbYFBwopI0hx/455AuML4m+l83KMRyC?= =?us-ascii?Q?atGO1Kdx7umDKb1xuaPj5pBXwrf7CAea1Vzklk82Z9l5Ryr4cDxS/kbLizi3?= =?us-ascii?Q?vLmuCDIqTyrPc/ZXP2nOFeg9DelPIQRJ6wPViM2pmjBuMsvp00lOkTfq5m+z?= =?us-ascii?Q?CnVkxpI+GVUWwu7isGk54sG05Hid580tRH4Q631WvBc44w3xvJCIrJd8L/T2?= =?us-ascii?Q?uecB2c8OlVBiAt2n6X99pgboUeS4keLhG5xPmN7+s3XcMoQxvWsyZl5CYgzW?= =?us-ascii?Q?bIuJX58xCdUAR7K6B6f6D9PgNSQWulzR9iO1z51aRPHuULJaRsrCmXN5DdVz?= =?us-ascii?Q?yEIoPd4P2t/5NNsJ+xwQffbwhUBai1isxB3zgeNY3+uhIeo4A+MEFt/gFUu1?= =?us-ascii?Q?05ywBIjA219BmcnLWtK0giCMdVbikZN7H4DrFXGbzaE71wmZyeo6wm6uepCo?= =?us-ascii?Q?6JZk0dAhzCUM085jOxX89BgYAR2fJwsJ2LvUkse75CdSd5G4Wko/NQ/yQTfE?= =?us-ascii?Q?E6Z7OS31Gwh1+9Sq+zoIGOxjZrVLHFIphBLbBhiNTT0xnt9tkKOsGzZt0Wc2?= =?us-ascii?Q?G3w5PLgIB6ekzSYdKmxtUT0wYqaIwtJyKB8PqisrfyO510o2mQ6+GHcmGmdf?= =?us-ascii?Q?rINm394sKbhcMKAQEJEBI+ZVJTKJ9E/eDqacjRQOtnwFwMUl+EQh6MFd42lE?= =?us-ascii?Q?4pKI6NVwi6rSFijGlGf4niyW+BGJ+1rIZ4eEEc2xhrpShEpU341nFVRXAcrV?= =?us-ascii?Q?/rfejbAgZs+ySz80JwNR4nwz1OKWBaulvIo4RoHu7v1zOZCzf5Ys146xFREr?= =?us-ascii?Q?elxMtyXFlalGvbv2mGOoY81NMQWDhrak4rFw+Z5mDnl62Xqe3PxDQSKZSCFD?= =?us-ascii?Q?IdGJwQQES9LvSMwli3cqAxApGUozgd0Tekt8wdQwQB8cwx3HnF8D+35qoHJ/?= =?us-ascii?Q?8WzxY9vap9fNj1rnrVYxMhRZZM/iZaGqZNwqpsvRtwWER1AB/aCTilr3Mx75?= =?us-ascii?Q?AwgrvzVbfSGfyBU9m1umxOT335kCfh7W2GVXGNW2q+5SWpHraW+iri9q16Z7?= =?us-ascii?Q?BQtcn2wYhNSdfXd4NuC/XRqE4SUWLf28OFHz8v+p6/e62UYxtenkrsFvu4IM?= =?us-ascii?Q?iKjKXi2ooGbTUrWVaz9PCVsj0uhD3jFgg2qTjU/PyHtiVru5NHk6nUWhlN1p?= =?us-ascii?Q?uqyKWl1W8xulGYVliAmviLcMG8E2n2ljPhDFlw37zF2a2oIH3lJc5nY6cAAt?= =?us-ascii?Q?h23J+Fzmfvlkf1FvRHZ6QL0RqffEOpyrwOqOdC1NkTcGxoCK8t/LTw2PEWvF?= =?us-ascii?Q?vtcjlwfJxTH2uUPV05+Uf+b3BclF/vt881E6j0Q2gjCcQbPXWXbPNBIzkOLP?= =?us-ascii?Q?hmPdRn0MJDg=3D?= X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:BL4PR10MB8229.namprd10.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(1800799024)(366016)(376014);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?Zl4TMG36O3CCAS83U4+NVGdJ0Q+4J95P170xEKL6g/tiYZfGcm05cAdlX7di?= =?us-ascii?Q?vZuKmFwygu+jUtBrD+gZlyCPTJkT5zHa5IgLll8mizkRcicvwr77XVhyE05I?= =?us-ascii?Q?/g2UszDWBKAI42Ts7CLbxMOHfPlb4NCl80NAdljfxjppCiyQENpW1AQsIiNm?= =?us-ascii?Q?ESBU6fK/Xx7OMNFvwDvFqLdspCojt/d3gA9Ge3UzK0sqE7LEL2cFBnItmTsY?= =?us-ascii?Q?TmXBXBtIxV6J7LdeGFXuMwIBiRUZmhKV4xJ72Pk1n4/2eaSUo/mKIYW2FzO0?= =?us-ascii?Q?uLbqCbMrCD1AZcmqAYJexUPTsw0Aypcz7SNh4Hn8wW4wrqntGEW7HFCUuB34?= =?us-ascii?Q?Bg6oBDC7v6mX0IN8Hpi+y1rhrxZg3YHizIsE1Lwo0YbPkxHP/OYQrbSApb/3?= =?us-ascii?Q?E/Qc4fi3VQdvzoFWU6AA23ibpwc0irUrf1jR8l6RQkSr7wRlpcuKSjdlyaZb?= =?us-ascii?Q?11NyZSQZcdRnXeQ5SCBPNdbd8XbreAhUU7XBmgGI0tan4LHQ8MIcaB1s/ReC?= =?us-ascii?Q?F+k1SKrF4fj80AUNyeRtYZfYbxmwbphdxr/szylJ6I2ySzIHfl1MYIrnrEsi?= =?us-ascii?Q?aOJF5eguMCVMtyn/PJRJW4haK9q6UdZwXQ2rZE0x34HeG3Ach7QgYEN1mwua?= =?us-ascii?Q?1Sd2t8pFwmmWzn+2I8lJWIOhgPhzoNgk3L7hGY5PdLhhB/WiNwVDGAn8nE4/?= =?us-ascii?Q?mnmf7CaOfIbPCDqFpgMHsZ0AQaAwg1AMyVsmq1rVOkeavttTG5Q43GsCJG3a?= =?us-ascii?Q?5AaK1p7+s9TXymNTFTwiyLTFIfSnGtIsjhRb0AyKjQOS8DZeAM2H6P+lqZyd?= =?us-ascii?Q?o5aRAJsizlwibPXtovqEPswNQu/JDYbQLkQmHgvj+5LP46ifFZZnPf6vfJmq?= =?us-ascii?Q?VTP/FQDdYtvbaxaM1Rmycx14b1CQNY/TANYte/b2QpzHN/NoTe/Fof8JMTMz?= =?us-ascii?Q?XllhvZYTXcncVCm+O0iDQPHf+TLS06BuGBaI3AknbB6P9xJA54lXI8y41n3V?= =?us-ascii?Q?UpQK2fn24KOrBRfJ8bCnQEJV/wVtQwTGvdsuXxtqHjbOdPhFDsLuyVETmogj?= =?us-ascii?Q?WXRnIammER9g302IMHcrFupyXku8M34lPHF6aDdn/8Q4LAKJFW0JhK0K2BzZ?= =?us-ascii?Q?R6Xu01FADlzr0h406Su2uNeL3Xiggd7I75ZPOpGkud/2MSiagoP6K+Sus4iK?= =?us-ascii?Q?nIFALKwrfsTQWZcNHvdzPQDMvRFL1xq8DNB8ICM+6MX514BXrkYYbgOrozLd?= =?us-ascii?Q?ELtnV7SQhtp7KIkjX3kln9wTSEd4xGNrpBU2UuDMKB5oknHc8e0PGi1aPagf?= =?us-ascii?Q?ncqAVSjI9PB1S458dA9zc4ZLDk58B/o4Tt8QQMCNONpNtXGxTTHw70E6+mhm?= =?us-ascii?Q?M7CcaUWS1TggxF0Mt1sgn4oZLspgTgQw3lQ8fBmqGxgfjfm6z0+anBpZv7xZ?= =?us-ascii?Q?bh2qp04hZaGJlyHLiXFsuGP2Lxam7wetjZ8joSnIHb1JcusWkqthit780ukV?= =?us-ascii?Q?f16OGsCaPQeJ76+YP6neZVvLdDmVqFvUG7QTfzWURa0jlkAS67WQLjvQnk8e?= =?us-ascii?Q?rLpiF/wN6e989X5YBA/Qg/DDd7V3lvUHxunh/exY3mPJyvBaRQBbvzFtjKR5?= =?us-ascii?Q?Zw=3D=3D?= X-MS-Exchange-AntiSpam-ExternalHop-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-ExternalHop-MessageData-0: BlvNCTajG7zNnfQ0Y99OGhhtUSfM4frVF5FjqzX5SWiLX7kuDdpS8O7mqyGmo5lQhkMnaW5p2dA6xhSv2qRQ904s+IWAI7sMsk5xQkXxdl1LsN7a2D5beIANuCVxuGr/TxhVYIJ7pmX1yv/CEK5CgPRyFltn3x0i+PGEipOxryArj4NJvZRDjUe1PCVdddAO6yT7GkIGbpDHQUlPQjlak9ADMSkhnKl+mgxnYsS+SRiT+8Vt2whuGh9qZ6lcNTv61itylwdQ2r1yGtr432CgYh4x6JhqYpNyEbjWF3Fr8GTClgEdi4h2IESXC6agSRIaaLYMrEDrxwe1hJY2SSN5GKwQ3SiU0hJtWL9AfTIPwqTzBnxUsCStuNbKH5fpkeQS3PB23gmxOOBOBCXoTPwcmarEzyVr5DQw2EfaZ1lmKq/vf+tLD6tfxMRBU6rEJtfvWdElgqQAud+domKCcmY6+kvBgLoVgdawLGUXvEc29H1G0D9s/dI/V3uWk4DcyfwkHKR0OUJvBRuTjl3HZKlJtKe9XTAL1RbYqBRxWFN2lzxXTPZbFrWxf0UmpesZSvpG3t+XqWDZyaJO9/vAvFDqsgflZz0xsJBVku06fu1h82M= X-OriginatorOrg: oracle.com X-MS-Exchange-CrossTenant-Network-Message-Id: c7fba4ce-972b-432c-2578-08ddc48f8ea3 X-MS-Exchange-CrossTenant-AuthSource: BL4PR10MB8229.namprd10.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 16 Jul 2025 17:38:20.9349 (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: BChVz4UwqDAAcnfCf0Wmd/F0ClUTaZ5qKwtcNlw2JdbGM9u9F7Cni/kjRHbIxJ1KYJYmSrcQMP06rR+zguVCr9bewyK2UvDhI0Ni4O/6wSk= X-MS-Exchange-Transport-CrossTenantHeadersStamped: SA1PR10MB7683 X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1099,Hydra:6.1.9,FMLib:17.12.80.40 definitions=2025-07-16_03,2025-07-16_02,2025-03-28_01 X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 phishscore=0 mlxscore=0 spamscore=0 suspectscore=0 adultscore=0 mlxlogscore=999 bulkscore=0 malwarescore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2505160000 definitions=main-2507160159 X-Proofpoint-Spam-Details-Enc: AW1haW4tMjUwNzE2MDE1OSBTYWx0ZWRfXwmJXwLsQd6oY DbMMBOBLdis8Bp+bTIU/FWj2ZxD8fvw98zqO2xTOeUM2vUk978miyZ5tLsz3VmUizRkCQeYyYuv TmqGmdy16R+WyObRu27JHP09//yhuSGeYfdfv/LcbBYqfDuQGodUxVyeXPYyYuDEjaxdxbTXRao vs7Ki/ehN3/y7n5r6yXkhS223JpBjUC2kh3hJEVMTmDilHwU+/pT4AeMHYD+y8mzHijeExXo5gE YRQFpx7WHI37vVTRIkemvtviU1pxzfAYYvYRQCoaDf84vFVpeG8A41E1yNYam95MbAR419mYeci 24cx6CPg5pspDv/P9AvVAz+An0NJHcQCWWYos1bCrNF30XeDJrRNis/86j2u3pZ14HM0+brgJTe KFsZ+gBZmLgN4MGAIyzcjCH54KH4MB1xIDkTfzqh0mzqeuZ2Qx/AshB3vAbMxeWo8ub6kP4X X-Proofpoint-GUID: HqnL5JOddfo689ZyqMqZS29YPzdNkj2Y X-Proofpoint-ORIG-GUID: HqnL5JOddfo689ZyqMqZS29YPzdNkj2Y X-Authority-Analysis: v=2.4 cv=J8mq7BnS c=1 sm=1 tr=0 ts=6877e39c cx=c_pps a=OOZaFjgC48PWsiFpTAqLcw==:117 a=OOZaFjgC48PWsiFpTAqLcw==: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=20KFwNOVAAAA: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, so 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 Reviewed-by: Liam R. Howlett Reviewed-by: Pedro Falcato Acked-by: David Hildenbrand --- 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 805108d7bbc3..fbf2a1f7ffc6 100644 --- a/include/linux/mm.h +++ b/include/linux/mm.h @@ -414,8 +414,10 @@ extern unsigned int kobjsize(const void *objp); #endif =20 #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 =20 /* 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 =20 #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 =20 #define FIRST_USER_ADDRESS 0UL --=20 2.50.1 From nobody Mon Oct 6 20:56:47 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 07F272F49E5 for ; Wed, 16 Jul 2025 17:38:47 +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=1752687529; cv=fail; b=DWtriVr2uv0mwbuttvhxWgqM9TuFaahJiO85+rmgmGYinvw7XfeJpCcVk1EIN6iqPwufcYC+AZCtwCTsZ6zN41m+69SRzgwSm3Eflzrj95pv5NSteIfUchHwtcOJDut2b4jsHSq+jsy7sdSZLrP9+zK63vAxTYYja5KSWbcyEK4= ARC-Message-Signature: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1752687529; c=relaxed/simple; bh=RCjMQAbvYSE0EApZO0Gc4dNFV8tViy9tFQSMa0lQJHw=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: Content-Type:MIME-Version; b=pfgOfITGp7PB5vjFt5OG5B/afkIgs/jlYHK3hPPxm6lo8H/maWtsR/IAFPNTRli7d6FJRJ4+c+UykZ7iAHmHCe1YD7JR1gLQxUcO0th1i/xHSbD4nMd1CgA6YCIBJJL+mQb6twbzaBB1YOOcrbXfSWE5A8yBoxvPUlrByq2LOFo= 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=BwnfTk+Z; dkim=pass (1024-bit key) header.d=oracle.onmicrosoft.com header.i=@oracle.onmicrosoft.com header.b=u2RP9Zie; 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="BwnfTk+Z"; dkim=pass (1024-bit key) header.d=oracle.onmicrosoft.com header.i=@oracle.onmicrosoft.com header.b="u2RP9Zie" 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 56GFqcTF007289; Wed, 16 Jul 2025 17:38:37 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=WNpQsodzm6myiZ5UM/t5ly6fyLLkvwno58txn13/cBc=; b= BwnfTk+ZeJ2ZvCGGlpUBOl7xI/Hpm3E98Uij72Ad24FH4yfwuy1MX/KrvpmLWJco pXLqV+MOzzGwldvmS1sJrrH/SzYT9hTwP7vpao8V47ubGaHY6N82q6bn2pstott7 Cv8tcBIIrDdFG4zCI3hBm95gjATUxGUL4n13RrcG+uQFUTf/hJ5QEReUcOkQm1vu sLeeNObqJ+BPbfCXA99Lg8N/8wW1XAmoxdgm99ELS+EBTIVgodGdvrJs7Pa4rfCe l1n/EVD2ABJuu3VZ0IPvdQk+xtrwq86hvgy2de+06yZNysbelsRYmswS48o6e7oY ytJd9WAU1yhRI4UGfOlHmQ== Received: from phxpaimrmta02.imrmtpd1.prodappphxaev1.oraclevcn.com (phxpaimrmta02.appoci.oracle.com [147.154.114.232]) by mx0b-00069f02.pphosted.com (PPS) with ESMTPS id 47ujr11bmy-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Wed, 16 Jul 2025 17:38:37 +0000 (GMT) Received: from pps.filterd (phxpaimrmta02.imrmtpd1.prodappphxaev1.oraclevcn.com [127.0.0.1]) by phxpaimrmta02.imrmtpd1.prodappphxaev1.oraclevcn.com (8.18.1.2/8.18.1.2) with ESMTP id 56GGjssc029769; Wed, 16 Jul 2025 17:38:36 GMT Received: from nam04-dm6-obe.outbound.protection.outlook.com (mail-dm6nam04on2054.outbound.protection.outlook.com [40.107.102.54]) by phxpaimrmta02.imrmtpd1.prodappphxaev1.oraclevcn.com (PPS) with ESMTPS id 47ue5bcnq0-3 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Wed, 16 Jul 2025 17:38:36 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=D8GiQpKANu6lR8JhLqdXAMROuAH0u+tomAoZk50d83g9v5DcIpLT9O0R66hiDP0VgspwYyjo9irK+aq1POAled49otiDca35/MvN3RxESfNIqEXjpokhGtrSlxDx96oBO1Pj1Kv8tHB9W/j0GTOAJxeOy/NwEMFCG4eGAuehzIBGqETqE6IqAWWf7prbRkj7R3iF+8Yt3oAhtPtzdH6iz+o6vpD2C6HRJR1ZlH7762sHKYbxtKu6P/vOkAxwb16SFdX8jY5VY9QBD4ZnTlvbJhv4AnBjQhKXJscKyAtNYJ9SbY2Fbu2oBnUhXdAgpWcItDWghgx1jznFvHe/Dw+mAQ== 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=WNpQsodzm6myiZ5UM/t5ly6fyLLkvwno58txn13/cBc=; b=msHggOrC81z1FH7NU05qAoLscaQGc3xU0RGAVCmBvDMoV3HMIUt3yVmmFgAGq+PCuIPsVAx6DWt4iBGTwGdEEkRS3zU8gKrO5fCmTluQhcPjP0nhmMoCun4eYcvsBrrTK++89JN1Mn0A6TJz6dQ06DsxjxPOBuQtJny8MMZDj+V5QZ+Xk02MuoTGCO7/+mMIKkTLZM2+VQ2CpY2Xk+H8P2fftxs5omugjU/pkwSU/bYtfGlVcj6Mo2A64Xx9iW1hySu9fxOkSFyVhUuty3uDLDwhewC+oIVzodv48YhYl2+j9vizbMeieRrdtLeu+bApPWmKivkKxFk0OSeg07Vh3Q== 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=WNpQsodzm6myiZ5UM/t5ly6fyLLkvwno58txn13/cBc=; b=u2RP9ZiejbPa6Uw1h0TqhnoEideaAoeVqpNtdRg7x8eBn3U8Vi7Lu+tJ71oY/4LgmHc8Ol6nuXerngFRR1RBnXKg/9Tl8jQF5NZpUbNDMPmCk9Unkz3XAaOniU2vr4+CSpP0ajYbyRJPcrjb6E1EBGizKJ35a+1Qj7B8Kpyz03E= Received: from BL4PR10MB8229.namprd10.prod.outlook.com (2603:10b6:208:4e6::14) by SA1PR10MB7683.namprd10.prod.outlook.com (2603:10b6:806:386::12) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8880.16; Wed, 16 Jul 2025 17:38:22 +0000 Received: from BL4PR10MB8229.namprd10.prod.outlook.com ([fe80::552b:16d2:af:c582]) by BL4PR10MB8229.namprd10.prod.outlook.com ([fe80::552b:16d2:af:c582%3]) with mapi id 15.20.8901.036; Wed, 16 Jul 2025 17:38:22 +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 v3 2/5] mm/mseal: update madvise() logic Date: Wed, 16 Jul 2025 18:38:03 +0100 Message-ID: X-Mailer: git-send-email 2.50.1 In-Reply-To: References: Content-Transfer-Encoding: quoted-printable X-ClientProxiedBy: LO4P265CA0081.GBRP265.PROD.OUTLOOK.COM (2603:10a6:600:2bd::9) To BL4PR10MB8229.namprd10.prod.outlook.com (2603:10b6:208:4e6::14) 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: BL4PR10MB8229:EE_|SA1PR10MB7683:EE_ X-MS-Office365-Filtering-Correlation-Id: ef18fa52-88c1-4514-bee1-08ddc48f8f9c X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|1800799024|366016|376014; X-Microsoft-Antispam-Message-Info: =?us-ascii?Q?bUgy7AZNlR5vfP2Jogwca4o6QYvE2TSC6IxsBx5/2bTYxwCWqCzZiibzbJIS?= =?us-ascii?Q?HGIWh2GEqPFsAlLkFadH9N4j41MgdFRkpo4Ln+bifS183kTSoiNP+GbBXAyS?= =?us-ascii?Q?1kUEWzB+lMT2gdoxxIFcnHJDhmyI27pTuClDasM7pjZQBBTiXRDvtPTHQWY3?= =?us-ascii?Q?4LNeKvQyG5kD/PD9sowpIwDXTICkYy4TMaXweBZdON4Tac7pAxMaIGXu5czp?= =?us-ascii?Q?SwGBclcWh1KO3UuZujQ98/Ft99W+Xo8X4PLH+RqpoFDlTb4IbVIdEa6ntz0R?= =?us-ascii?Q?gQMwF5BN57XBfUmrEGCYtoHslZw6wO6GSCBMdQCl9L7i0+S2yFV5rUckSXK1?= =?us-ascii?Q?ba5GaPlZh94qCazYTIfEq4vfWsygCspzynR2HYqyU78/pl5QNuZxsQU0dHGR?= =?us-ascii?Q?ven8/I9e3ziyJ6O3k/xOr+6Mlk5cPoJlogWgq0Al9QvhJblHarb9wFdA1G2O?= =?us-ascii?Q?j/91I1xIPfGOdkonuiMVJDIcaxJuZNpcdZMWE0i7IajlYI2vheZWztXRbLa8?= =?us-ascii?Q?LJ5+pLuAppV90gnjL0YHoRDLhGF/L4ijbi/y+Y/uy8wyxGg9rMTc6nS2lenV?= =?us-ascii?Q?w/Frt1gm8rCuWXUBnBgt/M3fNEC4xgSJFPr52XI3QT0TxXCBJzF5UFbR6t2U?= =?us-ascii?Q?4ygNB9hPEq0wsPKnptkFv/gFo94zHi1WnRF8Kp58jxO0RVGbR9QA5mBagKrW?= =?us-ascii?Q?koY24JFNldrlhiRgf9E2/AvZ8a0IfTtN9oYiGnsPTVGYlga6Q254M9OJlLVL?= =?us-ascii?Q?TGo83MIRtJ8Br8SFhxsFizNLyWIwWg0fa9kfBsV4fXnndUvzBJMYtK2PrYlI?= =?us-ascii?Q?BT18qk+07VCel2gKZDR1LXNFyuPom1WCOVUiwB4Zapt1krK0tkoV3xH1ljGk?= =?us-ascii?Q?PJ93Njbk9KBcV36IYi9aPhwXiYHO1IFi4eaUVBlroMKg5qstKOfwz1xQJuOd?= =?us-ascii?Q?EreUDzaq60fX0XQl1ICUprrKDDL3N0sDiB++IVeE5+xKfslnJsmEbECMsui+?= =?us-ascii?Q?Z2mvwdvzsUDiu7swjPS+rkT2X0k/icjRWlo6mvvJFXYjPo1yPyT4lO2yIvpa?= =?us-ascii?Q?yuqzJT5xlbcB4xzqFB6G+2ySoJy9+nKacIzXfnejdIg0C1huxiAhcN1rRvSm?= =?us-ascii?Q?hd45stH3PhopA8aig9OgvyiaX7FbO9/Aa4Z3H2TMg9qFGDvuhAOSMGY3YrGD?= =?us-ascii?Q?KMp6ZSC/qWIWfgqnWAMKPDrGWj3RDSyiKlbfdh5ksayUhdH8tY9yybZSNNWn?= =?us-ascii?Q?nrtArKNo8zCQpfgegEez2EEpmVZ6AjlxFpVWaKtBXZjn9zYDp15JMzfHWaJ6?= =?us-ascii?Q?BponoU7+yr3U8R1nIaLoJX6YJS+bLlTu/R+Mog6CFt4qV7rjNvP4bpVLbAJC?= =?us-ascii?Q?HaNMeSTQyjn09iLMiw3QAA8nnizfXwlLEhKfq14JtPbsMqdFcP5ZBp4wLqDh?= =?us-ascii?Q?/S9NPcUUpUs=3D?= X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:BL4PR10MB8229.namprd10.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(1800799024)(366016)(376014);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?8tP43tFB10r9bvxRQOXi8x5+Vk3zdyTcY6OUl4cResqTgk8C9WargX5VK09x?= =?us-ascii?Q?mRInCC3h5t5HF7Xg1pWhMZb2SPanrKmAZX+sOEarZC1Et1JCMIePx79ortac?= =?us-ascii?Q?0I+FEnCGVd7NVXamkxcQzLh+4xtKPQEKWYtnfCWPKa0FOH31FRtGvTUK90OO?= =?us-ascii?Q?TlI3runQ0mlaBdz5FiuArfhWSf0JD0+5lKNl12yq9eNd+4+3SDmN6qVHtxP8?= =?us-ascii?Q?g8+zaM7PvWbEuQcw9nffZZoXQvK8z4dkW2SOaT37k2TtluY0PMq1xgsGC+8G?= =?us-ascii?Q?eDmkSW74Ghdn6Sjzo4nqxq6letPhiIrNa23EEB2sW/G621xr6lX1XUnTbRQP?= =?us-ascii?Q?4VeIN09Zl/GA75uj9CGEx3MQ9hZL/rwEdChrROfVQV6DGTjCE9oLdHifw2kQ?= =?us-ascii?Q?LUIc/6J71byQ3uyXrBjBvDnjsVMdinjMvuKRIMkT2j4TzNBt0jUswA513o7c?= =?us-ascii?Q?w7D+rym03iAGGOxxM3eTenza/yjpKUc+5HMv2W0uPE2KZ1L1lQ+tBn0MV6Sf?= =?us-ascii?Q?7JWvt5dFNuEJXj1nEvRhXKr9wnEX+CnJ4s96ak+wmYaqGQ1jpLsiSQ8VE69U?= =?us-ascii?Q?+AR7zBEtT6yLYDjiKCedKvIG6TBips42haumSqAuBXzUJbD8wKsPIEP/hQvu?= =?us-ascii?Q?3He+mkciOr9PMwOkAcwWoOIlOkf6EWqPhLa33hOT6QQkzPERXwfeuN+sER1B?= =?us-ascii?Q?ebr3K2c8v7AbverZNrtFeQnrbmte/3fWNGJTlUJXuomsUXo4VVB+MNEygKMl?= =?us-ascii?Q?DfwNt4/1J6mfUp0Gsk1pNje/gpOOCjd5lDdmSx8NT9kOlvydAoPcPRszV1YI?= =?us-ascii?Q?ZDhbBYigUQIwyDmwbxj1yN39t2PNQN6gTde5vjglIdbOY93rSbU4dN12gort?= =?us-ascii?Q?YijJhbJLel3yAMbg0/tGKagRAj8OvRCLErmQB2Qpwm72rfHIcj68X1YZD3ZG?= =?us-ascii?Q?V6SI/EWW94wHnkol+NToOFjI0vovVG69p0L7SoRna7ZO+DiLAw8D1+nVx+Td?= =?us-ascii?Q?8yLMKmmI2B4XZZmy7i5SaMCOtTvAMlorlbL2xI6Co5IHkZBpDKEVVxbqJOVx?= =?us-ascii?Q?U+4oMLLfTvN1EKDb12XeWoieJ5aZ5FTwdzwJR6tBwak3RF9xChdUjn3PR+Wn?= =?us-ascii?Q?ySWaWYUEcpgtibi/fGhe8ZwcP9nHmZwUdu0NibH1/AHoBGZWMdPnPagI4Epa?= =?us-ascii?Q?7ceBlJGovImTluaKjZDyVoAW7rv/4cQWOVrBoeYNNuhtZQLB7j3qh0jNfT6T?= =?us-ascii?Q?p/LHQoPi1aAX/+Z/013VVA90zR/HNwgYCn+XrSEG3QeGW95cHFjxYoehF6P0?= =?us-ascii?Q?1rg+6XssFNGUel7dPKOiLaNxpaD3Rmbrs9eyCMel0XvEKuaqj5uIfQBlWcjn?= =?us-ascii?Q?J5lzBatpF+r2AFFzHZifWZhrQvy5vi8UXA1KVt6kj1w39sEF30IXhx4kht/2?= =?us-ascii?Q?DMnnN85UNrcknOtsKYFZXHDih24pZnKWqcInj3Pk03nQQuqgOMEkVypf5q60?= =?us-ascii?Q?m5SGk9UWplJln2T9Ye7RG94vkKfMBY962B3hCsuBh4q5sanIbBJcWDBI/L8+?= =?us-ascii?Q?M6mKaf/iOwXXqALFHady5DjMvWB79b8SfYjre0YAWiXyWuYTM/ZJRr9WzIeP?= =?us-ascii?Q?Vg=3D=3D?= X-MS-Exchange-AntiSpam-ExternalHop-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-ExternalHop-MessageData-0: 20B6Yn7KMxEOXKWACGqwtYqhTZWtkXmD4cCfpc93YKaaXFFnYLMuXvfIeEsXZTzgpAkGiKajcwiy498LOBGvs1y/aNuJ7AoFStqHziwquR4/0nL87HIYehyOf0CMmZPQbAt3gLpEGS46+sK7muHBSl1N6AdoiCUSfm6v5FlWuxdjaFNmrnsvqb/j3xZtAas3P0khpKOmgwZSmu0b9oR/4ECgDO1m3MHBMlVwxRCP40eDWpyYl5c3urg448TR+mVoWOVjtU1PW9ojJpJGPXU8mz5/xKfwpI1J/ahqpzx+AavUf0MKButmRVOahU23xkkOAdQL2yfN3wMyTxEkb3SNTc8r6LhTWFads3wSosWKVRsCzvENAFaWFkJ1AvUuShBLDR40+eHKhUKkHi1iQrBZ6vM5yDAzGcGAlI0zHUJB0jFhzvGgolgOXKW27pWkPE7g/3nr0S0/2eMq18K3VDNuXUewX1KZeX53XIT0LrYSNlt1YjALgASpSnxePyRbm6Qzxnw11168sojUEr7PwXopZ+SLltiIVwc0qCBv5hjxlBwmtg39qG82PQ6cGkRI16fKU27XnKiU077plycs63Hc/1xREgOTemyqk/1qyz/i4kE= X-OriginatorOrg: oracle.com X-MS-Exchange-CrossTenant-Network-Message-Id: ef18fa52-88c1-4514-bee1-08ddc48f8f9c X-MS-Exchange-CrossTenant-AuthSource: BL4PR10MB8229.namprd10.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 16 Jul 2025 17:38:22.5675 (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: v6eQw5LVsJ44HVG/MkHekyZ05RJLrnFk6vDpLfJMifVzALuMjIxr5+tGC042hsJO7OPHaVFXn1sWsRK6V8yAtysFYTOKE+Emz7pDcHrXvWI= X-MS-Exchange-Transport-CrossTenantHeadersStamped: SA1PR10MB7683 X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1099,Hydra:6.1.9,FMLib:17.12.80.40 definitions=2025-07-16_03,2025-07-16_02,2025-03-28_01 X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 phishscore=0 mlxscore=0 spamscore=0 suspectscore=0 adultscore=0 mlxlogscore=999 bulkscore=0 malwarescore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2505160000 definitions=main-2507160159 X-Authority-Analysis: v=2.4 cv=d9T1yQjE c=1 sm=1 tr=0 ts=6877e39d cx=c_pps a=OOZaFjgC48PWsiFpTAqLcw==:117 a=OOZaFjgC48PWsiFpTAqLcw==: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=20KFwNOVAAAA:8 a=2PFmxa78D7MNR3FRbQQA:9 X-Proofpoint-ORIG-GUID: JCmjwyYEHGNrVlSoJeEGJPaYBnPTJztJ X-Proofpoint-Spam-Details-Enc: AW1haW4tMjUwNzE2MDE1OSBTYWx0ZWRfX9uGPS16kAPg5 NoFa0ryxvM08KqZebofeJ61w6B4e/po3HDK7q9M9Wme1gus/jE6nl1++i47InCPcbwyJ7oFAuZ+ jTElU5SHfUmw2JeoxFfBvTqOM4UuyXYtQJG0G7dZfO0GzMtj3erwpYbzbiLAnZklcWtynHIP28I hXM8gym52ana3m5mYzAkBwab9xIm7ZU+gbtefvnfx2N/UUJ5xuRGpcYmQ8SLJZYALWCM5zB/Rr1 55ssopZql3d+tcJFNYT96aE/c9P8tPPxUuCWIXB2cBk8uVsk29oGGUhY5EmzEbwUUcsy7Tu2nM2 fdszjPNiLAovjm/zhgdWbs7EiFB05UBfSvBk2L9hTtJwLVSDCgqHhucfHTKFjZPyNEQ5Tjk9LEh GP9FVijlI/Brt++xXToG3d6ZNRNCSE0EJJBTmw+dvcHRETgxAADt33a/pBpi4FyzAtDz+ApC X-Proofpoint-GUID: JCmjwyYEHGNrVlSoJeEGJPaYBnPTJztJ 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. Also add commentary to explain what's going on. Essentially - we disallow discarding of data in mseal()'d mappings in instances where the user couldn't otherwise write to that data. Shared mappings are always backed, so no discard will actually truly discard the data. Read-only anonymous and MAP_PRIVATE file-backed mappings are the ones we are interested in. We make a change to the logic here to correct a mistake - we must disallow discard of read-only MAP_PRIVATE file-backed mappings, which previously we were not. The justification for this change is to account for the case where: 1. A MAP_PRIVATE R/W file-backed mapping is established. 2. The mapping is written to, which backs it with anonymous memory. 3. The mapping is mprotect()'d read-only. 4. The mapping is mseal()'d. If we were to now allow discard of this data, it would mean mseal() would not prevent the unrecoverable discarding of data and it was thus violate the semantics of sealed VMAs. Finally, update the mseal tests, which were asserting previously that a read-only MAP_PRIVATE file-backed mapping could be discarded. Signed-off-by: Lorenzo Stoakes Reviewed-by: Liam R. Howlett Reviewed-by: Pedro Falcato Acked-by: David Hildenbrand --- mm/madvise.c | 63 ++++++++++++++++++++++++- mm/mseal.c | 49 ------------------- mm/vma.h | 7 --- tools/testing/selftests/mm/mseal_test.c | 3 +- 4 files changed, 63 insertions(+), 59 deletions(-) diff --git a/mm/madvise.c b/mm/madvise.c index 2bf80989d5b6..dc3d8497b0f4 100644 --- a/mm/madvise.c +++ b/mm/madvise.c @@ -19,6 +19,7 @@ #include #include #include +#include #include #include #include @@ -1255,6 +1256,66 @@ static long madvise_guard_remove(struct madvise_beha= vior *madv_behavior) &guard_remove_walk_ops, NULL); } =20 +#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 VMA isn't sealed we're good. */ + if (can_modify_vma(vma)) + return true; + + /* For a sealed VMA, we only care about discard operations. */ + if (!is_discard(madv_behavior->behavior)) + return true; + + /* + * But shared mappings are fine, as dirty pages will be written to a + * backing store regardless of discard. + */ + if (vma->vm_flags & VM_SHARED) + return true; + + /* If the user could write to the mapping anyway, then this is fine. */ + if ((vma->vm_flags & VM_WRITE) && + arch_vma_access_permitted(vma, /* write=3D */ true, + /* execute=3D */ false, /* foreign=3D */ false)) + return true; + + /* Otherwise, we are not permitted to perform this operation. */ + 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 @@ -1268,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; =20 - if (unlikely(!can_modify_vma_madv(madv_behavior->vma, behavior))) + if (unlikely(!can_madvise_modify(madv_behavior))) return -EPERM; =20 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); } =20 -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 acdcc515c459..85db5e880fcc 100644 --- a/mm/vma.h +++ b/mm/vma.h @@ -577,8 +577,6 @@ static inline bool can_modify_vma(struct vm_area_struct= *vma) return true; } =20 -bool can_modify_vma_madv(struct vm_area_struct *vma, int behavior); - #else =20 static inline bool can_modify_vma(struct vm_area_struct *vma) @@ -586,11 +584,6 @@ static inline bool can_modify_vma(struct vm_area_struc= t *vma) return true; } =20 -static inline bool can_modify_vma_madv(struct vm_area_struct *vma, int beh= avior) -{ - return true; -} - #endif =20 #if defined(CONFIG_STACK_GROWSUP) diff --git a/tools/testing/selftests/mm/mseal_test.c b/tools/testing/selfte= sts/mm/mseal_test.c index 005f29c86484..34c042da4de2 100644 --- a/tools/testing/selftests/mm/mseal_test.c +++ b/tools/testing/selftests/mm/mseal_test.c @@ -1712,7 +1712,6 @@ static void test_seal_discard_ro_anon_on_filebacked(b= ool seal) unsigned long size =3D 4 * page_size; int ret; int fd; - unsigned long mapflags =3D MAP_PRIVATE; =20 fd =3D memfd_create("test", 0); FAIL_TEST_IF_FALSE(fd > 0); @@ -1720,7 +1719,7 @@ static void test_seal_discard_ro_anon_on_filebacked(b= ool seal) ret =3D fallocate(fd, 0, 0, size); FAIL_TEST_IF_FALSE(!ret); =20 - ptr =3D mmap(NULL, size, PROT_READ, mapflags, fd, 0); + ptr =3D mmap(NULL, size, PROT_READ, MAP_SHARED, fd, 0); FAIL_TEST_IF_FALSE(ptr !=3D MAP_FAILED); =20 if (seal) { --=20 2.50.1 From nobody Mon Oct 6 20:56:47 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 6B7FF23BD0B for ; Wed, 16 Jul 2025 17:38:48 +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=1752687530; cv=fail; b=Z8dIY4Mg80j6q6ST3AtTAybJwulBsa5adiB7f6B3Esypw8COo5WoqM+RiV+kK7gqF50QO6kvRBbGI+rzkWUb2YTeG5P134TrMDHR0vS8UZR1TMVVAqjjg1Zz6NJH3l6JZxX1HAOONSe6f1FE8DtnDxMuKjkLRPkPPp3FeVuEI74= ARC-Message-Signature: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1752687530; c=relaxed/simple; bh=+2BQJ9UNURcE0K95XlVe4cyG0JoXWaU52im4FKBVuzU=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: Content-Type:MIME-Version; b=RJmHOEUqzclrFefIsk6MoVGi1pnwfnh6vBpdTE1/HYSExZUP7NGkrdmTfsEMPeQf3e3YPzzjp/bAIjmYV5D82a0wQ1lR532fg7Kbe9J+EzyPZqa2JFdtSdmN+10lhAx0X5qsYY/HYmZPr/ECuEDrRa030fbEjlM40XFfoU9qCwU= 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=FioIvDL7; dkim=pass (1024-bit key) header.d=oracle.onmicrosoft.com header.i=@oracle.onmicrosoft.com header.b=vlXrU617; 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="FioIvDL7"; dkim=pass (1024-bit key) header.d=oracle.onmicrosoft.com header.i=@oracle.onmicrosoft.com header.b="vlXrU617" Received: from pps.filterd (m0246632.ppops.net [127.0.0.1]) by mx0b-00069f02.pphosted.com (8.18.1.2/8.18.1.2) with ESMTP id 56GFqQSI025000; Wed, 16 Jul 2025 17:38:38 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=nRXAw/ySxM0kZIdLqpkIstosYWCmyi9ku3bEi5jfmoM=; b= FioIvDL7czuJY99oTFBDj6TH48eFh02vk5hgNsPjWQgYwoAlmZF2kHYVZJxj86eJ CW6SfXoE45vLAuXlsJVY5ZAFDKTGK9pHgEo39T+XhEFDM45UUsaOrJTfTKaH4gkn SStRBFk2p/1dwy6S7Z0J0G58Sh6goeWKfv8zDBy5OwTrxOz7QXR9f69Pd4+Cp0kw UmdGUgNfX5j6XnkofLPSYllAjj5hmeFqww8Bpu7UrmagBJkw1e8UQBoXvaPl7zIi SpDXE8YDVKKHoID50NV5JrwICC3U7+wD78wdvMUiOs6vBqgG7m+X9WkYwsI2zgts F+i8ZEl2ax7t9/cvguIwlA== Received: from phxpaimrmta02.imrmtpd1.prodappphxaev1.oraclevcn.com (phxpaimrmta02.appoci.oracle.com [147.154.114.232]) by mx0b-00069f02.pphosted.com (PPS) with ESMTPS id 47uhx81nsr-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Wed, 16 Jul 2025 17:38:37 +0000 (GMT) Received: from pps.filterd (phxpaimrmta02.imrmtpd1.prodappphxaev1.oraclevcn.com [127.0.0.1]) by phxpaimrmta02.imrmtpd1.prodappphxaev1.oraclevcn.com (8.18.1.2/8.18.1.2) with ESMTP id 56GGjssd029769; Wed, 16 Jul 2025 17:38:36 GMT Received: from nam04-dm6-obe.outbound.protection.outlook.com (mail-dm6nam04on2054.outbound.protection.outlook.com [40.107.102.54]) by phxpaimrmta02.imrmtpd1.prodappphxaev1.oraclevcn.com (PPS) with ESMTPS id 47ue5bcnq0-4 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Wed, 16 Jul 2025 17:38:36 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=g4N7+W4Nely9bt3udLR5SDlXz81/P1aUFnMOHMpXb3wjcsziYRsy4Br5/0gfjVtz4KZ6/4JKj2Nch0vXupb05uHvJebsagCyvvOl7hrf7fc96qRN5eLF+KNHib7fvQ3capYX4JRDlE9ZUHf9nctAhrwLimP133SpqWFJHhA3iCEiE4toIHruJh60FIQXldxGhigmd5H3eGECOOxt5I9R/YNamUh7UMBT0MqB9AXbId1/+4ahurjf2Hm0hwB+oJt5r1AvDHIPK4CLURb8YhTRtYi5ZPQC9QABtqVEacyCKjPuncw2EA6sWDifmjPGiOSXiyLNPPTVXxC8dQU4bsyjDg== 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=nRXAw/ySxM0kZIdLqpkIstosYWCmyi9ku3bEi5jfmoM=; b=plo6uE9pku5w4H1sgNN0Qht8WqjFJSRdjOIAuwzMEyB0H9T0JiTOGfVL5YqygkxUrITqXS/63h1LNFt7HVUSHKQ9HqN+a0vyEpHOXGQoEb6J9Onmo8DhqvFXnoHQhLlS1WDGkdilI6lrL1gLf6T3smbhQ0Je1GIdEWVxV2bpH1paCmtAYzFWW0NVvW0hleyWhj3mZc3WqpwH50fe/+c6flqdb31LgyDwDLf8oErRX1pOF4OZwj1J9iTX34tWE5i/oW92HfuA0qLWeaVpnirG6AeN0JgOIflntDjq0hLFBZcsWhSjVcHUHWuBj/Fsqcm32vm5JXA+wgMzeyf37EMLxg== 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=nRXAw/ySxM0kZIdLqpkIstosYWCmyi9ku3bEi5jfmoM=; b=vlXrU6179Fh30xTY2+J652DIscC2K8S3HIXw1UCaowj5DbAW28grvgv46ZflD6hNSQJuhb/8ilhh3J0fbPB7JP2WOO+CS091Igur4ti7w5j/YKQUMMejVJAfBbTQO7kyQwvSblUY5rFFDkvvgrrQjTauKoFVDz8z3dbApL28OqA= Received: from BL4PR10MB8229.namprd10.prod.outlook.com (2603:10b6:208:4e6::14) by SA1PR10MB7683.namprd10.prod.outlook.com (2603:10b6:806:386::12) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8880.16; Wed, 16 Jul 2025 17:38:34 +0000 Received: from BL4PR10MB8229.namprd10.prod.outlook.com ([fe80::552b:16d2:af:c582]) by BL4PR10MB8229.namprd10.prod.outlook.com ([fe80::552b:16d2:af:c582%3]) with mapi id 15.20.8901.036; Wed, 16 Jul 2025 17:38:34 +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 v3 3/5] mm/mseal: small cleanups Date: Wed, 16 Jul 2025 18:38:04 +0100 Message-ID: X-Mailer: git-send-email 2.50.1 In-Reply-To: References: Content-Transfer-Encoding: quoted-printable X-ClientProxiedBy: LO4P123CA0446.GBRP123.PROD.OUTLOOK.COM (2603:10a6:600:1a9::19) 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: BL4PR10MB8229:EE_|SA1PR10MB7683:EE_ X-MS-Office365-Filtering-Correlation-Id: 9dcabc9f-aee3-440b-ef4d-08ddc48f919b X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|1800799024|366016|376014; X-Microsoft-Antispam-Message-Info: =?us-ascii?Q?/p2DlczqscLR8wmrcU1TuuC3cBWOazaWdf4IhSiIXPgGCDA2mExEzj04kPIi?= =?us-ascii?Q?KwcgS6ABd7o51B5hFkrvY0pGCrwlbeTg2agDfGVmKgd/gIPgc/E9y4upgBXV?= =?us-ascii?Q?RnYfdq0YrrDAgxLETK/qgvHYkd3wTQxzw0TlT8+qQ4g6Q+I7BlrJDCODWHte?= =?us-ascii?Q?nkN7gcYvZJR+qbjmpaGgYjJOjv2LBM1DfKggRtdzfLO4wzPdVZhMrqeV2YJC?= =?us-ascii?Q?21bvxZ9vOgUZTfWJEROqQ3SRtTHx5sW0sqMzKq12kkdy7baxRhlIXdxE+N3K?= =?us-ascii?Q?eadO8oRcGCI/2BDM7Rkl/IwmfP+lHW+QKguwtI8A+bn/RkwPWGA7sh1w2zY0?= =?us-ascii?Q?jzlqjPUUx6G15UMnKkBNA4x/NjaZoHXZ/Yg8bEJ9P71WqZpnR8CX8NROIIAh?= =?us-ascii?Q?6LgdF8HZ75BHzT7UEJ9WYaL623PJpBmdU8pkCPo2Yk8vJAgVzyAKbcRfMAAM?= =?us-ascii?Q?dvOjB7JygPlQFJyVnHOSO4SYmmNBZr3qOOnm6srK4zwyzjWc3fqe4UnwaKCd?= =?us-ascii?Q?gcMUhLYc1HKXm9micXfKAtU1FdHjG8FwuQ8zyvCfQvIIaAPAt3XnThzt4tM9?= =?us-ascii?Q?oDPZVkZVuX1uj3XvhvAQqUlnxmVjqtR7/Pcq/x+9wzmdFwfTM81ZrHVtgdWh?= =?us-ascii?Q?uFQkqdfCOZpvCbJvW2vB5laYMj4LrYJMi1rM8Y5xdq3kxNivoYax/eI74z8v?= =?us-ascii?Q?ofYpQP1OTbfH6ovU2EzsPOMaRrruk8+uxw44lvVizQw4mxpAhLsilYpqalaE?= =?us-ascii?Q?i6RmPQ2fQHRbKJ0cPJLQhC1IUo3QjQvt5Rk5QCHhTb0Ycmhevr+RSmXZtN71?= =?us-ascii?Q?FNkp/LtcJUoNdY53XeYnvwuLxnrB5jYHWW7fSu15dIdZpiMMfoBsnEXs6tX6?= =?us-ascii?Q?FgXIOMRHY8BiA9/UELfYH5lh3dPRn0X3tQAYZ5hGWAjCyMPSjfz0e0RySg0s?= =?us-ascii?Q?jd+QLAS+bLTQTSwF/6TGax+nYvA9Ar7WS0gQo/c08DmFQbxg/IgVpdJ+PdwD?= =?us-ascii?Q?69Kzxq4rccHod738z2bkTC+/f4hFInYQtLZPKePk6cQbjf1NhFdJbwXZEfHY?= =?us-ascii?Q?+T9VgttGEEYQMbZQ2Rg2CNppYdQQmxXgJVR8TOkUOsLBLxkg8UGDqxj0OZuy?= =?us-ascii?Q?XuvK8uL7gRCoPbSi/wWhc4hw7rqm899DrFBIB7az9zDxwmf/wBQBV9zIOt4o?= =?us-ascii?Q?VJqy+SbiewnAk9jIUUkUuSiYl34ORSyDmssec5sLcUdQwANHuRc915QN7msH?= =?us-ascii?Q?Ep0H2zjpUTDN7z5wOVloannXYHYAqwsuRpKo2kjYmzjkc5sPcOvGxIhr16Hh?= =?us-ascii?Q?Ec66stNGmvUUYxlszBXmxpsjJU5zT2Vq3vPu4YF2WHE+Q5H1toW51C4uDzqp?= =?us-ascii?Q?LR0UkhIploK3nTPnaYrmljfKLOPvTnzrVn1wpdx2Zwh2CpAq8DXx3CEA0NKh?= =?us-ascii?Q?Pd3gcV5H4Qc=3D?= X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:BL4PR10MB8229.namprd10.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(1800799024)(366016)(376014);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?w1YjCwsn1AFrvCyb4Ud2qKaCJYQFCwV/n1bze9A5Azx4NSQ72BX0cjCQZjRP?= =?us-ascii?Q?nydU4d+yWsnWzNmRnMBozR/iW70L61ax9WSWpi2/aZnkIiBlpLAopYaraggp?= =?us-ascii?Q?tx0UvjxKNgIl+Hp/9gBpVW3ghV/2B03k5l1Oek7Wmwyc3YrdP9KpbSutkz8/?= =?us-ascii?Q?0JmjD8XLLAHeiQAydeYYKwjB7B7BS1d2Yz3QRqOSsukg+9SjBPd7Ml2IsfdE?= =?us-ascii?Q?O9YCzmb/UsR46yU1zH1VGaM0WM8MmO/GBkprxNbJ4977DvIGHxhHSxMybZEA?= =?us-ascii?Q?wtSviQ9L/NS/gy1o1KaCCO46L4vqNGkIK7yAGQ3qbM91ipltIKlCpxFS3pDd?= =?us-ascii?Q?CAMJtzFizjXLQK1vz0XMSjRPxgwnoXw/gDJU9dHp39YQ54qcMEHn1WtiN3yq?= =?us-ascii?Q?IxxDMFxZezFxdheboNUpNnW9HiHzm05MH9jVSbwkZXA0qEKVebFUoz7PaJ/K?= =?us-ascii?Q?4VdpPSQtDH6AvwvwOtCTIFwU4oVrxQJON7V4E5blDBlhuSY9tVJVAiY0rW7G?= =?us-ascii?Q?aPm07gb9nfRMeW/gKITtHQ7dfkVqTnmqwyf+cNJNtcBrzRNAdaX6JYCVSSLu?= =?us-ascii?Q?SctzjIaYu7E3QNenhFgROKx/uSFeO4gupQVN4awwzeYCqo90nGZW7npv+oWC?= =?us-ascii?Q?LgL3dlf5aB7p41aJwbdItl+0EMf/NVI5AavwR5a6xJVkP8wqkvlrJKZmyA+c?= =?us-ascii?Q?pFGPPXavlZyH8XjYQ6pwkLfm1o58oakK2v1eoEjVYOclY2KZkgtLF3sKqf9s?= =?us-ascii?Q?tRNdHl0WUTGSr5UYizigt5CRYpQRdepWKLV2YZSEG7k8aSp56x+dcFmkiodE?= =?us-ascii?Q?S2ZfLU5SCz4rDx/s01eXJe+OJqUIApixpYQjYIUL5P7N9QGXGIDEYtej5Lze?= =?us-ascii?Q?Zi0JkuTdDYgRmns0giDd3krbZTDMb1uAhteELXeF/y2fXffiGHpZAd6aLsqc?= =?us-ascii?Q?S5hx/q0tFFVVh8s1f1FdLIVRbXd62aorWkKaOHFgmCW8/PiQAtb/OU2dmxw0?= =?us-ascii?Q?F7KEGNvHkqZ5tfTbg8pIh3Od9nIWNnnSh/ca+SnLmannzHiQJ6iJUr5zamUC?= =?us-ascii?Q?4RvYlSnjV2Nl/aKZFNrtupIAm6LO7vgPi0YYG96vzkZXdBITuG1OyGEY4UeF?= =?us-ascii?Q?wAuUO1job0iOehwCZ2vURURPQ9vqaz/26LgxOjTCtv4wnwiSIKNVaFzLoaOH?= =?us-ascii?Q?ndys8u+c+UO2oIXVK40ls9fzAxHvvzXCwy5p+vfb7lTE697N+lUHppmBL81M?= =?us-ascii?Q?aIdcqZzNNnyY1jOUKG30IzEFR0Xp8tSepP0LIyMGCbRn3mRSrUvSgi5W4Ial?= =?us-ascii?Q?nDtMI+cn+l7eDcJRJi4G6al3J6CTjKKB41rnBRBYiP+jo4Vmfg5CSoJKrMOb?= =?us-ascii?Q?ii5pOlYht93BcKihPRFzURt7DYJNW4lDATk21wsms2beUiOXULK3wSDoP8a8?= =?us-ascii?Q?7bpVP3qvuDQNJ6546gnviaL7X3Tpz7k8IM75mES/LVN+R8bUj2RB2ZoOQaBA?= =?us-ascii?Q?TxCop875xeZZeUA+X1nvdWI2pRLUQzbaHqcwP/cSwE8Ajbg9A7osy3v3zT20?= =?us-ascii?Q?bvTCqTfsJsU73MMLdnTHHEG17Vd+zgesMEK8YivU4/NT15RNjEGI+iaNSvV2?= =?us-ascii?Q?Lg=3D=3D?= X-MS-Exchange-AntiSpam-ExternalHop-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-ExternalHop-MessageData-0: jAn77fI4E6LDpI+xgc3ytgC8CVZr9W8kst1V+aHTSadHLntqhs8LJRi7VecIau2UQjZl7g3+WlRpeEK0aWa8la4pAD4PP+I7W0DDCTy18OudnxF7eX6DsYvJt1srt1a7KiZCxGzJbbBUjJHuQX169bpBiTQrilLdKYmLcGJ/hizf6TIdDyT4GrvSDeKEB/k2hgULqLRJSMOeMpKEnuW0EqIAxI5tmM67zi4N1kcW/6/gSiWtz+UExXLhjw7yAaa514gugJIUjmnBpoFjN+ROYPw3G+5nyFe3pkBgPmYR37UWxhNuNyB/eNTszT4IQ6aJNHyDabudTCwvar/ZQBGg7ve6xtNLmUAYEqQe3nwXSc6RZb4p/2zK7dML4UwRft5SYJif/r5exVSQCbgKmjlzE2zsW9TXOG6jN1aSejOHyiaDe/8OjvX5elJmEVaudh/8Fk3pGXmI2SpJmJSLQbZgR5C34jXJS98T1KCM2kGOKQfKtpYd3kc5/kuCNRLXHiMnenil2e938U+3stRE8qdvwlxxE8f0k9qyL9utem+PcQpTUbeS5WkRHU3gnyZuRdHUvdvt0ZUksq4spV4wDdF+ZjdstkFu00PyjgG8BLbDGw0= X-OriginatorOrg: oracle.com X-MS-Exchange-CrossTenant-Network-Message-Id: 9dcabc9f-aee3-440b-ef4d-08ddc48f919b X-MS-Exchange-CrossTenant-AuthSource: DM4PR10MB8218.namprd10.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 16 Jul 2025 17:38:34.5901 (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: A8/pzD/+qOPMLziHq6iQ0m2l/DudbzUXYoDQF4OBxwanOm37vxdab6rEwGNhbXcVHUqAh5WbyKKHjr5ubsykmUgMyWzAiF8ZEHQIlQ2J0qY= X-MS-Exchange-Transport-CrossTenantHeadersStamped: SA1PR10MB7683 X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1099,Hydra:6.1.9,FMLib:17.12.80.40 definitions=2025-07-16_03,2025-07-16_02,2025-03-28_01 X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 phishscore=0 mlxscore=0 spamscore=0 suspectscore=0 adultscore=0 mlxlogscore=999 bulkscore=0 malwarescore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2505160000 definitions=main-2507160159 X-Authority-Analysis: v=2.4 cv=auKyCTZV c=1 sm=1 tr=0 ts=6877e39d cx=c_pps a=OOZaFjgC48PWsiFpTAqLcw==:117 a=OOZaFjgC48PWsiFpTAqLcw==: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=20KFwNOVAAAA:8 a=m8tF4krmssD7b1Yu0uMA:9 X-Proofpoint-ORIG-GUID: N7kaRjSeQsqZnJaFIKpHwLYLu_HOTj_c X-Proofpoint-Spam-Details-Enc: AW1haW4tMjUwNzE2MDE1OSBTYWx0ZWRfX1F3/qTLAzkrx A+aeleF7eAGLevdAn9nKszEwcbQHfMDrqdo0Nm74HyLAkNLeHenMkitPcLzEcm+M7AL6Gm/tL4X Emtw+U6IHbQteVmsSYuC69ziBj0NCzjaOwbHzY0Um90ixHAJf1xkwyfX89RboQAEmKgsHg+xv9v gIoSUWgDdD5wkNYaJ17Yjz8kNaXnHmZaUjeR+lnHd134d/7vgirt6x5qerlYuPPqYO0yprjgbij jJBpOtbesVIqW+GPHuEJ4IXuAYHe1tYNpkubIX+t3xqrqWmjnQFdEjPhsJXkqRJB2WWXjQwgZpq OgqPw9nHWTlNP5TsfmpXnPOdr2tCrx4jXxDu/6Myz1qtiTB1SUuAqrINHly+3X9foz6PU2SMX08 pZ+iqFHJmHMzjPzyGy9G4te032dxjLUevpBf+fBxuk/6FK+487ujsq1nImmB84dlJ4Bt2Bi3 X-Proofpoint-GUID: N7kaRjSeQsqZnJaFIKpHwLYLu_HOTj_c Content-Type: text/plain; charset="utf-8" Drop the wholly unnecessary set_vma_sealed() helper(), which is used only once, and place VMA_ITERATOR() declarations in the correct place. Retain vma_is_sealed(), and use it instead of the confusingly named can_modify_vma(), so it's abundantly clear what's being tested, rather then a nebulous sense of 'can the VMA be modified'. No functional change intended. Signed-off-by: Lorenzo Stoakes Reviewed-by: Liam R. Howlett Reviewed-by: Pedro Falcato Acked-by: David Hildenbrand Acked-by: Jeff Xu --- mm/madvise.c | 2 +- mm/mprotect.c | 2 +- mm/mremap.c | 2 +- mm/mseal.c | 9 +-------- mm/vma.c | 4 ++-- mm/vma.h | 20 ++------------------ 6 files changed, 8 insertions(+), 31 deletions(-) diff --git a/mm/madvise.c b/mm/madvise.c index dc3d8497b0f4..da6e0e7c00b5 100644 --- a/mm/madvise.c +++ b/mm/madvise.c @@ -1286,7 +1286,7 @@ static bool can_madvise_modify(struct madvise_behavio= r *madv_behavior) struct vm_area_struct *vma =3D madv_behavior->vma; =20 /* If the VMA isn't sealed we're good. */ - if (can_modify_vma(vma)) + if (!vma_is_sealed(vma)) return true; =20 /* For a sealed VMA, we only care about discard operations. */ diff --git a/mm/mprotect.c b/mm/mprotect.c index 88709c01177b..807939177065 100644 --- a/mm/mprotect.c +++ b/mm/mprotect.c @@ -605,7 +605,7 @@ mprotect_fixup(struct vma_iterator *vmi, struct mmu_gat= her *tlb, unsigned long charged =3D 0; int error; =20 - if (!can_modify_vma(vma)) + if (vma_is_sealed(vma)) return -EPERM; =20 if (newflags =3D=3D oldflags) { diff --git a/mm/mremap.c b/mm/mremap.c index 5b7fe8f36074..8e93eca86721 100644 --- a/mm/mremap.c +++ b/mm/mremap.c @@ -1649,7 +1649,7 @@ static int check_prep_vma(struct vma_remap_struct *vr= m) return -EFAULT; =20 /* If mseal()'d, mremap() is prohibited. */ - if (!can_modify_vma(vma)) + if (vma_is_sealed(vma)) return -EPERM; =20 /* Align to hugetlb page size, if required. */ 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" =20 -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; } =20 - 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); =20 /* 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); =20 vma =3D vma_iter_load(&vmi); diff --git a/mm/vma.c b/mm/vma.c index fc502b741dcf..75fd2759964b 100644 --- a/mm/vma.c +++ b/mm/vma.c @@ -1351,7 +1351,7 @@ static int vms_gather_munmap_vmas(struct vma_munmap_s= truct *vms, } =20 /* Don't bother splitting the VMA if we can't unmap it anyway */ - if (!can_modify_vma(vms->vma)) { + if (vma_is_sealed(vms->vma)) { error =3D -EPERM; goto start_split_failed; } @@ -1371,7 +1371,7 @@ static int vms_gather_munmap_vmas(struct vma_munmap_s= truct *vms, for_each_vma_range(*(vms->vmi), next, vms->end) { long nrpages; =20 - if (!can_modify_vma(next)) { + if (vma_is_sealed(next)) { error =3D -EPERM; goto modify_vma_failed; } diff --git a/mm/vma.h b/mm/vma.h index 85db5e880fcc..b123a9cdedb0 100644 --- a/mm/vma.h +++ b/mm/vma.h @@ -559,31 +559,15 @@ struct vm_area_struct *vma_iter_next_rewind(struct vm= a_iterator *vmi, } =20 #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. - */ -static inline bool can_modify_vma(struct vm_area_struct *vma) -{ - if (unlikely(vma_is_sealed(vma))) - return false; - - return true; -} - #else - -static inline bool can_modify_vma(struct vm_area_struct *vma) +static inline bool vma_is_sealed(struct vm_area_struct *vma) { - return true; + return false; } - #endif =20 #if defined(CONFIG_STACK_GROWSUP) --=20 2.50.1 From nobody Mon Oct 6 20:56:47 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 7A3222F7CE9 for ; Wed, 16 Jul 2025 17:38:54 +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=1752687536; cv=fail; b=GxH5QnxamIDnDlxX9nFN2Zr2RZUVpeAl/2S18jYKzxF3Asu+L9McFgJg5PjXTI05fYwe0dAvOqXRFeTprRVZGDaOAq+bZxlCChaAU/wkxNgz7yMgOtHNv/PhWXHGgPkT/xp67x9lkkDGOxYBUTy6A/3hj69hpiz0nHBCzSAnABY= ARC-Message-Signature: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1752687536; c=relaxed/simple; bh=znzlEWZPyJwxNWenksENFonZ0Fo4LTEetb9bu6MwdRs=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: Content-Type:MIME-Version; b=X6DWkGzLqAmkZzcgIye1eecOuzGbdx0D1vYcu4HW+2QWJMcszUWI5BZkiiPioBaYLr7ipx4ep3Y1eYNsh6ezFHaDcUdkChkm9ub2GPOC6jIIpoTAx3SftJpSRAmNI38tiUvv6mT0gUxOTbVrkc9rEZIit7liRfi4YlVz6SfGC2g= 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=JvnXWQM3; dkim=pass (1024-bit key) header.d=oracle.onmicrosoft.com header.i=@oracle.onmicrosoft.com header.b=LyxT1BXR; 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="JvnXWQM3"; dkim=pass (1024-bit key) header.d=oracle.onmicrosoft.com header.i=@oracle.onmicrosoft.com header.b="LyxT1BXR" Received: from pps.filterd (m0246632.ppops.net [127.0.0.1]) by mx0b-00069f02.pphosted.com (8.18.1.2/8.18.1.2) with ESMTP id 56GFqULD025004; Wed, 16 Jul 2025 17:38:44 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=E7kf82FZ9aIQjKp7NwN7L58S0yx0X5u3kX5n1JmjkyU=; b= JvnXWQM3PJaK1bJ1RGvsJxEvzchY+AhU9TT3ruzLIITJoLlE/R4NDVO3CiXrY8oo SopPyef85PPzEy4OdcBXuPwUqAN3nRzLruNddAAl3aNyrAuejHZ6eoF36cJjIPOx Gz4tTwwTySieJbmh43AhAevT81IQv2aLr9M4Sy/YVcwZ7toJz29wsB6Q9EKfkyc6 vYnP61FK40u6Lqs98YOBpuw/L3rHT9KtqTIvmCamsTJl8kNdIW7vI36QnZNsxZ98 /l1HHpvLczSrhN5p5FnxPO+0sfc85r/3Sn8hycC9XAyi88gh8G0yacCFixglpioR PkvYKL2bu5abr5Tvj8YEjA== Received: from phxpaimrmta01.imrmtpd1.prodappphxaev1.oraclevcn.com (phxpaimrmta01.appoci.oracle.com [138.1.114.2]) by mx0b-00069f02.pphosted.com (PPS) with ESMTPS id 47uhx81nt0-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Wed, 16 Jul 2025 17:38:43 +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 56GGnY0o030328; Wed, 16 Jul 2025 17:38:42 GMT Received: from nam11-bn8-obe.outbound.protection.outlook.com (mail-bn8nam11on2080.outbound.protection.outlook.com [40.107.236.80]) by phxpaimrmta01.imrmtpd1.prodappphxaev1.oraclevcn.com (PPS) with ESMTPS id 47ue5bmbhv-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Wed, 16 Jul 2025 17:38:42 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=D4xh8E3XiP/Ahs5p12rYZqgs1PzDIAwilhO5+sLHkuP9htY/lXy8cpb4pLSJ86iuxwdCx7wkC7frXqa5iryCxUQuPCm2x8eCzt+v4apaoQrCuaNkbUKhSMtwv38uNsIGZkGNZWbVSP1FowNPIe3S/7cDmaLAwdHdSct3p7RE8w9Vu50j82LNy0H1YyoXkEvdHLYiGlJN/DIMJnqgr0CQO20Vgn9vYKRqGxfG4W4PEVkzKDRMqijHF7Ji+0wg3ttyFzsEMZnXCAvhbQyXLJhKgEg6MHJ2oaoA3jWkqJU3WCvwj7o5ttGkYmWT1WHkDWLKABpbyIqdCfdO5P5T83bJ2w== 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=E7kf82FZ9aIQjKp7NwN7L58S0yx0X5u3kX5n1JmjkyU=; b=ASYy0gXTBQy528ZGJ6eSAAGwRENkAB5Ro2qBjwwgGmf/w7CDHOQIHO7iphWfRqjO0tvS8YHqfoAQUNHUoc8Ps5fDfHj+XQQbPEh9Y+z9dsd4z9oLhqZrPOZxrZpNFVpnZGvw+xtuP/+MrNWBso1/BM9n8g+lhlXxCEugsnCsU/tu7ed3BvvI2TEXEr7Drl2tRpWL07wO8pehrcNtEIbG1+Vq6BEKPkeFayeacQMfaWcb9O5+Vo/hLowEdGGapw0dkZoxMwZcbZFk3DNH4iRdZl7CdUfxTilAXqnLx1mCLQRQUEB0tfvPsML5W17enUCJpOS9POU9PqE3wJnVdFrUEQ== 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=E7kf82FZ9aIQjKp7NwN7L58S0yx0X5u3kX5n1JmjkyU=; b=LyxT1BXR9pCi81UeQnBEea5weblfLCe7Hf1h/hm9dYy5cmT1S61/UaGaAMeQLFxJMtwmSCatlFd1TMWJUyi8DgqSBcuQRHNbMi7hDJ2qZSL6KFtflFGXpIAg8ZxKhpuaVrVRLW45iMi5/USdiHlCQ6lMpyWUumsBnmzrJCEZ8gk= Received: from BL4PR10MB8229.namprd10.prod.outlook.com (2603:10b6:208:4e6::14) by SA1PR10MB7683.namprd10.prod.outlook.com (2603:10b6:806:386::12) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8880.16; Wed, 16 Jul 2025 17:38:39 +0000 Received: from BL4PR10MB8229.namprd10.prod.outlook.com ([fe80::552b:16d2:af:c582]) by BL4PR10MB8229.namprd10.prod.outlook.com ([fe80::552b:16d2:af:c582%3]) with mapi id 15.20.8901.036; Wed, 16 Jul 2025 17:38:38 +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 v3 4/5] mm/mseal: Simplify and rename VMA gap check Date: Wed, 16 Jul 2025 18:38:05 +0100 Message-ID: X-Mailer: git-send-email 2.50.1 In-Reply-To: References: Content-Transfer-Encoding: quoted-printable X-ClientProxiedBy: LO4P302CA0007.GBRP302.PROD.OUTLOOK.COM (2603:10a6:600:2c2::14) To BL4PR10MB8229.namprd10.prod.outlook.com (2603:10b6:208:4e6::14) 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: BL4PR10MB8229:EE_|SA1PR10MB7683:EE_ X-MS-Office365-Filtering-Correlation-Id: b5ed87a5-2702-4646-b597-08ddc48f98e5 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|1800799024|366016|376014; X-Microsoft-Antispam-Message-Info: =?us-ascii?Q?QKAoHXU8OetPvy9haFxlsSreakA36cz09CMdy9RaM/KKWfXK3EYP9pH95lxY?= =?us-ascii?Q?qdvJR5+JS5uWnF2XBrQ3jxicotdHuJNVL5QuQnVA7Fu1mbBH3YQWNnhxf12a?= =?us-ascii?Q?PQ0+pWaNBDXGzRCtaWs8aqPvG105MHXjo1/MfdImwSFbu9vvdbuP3D2o3pWk?= =?us-ascii?Q?vTb5nH+5NBA/4+GWMTbc+vf60njyv0vngkAj2hUPlV7dslE1+smDGQYOeZ60?= =?us-ascii?Q?cUBzobm15wf2FW79XwO+53sTiAOhJfu1mqQ0nzgjTDsjsn9KZF3WGQHUzqsr?= =?us-ascii?Q?wGp2uL/htchmE4e1ZhoX8Le/9VIjD0Ns0BvQoivu+DOnkIi8U9jPf3f+rBYG?= =?us-ascii?Q?oAx7kcqQZRhUy1mGrNe4PBIZHr1jQWOU2VvNaOp9idVhqVO4Lvr4GvjHdFda?= =?us-ascii?Q?pzYJKtU7R5jCnDO/v0br2ZNe7E65NebAHf+6GDzQGxyxi8Qk3NbKLbtO3V1T?= =?us-ascii?Q?g6AE2ipJRm2/74kp6Fbr/OH1Sqb6oo6zZTvTV6bG3IHSeD1t6GG1Go1YLgud?= =?us-ascii?Q?MVusKCpbEVybuluycUyof8xhD6UHh+qMK2UbQtmxx0ngiHhF0dVpubN+SFE5?= =?us-ascii?Q?v6RJFOSZ8vJD4ptXVLRPO76BoR8NDtYEoHE+Yp7l1x6X0qxMHUsKaG7QpoR4?= =?us-ascii?Q?yrME7XLj5HDYBGq/SJhzf0/y2pu/3RAWTBF1zTqvAcZEik40hjVqVJ5milCF?= =?us-ascii?Q?wmyNBI1+R2BZvVdPB8DhwsNZcouj9cpqOROSdyf8HysFRRnujPg1GlDsJri/?= =?us-ascii?Q?1NPzXjF6k5Comeb1wZK9lkhmhg3ejJnvA0L4x34JMUTfs1jdxHoOaPufQ8r1?= =?us-ascii?Q?U9dHLqV2ukCVQGOFBJ74Zp+bQO6yBOSeNKKn/7fnLw3bkKz1ianbiHg3dxWd?= =?us-ascii?Q?KQD30kvX6ZFnCA7ybGEmgQOCmOnS2P+IEW7ClTcLjOziwpMuPxfd3wBmXIcF?= =?us-ascii?Q?Cske7BeqB3encVPYGaq18Ecvbfmc7nBp2I29kOFKo/IuX4jNxVi9CGyc12pP?= =?us-ascii?Q?lNHBXZCRfoph0pfcpH4tjG8UtGKfSKT2aupc13R+64lrOy//bCYtfS6g9TKB?= =?us-ascii?Q?sOo6G2BydfAbsSfrr+uMpwNAgrqTLkAtaHhNQxf3wdr5DH+gC/J3J2/R04M8?= =?us-ascii?Q?I7UjWowV3DZPWfookyzNAkmE+BCHjptMLddnIC6wgpyt7EDrtKxr5P8Oatfv?= =?us-ascii?Q?2A5gfdKw62q/JYpFko6o58VVlMdz/NOGtUBnu6dYHPYoAnetI38any8Dj2vX?= =?us-ascii?Q?IKy/VCnYYu0hil66WaERvDc9gxFfQc6NBX7nuPr8em4KsL7M0h+kDgJ2/WtQ?= =?us-ascii?Q?3qiL+hpaSnUbsWk1yF67GCf02SCUHKcA6dOhTnO7Dp+EQFAPEJEBM2cTx+Xf?= =?us-ascii?Q?Z8jbm1oO1bvmHrG8WfOVqYCKLE83Auz1buy1mE+E1DXQ2ELH+m8TsGRMku7Y?= =?us-ascii?Q?xs2dBV/MZ7s=3D?= X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:BL4PR10MB8229.namprd10.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(1800799024)(366016)(376014);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?xEkEbU5x72NODVLljR9oSkvxp2k9+huFY1gsF6WuwzSmsJ7eqiLRmENb0J8F?= =?us-ascii?Q?Srt0mRI80bXcnPHhCpTemoEqu82dRW5IkRtyXfLZvxmWPSyEVMlioLPelMdM?= =?us-ascii?Q?jdEp0NVMVFDXOr+fZUfvX2UiVYLp1ArheMPguR2+oQd/k9bWap/gdlFOPzzy?= =?us-ascii?Q?KoM2vvVJRA1ZY0qTA+/KG5VTXSVdk4ZEMX0M2+bbol4D7TslJjk5yuzlPnfp?= =?us-ascii?Q?tpKA6LEve4tFz7LiH+Hdsd0nNtER0+nfhv/BM7NxPT0QuqMVTsTH5KdTmANO?= =?us-ascii?Q?/3FiHFdqC92hjK4vwQvxzH79yw0+oUabefF6xiWUyRDouJtNTH1rL+T4IMMk?= =?us-ascii?Q?sIrh9KwOE7NPwYCUY++02TaXPi6RA6d2LSWD3/r0P0ny1ojHzdi1uRHp1s0J?= =?us-ascii?Q?Azg+IJ7Do97cxf5r6G/4dnYEbicn4qtBAll20IKqFdx+vqOuqh0V/17hty3i?= =?us-ascii?Q?yX2IBVAWoDTfjtQMj5eO4X0ehxh3RUx62wPLxBVAYiHpWZUhBJlZ3nhMbvtW?= =?us-ascii?Q?AAimBwa9k2ZA/7RGFPI5ocIHydW4nc77VaZIgUYWYFzOtnEkhf/3OW0dZ4vA?= =?us-ascii?Q?YImtxKnsP+HEHyaghdGN5a8ieIPrFgweorg/KzouQv1MFGjXLOxzpGyuZSx+?= =?us-ascii?Q?IjyApw0do0fI3pPni9KC8MbG8tMVOHqBolqxyXYZCyqI6xPP6FhtlXD2aeC0?= =?us-ascii?Q?GWlKXVmBuR/yMOEo3uUpmiDY1Fw+DBIivk6uwWdSeaz3Gue+lmD1MFPude52?= =?us-ascii?Q?lR1D0vW7j//LKDOslyugE805VXPG1vYl3wt5ZXlk+yHmbvALYW/0QtW/j7OU?= =?us-ascii?Q?C252lEQxwMoePbSRVTsW1OC6ldR3daNhhlStI1WoLPHg+y1wKQhg4veoMicK?= =?us-ascii?Q?HM1/1ollVyEe7S6rMtnb7hjhlmoq2PESyecVW13P8/nivmquxEfmcw41RYp8?= =?us-ascii?Q?h5QPPLtWJ5wfTY6WQ2KYK0DoIiNgmRv7WX7RQhaIAnWNb3xW1SQuVmFJmGCW?= =?us-ascii?Q?zIFsUk/RtkRvRAPpwjsEd6gEVMBnMB2Zo+vUn2zPU6HJgOoViD+cQNn2Html?= =?us-ascii?Q?v8ATnUHuLtL7CcbGcI6n1U6juOOQRbAfy55WAhkaz5tDDBHnL0UzMBe3oNIK?= =?us-ascii?Q?hJrUYWuanwC0zwTkYvUGcGZAA9Il9HaRSW5eJurMmuCLuF/XlzW0iutxSHIy?= =?us-ascii?Q?VPP49iNOXX1+Z+gqH7aqeytBYxua6XC+wh/usuwkeyObyb7SeEl1w0ipXT9o?= =?us-ascii?Q?RuqAAqTbpiKq83Y4C2EeK74TZ+XCukkRus7jFO0KB5hJRPDxfP+Nc8CLuC+y?= =?us-ascii?Q?l00DDulKrbVAEGK89V2l2eWykgQSFTymUZLL90wcnM9Mt/gbqyTpsBpUkgG6?= =?us-ascii?Q?q7xcFQlFlLfhsQO8npIaxSbDjE7llQQPLgWRajIOA1C60Bbch6OBxUXBVqrf?= =?us-ascii?Q?hABIo4cu78DmUQkW2pHxSprs/9XkMnmlZ67QgEEeAeGBgJ7X1MdLtKbbR5pR?= =?us-ascii?Q?Ya1V8ziiLXY9vJwRNQT95QHFZBfyjbMl6atrjNXBTAxc3WHgh+3lCivnRkj1?= =?us-ascii?Q?mLmHDM5yVZ3dXtyd5TtkEsGf4Yrjw25k766pTpnlvhq4cSGRWn8Muj3nitQJ?= =?us-ascii?Q?WQ=3D=3D?= X-MS-Exchange-AntiSpam-ExternalHop-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-ExternalHop-MessageData-0: cKMHylhL9DKbZUglfU3/njx4jGqVCY6XhxEcKEOfZde4pmbmxdlStFl23bEYaCAo4ASSN6RDTXNFl4kx282G1otPB6qeOl4tob+YPeQrM2TTqinpK+RFdrcwCiLsTYKK5JKiCmg0IQBVPTqNn4PPbN9hdPW66gL+g4uC/3GGoPCk1lgyess72Nxv3/bCr6/lcrcEAz7Qda9Fhe11k/RlWa5hq1IdJCi7YWPTxkR9busWny7upKGs5laSdWbS8J4EQtriRjK8ccuJlWyEhf6XUeVYMYXm5R9TsUOCnRptKObnPasBQbMiszute45adpmOthpwbYFj2hhO04mdFPDokghzDFdos2HfspHaNR0e7YMqquKVFuqkXF1EPjQKbDX96UCeRfBubREBi8V1AG6CTl/y0jW4wAeW/sAYNdSLODDUMVHFmlW9wIYTQ+jG77AKIw0wkUC+bFTIq4p78MBqH2DlVKsg+4FK1U/bwtyYPYotDkQkKdb3PgfkmaTR/ERsYUJsAdmc2tQvr17uxmeujIP/7/YpedbkH4VgwYd7UWh+sT+HSaHsQtktzKaYpfX0XMTMZ/mWoRb/Gs/dokEh+SSfvDHtHRcCA8uDYFrHDxA= X-OriginatorOrg: oracle.com X-MS-Exchange-CrossTenant-Network-Message-Id: b5ed87a5-2702-4646-b597-08ddc48f98e5 X-MS-Exchange-CrossTenant-AuthSource: BL4PR10MB8229.namprd10.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 16 Jul 2025 17:38:38.1435 (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: y3/MnzTCYvi/uX9lkzLhL01FdJMrUTsHQ3PnxsKsFUC9dEJGlbERCIZB/5Deks1+FUkdC00tshJeBPe+09Q1Llp15I3FcMxJcsqTgfpDznY= X-MS-Exchange-Transport-CrossTenantHeadersStamped: SA1PR10MB7683 X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1099,Hydra:6.1.9,FMLib:17.12.80.40 definitions=2025-07-16_03,2025-07-16_02,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-2507160159 X-Authority-Analysis: v=2.4 cv=auKyCTZV c=1 sm=1 tr=0 ts=6877e3a3 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=20KFwNOVAAAA:8 a=qMmrSB22KtVtcMM35qUA:9 X-Proofpoint-ORIG-GUID: 74isZJNjUzv9FGVUiUrr5YXT4kycGjFz X-Proofpoint-Spam-Details-Enc: AW1haW4tMjUwNzE2MDE1OSBTYWx0ZWRfXy4QGDOGylPOH t+nBkAlusrYZPqZ7sIP6w9adbi2hWYd2GERQWhFAeYKWuUVuBhi/30jXB5U8BVbGAfwelyqSE3r pwSH6SYwfg5H+Xt4E2t+Nl5aHYzfcWoSefQwVoyLm9Mq/ztGYzQN9JOLqM0noCiIK1DpPYkOk4T LOw6RgSFj3Nd/v/TUmPbeeU57CLCt4KyDEmfv4buCClJBDcPeAmAZFf2mg2EJUTO49lsb28BD0t LXbhP0XIlp7HlRO250UVcjOOUYpRkFJLB5BKE+lp9XDSj9VwzyfZ/zP8P7YOej3BA/Qr0HBMApQ MQXN/RW93hOPQRtFaZLO9O3Ao2O7vA8ZvPisWmWPlntC2TpOX78BRmPzI8TZdDf5gIohq9orRNG ZLCG7ASZPnsjPLvHJOvQuVY447k/40CL0tJser6csXJzAYzzoUjVENVTyGUfwUkAYy00QWXF X-Proofpoint-GUID: 74isZJNjUzv9FGVUiUrr5YXT4kycGjFz 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). So rename this function to range_contains_unmapped(). Additionally 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. This check is rather dubious, so it is sensible to keep it local to mm/mseal.c as at a later stage it may be removed, and we don't want any other mm code to perform such a check. No functional change intended. Signed-off-by: Lorenzo Stoakes Reviewed-by: Liam R. Howlett Acked-by: David Hildenbrand --- mm/mseal.c | 36 +++++++++++------------------------- 1 file changed, 11 insertions(+), 25 deletions(-) diff --git a/mm/mseal.c b/mm/mseal.c index adbcc65e9660..61c07b1369cb 100644 --- a/mm/mseal.c +++ b/mm/mseal.c @@ -37,32 +37,22 @@ static int mseal_fixup(struct vma_iterator *vmi, struct= vm_area_struct *vma, return ret; } =20 -/* - * 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) +/* Does the [start, end) range contain any unmapped memory? */ +static bool range_contains_unmapped(struct mm_struct *mm, + unsigned long start, unsigned long end) { struct vm_area_struct *vma; - unsigned long nstart =3D start; + unsigned long prev_end =3D start; VMA_ITERATOR(vmi, current->mm, start); =20 - /* 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; + if (vma->vm_start > prev_end) + return true; =20 - nstart =3D vma->vm_end; + prev_end =3D vma->vm_end; } =20 - return -ENOMEM; + return prev_end < end; } =20 /* @@ -184,14 +174,10 @@ int do_mseal(unsigned long start, size_t len_in, unsi= gned long flags) if (mmap_write_lock_killable(mm)) return -EINTR; =20 - /* - * 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; + } =20 /* * Second pass, this should success, unless there are errors --=20 2.50.1 From nobody Mon Oct 6 20:56:47 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 67B902F6F83 for ; Wed, 16 Jul 2025 17:38:58 +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=1752687540; cv=fail; b=IDRqCNseEiFwcDykDziTSahS388C65P2Gw+CD7dxd+F7DaekrrEPC8v46jhaEYRfR/ozM3BmQipGM6P+6/CnIcp84ZcmEhTde1DM9UU/Meme8F6gq8l1MWROaM5nw7dMb9ruSMpxpbovjPq/zH2MNrJAni8UTOH27TbUV6z1K0k= ARC-Message-Signature: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1752687540; c=relaxed/simple; bh=zIfEb65/LRj8RtZgAYaJm69rGjnJS4xHjZs1+XyZOBU=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: Content-Type:MIME-Version; b=fVenm3tZrOoblpsqr7JLyTHBWY1mpP2Mf5CLboH1qrSco1gt3SsRTTJJiSvTVgbT7KUKiyvECm47O5Bx7vk6GrTRg8kb6yfSkRD527OxLdLYA8HlnQUtgERhZUfkewh1Vd7aGvfY8pQWLc4aP2z627KTv/wpHUuXx2o3dKcyqjw= 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=c5C+cBuB; dkim=pass (1024-bit key) header.d=oracle.onmicrosoft.com header.i=@oracle.onmicrosoft.com header.b=lfWl1PgU; 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="c5C+cBuB"; dkim=pass (1024-bit key) header.d=oracle.onmicrosoft.com header.i=@oracle.onmicrosoft.com header.b="lfWl1PgU" Received: from pps.filterd (m0246629.ppops.net [127.0.0.1]) by mx0b-00069f02.pphosted.com (8.18.1.2/8.18.1.2) with ESMTP id 56GFrAbU011160; Wed, 16 Jul 2025 17:38:44 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=/82vPa79czhaMrGtcMOuP7oWMZin6m2ckvlM2o8LNNQ=; b= c5C+cBuBQepXbjlJZXriLBW23AiIDNYb76ENzqGBtq56DiNKO9py/I+G3gQh5XVN xHo94Wh5Id61vX8z4g6g8yhHvTmXX95SXrkrwJhjAAbCpNkjS558Q3u5QRQk4fSF SHNg0S1/qbRFZn7aeB2qIeiD+g6iD40bgNfOjI/sM7js22DSggsWpkPZ+wVYNIkf oyCvdhAHA64lNTJTuk6++ij5rKLoFoElQDIqrYs5nlYxihllKILcLrEzrNYkbd/O KOYHRIGTySMButj3mKW14MKlmEuq70IPXWSRUWwd/Ra1CyiJ0LMNoigkcnsqReVZ /AmM5YrRWTh9xJRnqtwBFg== Received: from phxpaimrmta01.imrmtpd1.prodappphxaev1.oraclevcn.com (phxpaimrmta01.appoci.oracle.com [138.1.114.2]) by mx0b-00069f02.pphosted.com (PPS) with ESMTPS id 47uk67161w-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Wed, 16 Jul 2025 17:38:44 +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 56GGnY0p030328; Wed, 16 Jul 2025 17:38:43 GMT Received: from nam11-bn8-obe.outbound.protection.outlook.com (mail-bn8nam11on2080.outbound.protection.outlook.com [40.107.236.80]) by phxpaimrmta01.imrmtpd1.prodappphxaev1.oraclevcn.com (PPS) with ESMTPS id 47ue5bmbhv-2 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Wed, 16 Jul 2025 17:38:43 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=dx1cm8ZzSjoslSSPyVRa9t74w7TnvX8LzsPtK4sFWn+ftKFBQp+SJcyiDO7yUXyQW18WgLBoFG1lX45+UZDphSzLCseJ/RgxTcEd6Hb2ETvDSnfT2jf5MZiUGwb2CX2sopiJIynJHsOKDYmzG83R2hu568eNaz7a7NlpdFyfSwF+qbmNcdreg3J2obLz73sATgvx4e+DfdlYKVoyU+DPf7kh6jWuVJLtn4CTIxIlDnlWHjKJmKx4daAJEsCUIOevWUjjd6dIHQ9iqwudkzJo3U37NG6cEBb80ba/wLSF7vxdgM3xU1H++tkzvlARZD7JkepZpSum+4EIthbTQGF+Lg== 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=/82vPa79czhaMrGtcMOuP7oWMZin6m2ckvlM2o8LNNQ=; b=UDfOtpid9gn3jSwY4cwvRS46nNMcXqczQABVuVs8KocDslaCDEMAPr+w3EYqu1hGVmDd+qnwzD6T1xYx+mBL5w5S3kEq7rVSRdbBxV2uIkRpxvsAYj19W5sIA1dcTIjkr3iNYAevtjSIqCbIZMERh1EaOs5UGSHBiSJi7BktXqSSlHR/A9FGBTiIQajz6FUAdAQt49UXnGt+4jw8SY82sBpf82Rug3BQlHB+br7SDbzC8t63CAFerYp1njkBKjY87X0Gp2wGpUWyUTnL3GhgOTC2/37zeHobQycflU/n8UVghJY/BxnGIymSx2TtgylS/29ZQlTKuXFFD96vdLvF3A== 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=/82vPa79czhaMrGtcMOuP7oWMZin6m2ckvlM2o8LNNQ=; b=lfWl1PgUlen19L/vbN7kZzpZU8DIR3+bTBjSIfaVA0HuXuGBiu9lA3GVAEsVuAunafLAMp1gvHEkF+iSwlDCC/JkQHWP1UGX0sfPXHnnAi8ehNU77+PCnKl/3yl+RW2icYEE7TH6zQJ3rNvE6EaXuylmp4U9Gy/Zq8cjCck1pFM= Received: from BL4PR10MB8229.namprd10.prod.outlook.com (2603:10b6:208:4e6::14) by SA1PR10MB7683.namprd10.prod.outlook.com (2603:10b6:806:386::12) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8880.16; Wed, 16 Jul 2025 17:38:40 +0000 Received: from BL4PR10MB8229.namprd10.prod.outlook.com ([fe80::552b:16d2:af:c582]) by BL4PR10MB8229.namprd10.prod.outlook.com ([fe80::552b:16d2:af:c582%3]) with mapi id 15.20.8901.036; Wed, 16 Jul 2025 17:38:40 +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 v3 5/5] mm/mseal: rework mseal apply logic Date: Wed, 16 Jul 2025 18:38:06 +0100 Message-ID: <9ae70e1c509d790cf174f16e491975efd9be50b6.1752687069.git.lorenzo.stoakes@oracle.com> X-Mailer: git-send-email 2.50.1 In-Reply-To: References: Content-Transfer-Encoding: quoted-printable X-ClientProxiedBy: LO4P123CA0376.GBRP123.PROD.OUTLOOK.COM (2603:10a6:600:18e::21) 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: BL4PR10MB8229:EE_|SA1PR10MB7683:EE_ X-MS-Office365-Filtering-Correlation-Id: 7dd7c2be-87ff-40c8-b6ea-08ddc48f9a22 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|1800799024|366016|376014; X-Microsoft-Antispam-Message-Info: =?us-ascii?Q?4Q+4jbK/oyvqJW8Ug499UrC7dfria7htuUy8SFAazPcoQTzvzKYr72THTkOs?= =?us-ascii?Q?pnyvaXRcJP0lTG1U/fsejP1C7X3R7ewSuL0Cif37jQlGCJyoe4hvogsb4CIT?= =?us-ascii?Q?hPVUgEeLdrTUeEvtPgBD12HvlSW70rhjPDJMA+i0R9CpKOmHEp41zCEKjnAG?= =?us-ascii?Q?jBht6fymXoLc7LCRP5CR26TGJB0+6eSLK/0ercVyHui7bDHQS2Boyt+BzJkK?= =?us-ascii?Q?MJZ0zLCw42BQZmbY+/SYjgZfaT1PbYuKv5n6tmR6v3ZcXJt3BOCLBuBuqpFQ?= =?us-ascii?Q?Rsbu4deeiaaVRlgXNawf1WJJaGpk9RYtvZC3xH7PLzoQXXGAiDQu8gCf5u2a?= =?us-ascii?Q?UrMJOty9avP6K/zGJVlraMrmCSfUv7OHOwtdPtO2kf9Ci7HqNXLbsVBBsWL+?= =?us-ascii?Q?aeye0/IWKGR+HFu+4WV1+mPdbDWe/8cd9RWZqDDzBxCckfbGZTeNFIpcat/a?= =?us-ascii?Q?qnq6mfGD7/xdMq7upO7WPyH6f474NB6sXm+uMfMN4kDTO4fBeKDbv7h02suF?= =?us-ascii?Q?v1b9/c2RxM/SOcg6Oi6Oe1zDfgaMULQ/9nD/RSfV9UI6ERUYbhnovoMLPy+1?= =?us-ascii?Q?whdNOFIxpK4A+mtUnj2k2aN7j4hrXrXITVC6heqZssUIu/H268lS2wE/qFeK?= =?us-ascii?Q?zbUDKfOyu+QnbOTfsVV7Wbbv1dgr/rHRZQsbWskkQ8hgwwyFI3tXc1d1KkMC?= =?us-ascii?Q?TxIqEuxJl1WXZUOwr7e1rD9M/lj1kIUb+szYKgTbzC5t2OBuVBJJ0hP4oWDt?= =?us-ascii?Q?g4hFrRbY6RGWX+wMYg2HTXwIyL3BWe/DzJXQN3YlnyPB3Jivp5U5rGotoTNT?= =?us-ascii?Q?9hGT/aCHJVhGbHpmL/BMRZjmqpzs0eB6fCfIzr+9I8+Ah5BrmzarnXk69XGO?= =?us-ascii?Q?Fi8VA7YkFiIKvOn2/F9vSfpuweOm8OjCv4r7INHPbZG0OacG11UZ6pFN71QB?= =?us-ascii?Q?THiRVWBjQoLPZDC0JI36ZJwOGGkce5+H4/egcdMwoeM46auY8mdAhH36gG8q?= =?us-ascii?Q?mceSPYznisAjuCs7aeBQebmNUIInFw5LE0HDx9vhB38afoCUjYwbrJwGxSNW?= =?us-ascii?Q?7wVQygDIpL8aCvpgox7uHkkLsDogu1Mp1/p8QTSOmX/kDo3usSbSIo/GgUfW?= =?us-ascii?Q?kgCaqbg4yRxkemt7ErCgzGrwealdRMpVFlKP6FGCaaLE0biEw2K9cGbjI8Pq?= =?us-ascii?Q?v/WUxAbRo8O4X0vI2dy1Be0jJ7VbJM5YEruqUc7KEJyaAbV/o2CQ9uXE/Vcr?= =?us-ascii?Q?FKoj4eIsl+nBpcY6nHugEwc37IxVmJHWZSmmQB4TwUGs99Fl6RnXStrjjf/1?= =?us-ascii?Q?wB+key29e64LI6/6yMYaFXDBIlZW+lWBvbjJ1IiS50y0ZIo0Wq8pN1SQGBeT?= =?us-ascii?Q?sOW/O1jv+CYEdPI5RpeUHhE39jmRBzmRFPhwcLP2AmGH8woIgL7IqTxA9BZD?= =?us-ascii?Q?0kk6HAByKoE=3D?= X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:BL4PR10MB8229.namprd10.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(1800799024)(366016)(376014);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?PP5toL5itB0gr+46qBbMwNUcVe7wU0LXRfp4KB9fVBmKGOVJHLCFx/97zvI+?= =?us-ascii?Q?Mk6n7zNf3Undq4WxpyJSn52+AaL83GXP7nCzBtty1l0nCJKkZbAM9Qi0TOeE?= =?us-ascii?Q?RqexgFq9BgtYLgdYnLKFxhDO1NiPRbxBeQ3GBx2Rkl+DhIjUH2ZHPDo0MpK7?= =?us-ascii?Q?C5M7ZA71e6QgqJIKjoLi1faewJZX0X5uAmu2359UwK/V3HcIBthe4Kh3m05d?= =?us-ascii?Q?qeGmXJbglBRyuNyIkLaXIe/FGUYuOJ8HKVAYEJjD/7eDL0wpiVagNb2eJ5Ue?= =?us-ascii?Q?gnjZ0AWcA+QOjZEu0n5JQlRNZhCr0A2Qng80Smfwp5AtWkLdIsprm8+yz3RW?= =?us-ascii?Q?78rY+4phg7mYPCSDbky0j9jclGgLci7D1x19D6HNuHOEbEMP+1WB5Sza5eMz?= =?us-ascii?Q?LQqS5l2+t2KiW0RbcfBtCyLJWz6DNM9SFuow83Hm2fzWp9kodfo2QzbYzdLF?= =?us-ascii?Q?/hS82CDd5pU6E4waP6m9JEin6LGMyWp08l0y7qEtuMreHOjiJwou+NG9ZIXn?= =?us-ascii?Q?bURB/bw4AuAsXxmDfUZJ2jj0fZZK+B8gRAwti5g6uagsmDSkjfXTiSyQ5ydN?= =?us-ascii?Q?+VLZHf9Mnwfc4mabgxm+LAKSdKqKFW+IHW06nssABHk5jGHpPu38loPtwejs?= =?us-ascii?Q?9acw0FQ9v76FjU1eWs9V2hMwHoSCuo3i0BCH0pyvrGAUXHuP2Fn8B2AiKkYn?= =?us-ascii?Q?ZldWHv86A8UpeUpapukYA7WEeGW71hM4FqKdTVrw7MXMI0x7o/dan+0S83Jd?= =?us-ascii?Q?7HLG72C9i1Ao6crKtylaodMRzMU2EOG6c6S3VufByNghwyK0xzEkee2Gbk7n?= =?us-ascii?Q?pdMm9Zu2d0/otO6g0xJRE1meXuv3nzTiEP3a2pz4ca3SOjgqX1NVN8fn+z1T?= =?us-ascii?Q?/0ZkSCirgrYOiWpIQUGeQofOwDCLraDXCw15aAw93lZl31jR0gc5jp7x0w6V?= =?us-ascii?Q?JZ6uCiUtWhlm481lmqiJS2i9uBVWcLJdE1VoRY/T8oalHAGDAOgeSw2MAVQ5?= =?us-ascii?Q?pVlLKXDj4RJgLLAxEcVFB3B64iaWFA4KULF6Z/TRF6Gf6wjf+gecmN7oKU8I?= =?us-ascii?Q?1eIo9UEd0KSq/0dOCsReE7iCs8BoSEUa7kCaaAGKDLE+nkpW3Woo1Aw7LztH?= =?us-ascii?Q?eQmlfUYg9XDyEOe181fOVMqQtuoPmgra9kXMMD3a/dtJImlAmeS6lWw6oaCb?= =?us-ascii?Q?CCSpclIRqqUm9g3yspRNJWVQO5LZZJPcmn54YIy6stGCbzi3SXCV8pV3VNrs?= =?us-ascii?Q?PgifjV/Xb9CR90KvlTxcKKQmDbzMBz9fU3Nhxa+E7KzNJVOJBydD0UrOqRKG?= =?us-ascii?Q?EMC2DR45/KyFLhPXNrAFCjPR8wuA5o3lSoKgkhsAuUS57xx1orMgfQnX45W8?= =?us-ascii?Q?KTbae3KPiHJc+F2LL8La1Tti1sS2W2x0DELvvDojJWeKw5mSV0cZsL26MW0G?= =?us-ascii?Q?lUWtUEDwJn5M9FPitl4c6p+dITcp3MW2Izaj+rNPnrGRcRjfT0SfmZmp/nnx?= =?us-ascii?Q?pxP/RstjGO8ta/buJZ4RihdpH+sLc48gsBk8/XAc8MSYb9hQvjdRIQhA91pj?= =?us-ascii?Q?Tj2bQUCruYQP6fu+RS6FfrTqb1JPsXlkJFV48hgizIVAehIQjFjE0ia+5n8T?= =?us-ascii?Q?aQ=3D=3D?= X-MS-Exchange-AntiSpam-ExternalHop-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-ExternalHop-MessageData-0: bNOgdTtStMZrT3HhhTmt7Y7OtIB+56+UkhlLcSzie0XNJLRn1+Ao6IOHopHKu7Fzj1U96Zs7RkUc4yx2VP3GZ6JtbIpmkRmQAu+dsyVSmFC33aVN0KR9y7RVMmrQQ1ofjD1kV3T3pV2gUyEc/GtUUtsBUQzKjEfEOJpCyuAnl8HtHx3I5puCR/MHs/61iibx43+RO+eMI8aIK3rn43HHJh/XJ2cvH2lHFKMUuywZd3/L5hT9IqwOYTrqKgkbSUWkYXmclj7D0664Q9gpirXF4chh5CiDhsFDdtTc+TiTrgxkLcOHno04n1/86m3jO+dxzPh79MIqH3i3RYAdn4A59HlPc3UJEsaqz/JsLOaKqakIpWGjK9WVBQ6Aixp/evN3mP0I/2mxHR5k8Qw6hb2naZdSsEA88UahamF/vuUg8H2aOFo1amG1062NWvgYI2X2xY+QY113VU1OUUJR6D1GG2EHqUQW3EldLGwINGdxthzlAXHf3Asxpw7aYou+DdHo+f5LMrX6Q9TFzvLDzc6UXE8Ka6ed5BMgNwUxbo+86mnvVzI+8rfYxbtPJxelm4suazmvbz5fA2tQGwSHAq9M4K6n0C2umMUFOXQzNVn9PSo= X-OriginatorOrg: oracle.com X-MS-Exchange-CrossTenant-Network-Message-Id: 7dd7c2be-87ff-40c8-b6ea-08ddc48f9a22 X-MS-Exchange-CrossTenant-AuthSource: DM4PR10MB8218.namprd10.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 16 Jul 2025 17:38:40.8353 (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: HQBulP6smTEeEn3dMYobor2mE2U9fWPCb2vkAdDdC9+Am8FlTennzdkUJ0yF6y7eTlwtb4J9NvjQ6ZTUHGhcMOhFzC/asGwi9M4Ieb2d0ww= X-MS-Exchange-Transport-CrossTenantHeadersStamped: SA1PR10MB7683 X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1099,Hydra:6.1.9,FMLib:17.12.80.40 definitions=2025-07-16_03,2025-07-16_02,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=975 phishscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2505160000 definitions=main-2507160159 X-Proofpoint-ORIG-GUID: coAC6BBUwKjwyXJNtX3zE_GTFN_KlxBx X-Authority-Analysis: v=2.4 cv=AZGxH2XG c=1 sm=1 tr=0 ts=6877e3a4 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=20KFwNOVAAAA:8 a=EyA4OG2UFDaUXDgDuR0A:9 X-Proofpoint-Spam-Details-Enc: AW1haW4tMjUwNzE2MDE1OCBTYWx0ZWRfXwQSR98bi50H4 wfetGAf5SqokpYwwxv+FMdRIz29p8Ngpv0/T5tUMj7KeZzgxrVvAoVC+S8ZlWUqunRMUth6V7Ka 1fCnWA75IyJyeYxLRX0gZnFcwK5/M/6CfQsZqiRr7nK1C9/jz/QrXzkVrXGL0iI5LlHOETXZJ7G rs8ZpKd/wdlUl3dN/PPqi/4Cy9T9fMJ98mHnstJD9kv/1au60jag8KpTVa5g0f4/iMqb1vdpszQ xK3Av3cXF08yHRnj4tmZ/ecjcxcF670cRnZFzRlZ7idyMpS3tjtsJ092fpWBlS9vAzaQuIgWK9G 0rJvqOiZXeHli8Foi9B5e0Clc4bxXCAt7KBlersRNH8fAyplCAYjnQd0sFjF0V+hu94OhKVof1N t16NQ9doRcYpJGTGGojTa/TJr5D41hkHhVd/PcAA5nx+FfljfHHjT8m1Q8mBCOnYIFgrY96L X-Proofpoint-GUID: coAC6BBUwKjwyXJNtX3zE_GTFN_KlxBx 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 eliminate the need for invoking vma_iter_end() on each loop by directly determining if the VMA was merged - the only thing we need concern ourselves with is whether the start/end of the (gapless) range are offset into VMAs. This refactoring also avoids 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 Reviewed-by: Liam R. Howlett Acked-by: David Hildenbrand Acked-by: Jeff Xu --- mm/mseal.c | 67 ++++++++++++++++-------------------------------------- 1 file changed, 20 insertions(+), 47 deletions(-) diff --git a/mm/mseal.c b/mm/mseal.c index 61c07b1369cb..0ab12e09792a 100644 --- a/mm/mseal.c +++ b/mm/mseal.c @@ -15,28 +15,6 @@ #include #include "internal.h" =20 -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) -{ - 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; -} - /* Does the [start, end) range contain any unmapped memory? */ static bool range_contains_unmapped(struct mm_struct *mm, unsigned long start, unsigned long end) @@ -55,38 +33,33 @@ static bool range_contains_unmapped(struct mm_struct *m= m, return prev_end < end; } =20 -/* - * Apply sealing. - */ -static int apply_mm_seal(unsigned long start, unsigned long end) +static int mseal_apply(struct mm_struct *mm, + unsigned long start, unsigned long end) { - unsigned long nstart; struct vm_area_struct *vma, *prev; - VMA_ITERATOR(vmi, current->mm, start); + unsigned long curr_start =3D start; + VMA_ITERATOR(vmi, mm, start); =20 + /* 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; =20 - 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_end =3D MIN(vma->vm_end, end); + + if (!(vma->vm_flags & VM_SEALED)) { + 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; + curr_start =3D curr_end; } =20 return 0; @@ -185,10 +158,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); =20 out: - mmap_write_unlock(current->mm); + mmap_write_unlock(mm); return ret; } =20 --=20 2.50.1