From nobody Mon Oct 6 03:02:54 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 4563B2BF3E2 for ; Fri, 25 Jul 2025 08:30:43 +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=1753432244; cv=fail; b=bVz0PafwwMFyhfWw2jOWobWGyrdW79T1ERYgIonKWpgfI3TXHlThMs01XPn5dXecE+8rWwp9LixajUlOn+r7y4+tQhDvSzjMKMsP5Yiu7wyxB4Vatk9jyd+oh82HgquYdPv9sKX1dc4phVMm9iKrw1m3dU9XWPIHlC65aOL93/w= ARC-Message-Signature: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1753432244; c=relaxed/simple; bh=Zw4d3i9wzd5z+lh+CFDUYn8l8KuUnQI9pQ6xFjStNmY=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: Content-Type:MIME-Version; b=SPqThlvChFEEiJVKKHQn6QsSQMv6u83MrH9GF/WyUsRsA0+t+ajMCbNjiC/q6SPPp5uez/aqjNbyEIPd9+BONTbmrCij7wccDQBvszrc4rqoUgHWAoyd7S3NLwlQXtUwQwk5eCJez8UIxAn80lGFHPJ0vCe+McbUAHSFqEK01E4= 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=K/H0/ibA; dkim=pass (1024-bit key) header.d=oracle.onmicrosoft.com header.i=@oracle.onmicrosoft.com header.b=iQE8KlLQ; 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="K/H0/ibA"; dkim=pass (1024-bit key) header.d=oracle.onmicrosoft.com header.i=@oracle.onmicrosoft.com header.b="iQE8KlLQ" Received: from pps.filterd (m0333521.ppops.net [127.0.0.1]) by mx0b-00069f02.pphosted.com (8.18.1.2/8.18.1.2) with ESMTP id 56P7fwCt005985; Fri, 25 Jul 2025 08:30:21 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=G1zeGnCTsRdyomLkvxm5D+ochJWQTSytlYVuY5dVXGE=; b= K/H0/ibAdNo30iTy9vSYTmQZqMFnArtpj4B3vsZzBMqFCARqgt8iIQjqk6qEI/2a VVDkb6uNocIpjUTLaLslBhqD4+99VSs6eYrd6L1tb8czmivaRGLveIm6HcSXrVoJ 6vl5UJ3ESAEk6Um0+PdOb0JRG35nYzsZbCnyU3rXo1y/bQO0hZ6CW9AMAUzpAn5h gnDJlBANXvjHE4Ns4RPkd9Y9cUnkuiPwmTG0coFrOQQXFpvnhmVg/Dhszim1UYO5 wjn1T4vyndvm630riqOPVjFzMLra3JS1FdS3yoartGrBUrYRa8g3rcwX2xmQeiJc Y18Ixxc8knYQBwV3tIiBXA== Received: from iadpaimrmta01.imrmtpd1.prodappiadaev1.oraclevcn.com (iadpaimrmta01.appoci.oracle.com [130.35.100.223]) by mx0b-00069f02.pphosted.com (PPS) with ESMTPS id 483w3vgm8h-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Fri, 25 Jul 2025 08:30:20 +0000 (GMT) Received: from pps.filterd (iadpaimrmta01.imrmtpd1.prodappiadaev1.oraclevcn.com [127.0.0.1]) by iadpaimrmta01.imrmtpd1.prodappiadaev1.oraclevcn.com (8.18.1.2/8.18.1.2) with ESMTP id 56P6NX87014404; Fri, 25 Jul 2025 08:30:19 GMT Received: from cy3pr05cu001.outbound.protection.outlook.com (mail-westcentralusazon11013018.outbound.protection.outlook.com [40.93.201.18]) by iadpaimrmta01.imrmtpd1.prodappiadaev1.oraclevcn.com (PPS) with ESMTPS id 4801tk5gfk-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Fri, 25 Jul 2025 08:30:19 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=Bas0wmQCyE3y+Mi1K6sssuWQoq1G9i2o4CUZLVJFNaW2ly890SzYqGQH6mWMRza9cBvs3cEnusjnqzeNg32+j6B9gLMwU3l5B4Ium/eGSl7G0SNRyA/aoO2YyX4NCYaoAGUnvoJsDRlz1WZE/iI/Ce9o9NR+dU3403U0lWoqchxrrqIfaMwcmr8kZ+2dvheV9xllv7mmF9ciciSaKd/MA0g579BkuyTWNlfAEajq7LzXwJ7q1u5yd2u0Ch0a2sup7gFtgARwWctiWj9JdjC9TFvkB8vTJgTLkUiqFUC2b5XLRWPE5ZFnC0r2DYkU53z8BH+bpR+Ox2UvDYKKhFKHag== 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=G1zeGnCTsRdyomLkvxm5D+ochJWQTSytlYVuY5dVXGE=; b=viX1/CitrXsivPO4dwWRjq9Kuxnqy0ls192W0NrkcCsTXzxDxc1BmuNyb1oTrARWw0/LAd4UNiiiO5uo4cx+VWAaeQkbjuxnLiYwRZYCeHDtZlUla3XryMvYhmqc3IS8zpqgnDIwrTjfCwGsTxEoHQpyQ3RLvQsr/GLw9r00EVEbpvdq0KutcRhPWHBq+1VpDs1P49BmHAx52jgfc2Fm4+5PolFcFETFe7jzXu2uac8hQS5YuawtBxvZ7QvaeZYYWvN2RuS13YsOR3upDojwaOgqepFvPIf5BAPL+J2GdSA8ncO/7oTcA6O7erHuPnlqm16c2EQVJmbbydXYMlfibg== 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=G1zeGnCTsRdyomLkvxm5D+ochJWQTSytlYVuY5dVXGE=; b=iQE8KlLQUgJ3mTHq79zpCObVZvBLsGuwy4KFzBBF5mEQD8J6CDXJl+C3RBNksz/eHIgcatzEofHU1ubgDmQOY8wxjRLtRc+JZet9QzDX6FVqpXVKHugD2Qw2E239ybepAZD4Ykqeh3B5jLA2bndjOhn3T+jQfAPNEhROI/jpBYI= Received: from DM4PR10MB8218.namprd10.prod.outlook.com (2603:10b6:8:1cc::16) by SJ0PR10MB4717.namprd10.prod.outlook.com (2603:10b6:a03:2ac::10) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8964.23; Fri, 25 Jul 2025 08:30: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%5]) with mapi id 15.20.8964.019; Fri, 25 Jul 2025 08:30: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 , Kees Cook Subject: [PATCH v4 1/5] mm/mseal: always define VM_SEALED Date: Fri, 25 Jul 2025 09:29:41 +0100 Message-ID: X-Mailer: git-send-email 2.50.1 In-Reply-To: References: Content-Transfer-Encoding: quoted-printable X-ClientProxiedBy: LO4P265CA0315.GBRP265.PROD.OUTLOOK.COM (2603:10a6:600:390::9) To DM4PR10MB8218.namprd10.prod.outlook.com (2603:10b6:8:1cc::16) Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: DM4PR10MB8218:EE_|SJ0PR10MB4717:EE_ X-MS-Office365-Filtering-Correlation-Id: cd4706c3-0cd7-4771-d8a5-08ddcb557af4 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|376014|1800799024|366016; X-Microsoft-Antispam-Message-Info: =?us-ascii?Q?h+HoPfE/wMcANx/UgyUPtF7pwYZXMvKwLuqlbW/QC1wmTBXWYLt7X6S6SP17?= =?us-ascii?Q?M3A58UxxfjfruYmGP6eVl4cGDMfU5c6qy7YZe4ovQSJuXbHNC+AH/wcyyrsI?= =?us-ascii?Q?CIEQYQ5mL0rDznN24WMt1BqUhWG0CAc3aLJlW5iSOKn2wx4kQUv0T6ys1hbp?= =?us-ascii?Q?QwN2RwWT5miMTlweudBafgMS3vLtk4IRfomX3Np7SdxI6U105xH12mdjXehp?= =?us-ascii?Q?JAP1hJTeNtZip0BAaY3T/Zaebj44YFRF33N8wLtw002/lmK6awai9AbRbFWW?= =?us-ascii?Q?E5skqdgH+eW6zJYXoqOwo3zNYC9SkAaMHZWvzmj2Lvyw+0ic4Qx8LkDQSlaQ?= =?us-ascii?Q?OUmq4brpZIFFABpBuROhWrTId4XahlhW7bdeWyV5BBCgoR+NNu53IrXIxHsV?= =?us-ascii?Q?+vkGikZgZqBGsXFi77jeDZ7cdE69Pmak67qFbjzkeV2heb1ny36v8QkeYngZ?= =?us-ascii?Q?WcNbbpGrGsWXGZeL7GjMcX+lLNefDauVqDepX6AfRHx8Qq2aesA4iWBfjMDY?= =?us-ascii?Q?Y81nHOJLYu3nzNu5Ek8CVcfazTTkm1QPkRNZ4OEJyPg4FHkQFMhactd/cYXj?= =?us-ascii?Q?0cFEiBQHBxiu1SQ24RZcnmPrqH+PYAZGYskkw+k2AyEF//ywdr8uYXASR7FT?= =?us-ascii?Q?mbWUCsjWLeQ2x9+0EsQEwiX+fdiu4/6puHM346qg4jMJgiO+rUca0lDJpNx4?= =?us-ascii?Q?Dy+whfijjMl/aQylglS85F9ZSkD49actcZY4aROjxR4wZUcDH7XuP7xQ7oaC?= =?us-ascii?Q?zjlc5L0jZaLoU4Pm3/rn2UUqWr6r8yJ71NXbfrVb4Gz9RyrYtsGFlj2sKPEQ?= =?us-ascii?Q?yifGp8wK3sdkMPi2WoZPvPpv/5VTUO34G06rJyI4IgOp/CjYfo/DO4EzexXC?= =?us-ascii?Q?ctASszpeZXYNB+56KTcGRrJjm9ZhEaDCtiqHB2WsTqpKPI/jLkGcuI67U//V?= =?us-ascii?Q?rPi08xzEMK8t3dcViW4mL/gNeXbPO8OHslZv7sR2naNGqSWNxtbL7fIPEIDt?= =?us-ascii?Q?Shx+tW3nLdEf/YvxN38eloC3q4RgicyGu++wjIiw48s7seo+OZy9INTzLulZ?= =?us-ascii?Q?S3v2hI4bss8SRMD57nAofDFqX7FSu1kxPrN1OHqvMAPhn9k37w6ockXL7H5k?= =?us-ascii?Q?ktoRZBw6c9izrB2KAL/TphC7PNFq4yiGMB/+WsLT7cHZWEBfTCcPmyzG5fZd?= =?us-ascii?Q?GhM6le2ylye5W6eZiqsXKHXRDJjxMHus/XCPcksXeScNthWQMJnDae7Nei7d?= =?us-ascii?Q?9mnuU78MgEf+l5bYrS5riYyxXqWYU+URcqHtwLKGvKmoRnwhOR75pF7OIyJd?= =?us-ascii?Q?97XdZ51zU2yDAaGtU8ZBysd3rwL3DFN6hg41BOUVG4JUJ+iHD1FTmRHygFvN?= =?us-ascii?Q?aZ1XDx1Zs2/Ktc/yW8BsosvDtmstiZSTtlF4nXsCu/Av9csQQmjtS9M/G8nW?= =?us-ascii?Q?eMi68/6cLZs=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)(376014)(1800799024)(366016);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?XU4W+Wv37o1kQP7ispiapUQ8XUEk2572r9WXHR8rHEKSNZ/joCIfOGflrL/y?= =?us-ascii?Q?0TUJUSboV7ByyBZQHlRXDwIWVuGjPa38eKsCzY48fsymXBtIauWH5/ZAVyq9?= =?us-ascii?Q?Fl7xRpMj+dkiOhniQ1gmh5hi6PWkah71RRcggAuQNhq7chLsTtgnZARAlKVZ?= =?us-ascii?Q?DbVpLzmgFw6ig00s0wNgktG0vO9CZwh+Ea+Ed++xEc3RUK/l2O1mJf2oPRqo?= =?us-ascii?Q?4hdnxnN1VQK+xOELbKXqUIlHxKRcaqw0GQnrioYfBGVkarTGXDL8UDHzXlRh?= =?us-ascii?Q?kVu/e4Qo+c0+F0K47VdRd/uE5xhmIUpyBVFr6cPBtKl5hZdxwULllt6gteBr?= =?us-ascii?Q?2pqHUO/1a9rkNoMPD26Iw0PA1bGXPTcSaHsUlVvgJ7v5jsOej56h3Df9ZqE6?= =?us-ascii?Q?4dgUTiHybsiZctBYB7fI9cryjsfp3ZNG2ChzY/hXvkfx0GlQ9iuY93gmvkXl?= =?us-ascii?Q?Cb0AK2FP9Qlh0I0ZduJ0flYySlhFLxXQZ6Oc5aQIh6liCLk/ON4Lwh92mRU6?= =?us-ascii?Q?aR1vFd0g11Q1dIWtpha3KHh3+97XZr6ziFWh54+rfIkJliVEGvp34k5lePUZ?= =?us-ascii?Q?QkrPS5yX7g3VstOCmIQj8rhuC47bxOUb3oFEDWjheQgnxZFXZzcebYarmEq9?= =?us-ascii?Q?e0LkBPVa16dqwg/IF4wo2b5MQjp67DrPfyVdd8Z0gAjmp0+PMPmgAhREGMDQ?= =?us-ascii?Q?biZFBxE8FbnLeSSG0dTR3+Ta8YVdvrJa8gwWQY8rlctsbl4T1ZzlsiSzCgO1?= =?us-ascii?Q?X+VvDp3lVpRHcA+z8yc3SIjDASXUbcVR5v9bD3zxroNaguiYOk2ON0XtNPWx?= =?us-ascii?Q?Y/K+1PZC7TbwCTkd357GLnsmtQEod7I2lRZdV+2zKpNIQko19iRkrLP8jeFb?= =?us-ascii?Q?oWQLLLlaCA3/EAeNZdrLDHn8tS7MYUbbi2tHUt/vX4Rg98pPrmsCftOC3hJa?= =?us-ascii?Q?IHDs9tDWjXyWtmp7/c1KbAt3FX5lCzWBwtTM68FeM0ZStFebwYZkDsuO1qtE?= =?us-ascii?Q?9QwcrQ2h79IQXXZJtbDoUqkf8bUkl5p9OIRbFKSRxhl9t2TsIPJIHL9I+sTx?= =?us-ascii?Q?rcXUy8yib7OPVF+nhMsvAhZTJNjhgEpUMxsTR/btI2y5pK9Q/wuNZvMijIRr?= =?us-ascii?Q?kVSyaIKIB8qoX6vuufv/TZaQvFH+fDg7AmYRhQCkM+1k2fXNZM+2Ams99bN/?= =?us-ascii?Q?+3gdoYKXF7y8lAcpfTnySH4zJKLEbtNSwTzbBm00hpM7V6hbCGVJQxXESPRw?= =?us-ascii?Q?GULUGX+FSkOFI9bh6JvrGTXxtE4iQ+4ZrXz7ph6pBaKtgfCXiOp2UXToTCpo?= =?us-ascii?Q?Tek5Do7tFh9UmS2uCQrdEB9eoUyuWdX5GjZQ+0CbSD5SD/3WXXNETVomsphK?= =?us-ascii?Q?HY9RQnQFC1nRsJAw6xrn6vN0qrYMgLNxJToogmG78JZquQZT7WT7pbSfh23L?= =?us-ascii?Q?FdsBh2jdXu2eI7teZ3yd5Y0SEUkLqVdc8eRjQl/WbZ9B99AKfCXHnBpXPgNC?= =?us-ascii?Q?+2fw02OaIHsxSWkWOK5BJzgBi7fExqwSqZQekulNn5HAZKDkmGz4YEBqToUD?= =?us-ascii?Q?1k3IFpYAiX5ACJHYirN8E57Ja1WWHw2YVEexvZUPyi255yyrRdv8bq7xpct0?= =?us-ascii?Q?NQ=3D=3D?= X-MS-Exchange-AntiSpam-ExternalHop-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-ExternalHop-MessageData-0: 4wQTtoxSObvgYvgBsSj7sBSGjK39rCJciFgGQ4AhJ2m14m/KeAyW9DAhBXRudDm/T6MwSaWmg1rXLLPPr5R4o+2FY9gRFx/clpKtAmnGyms2HM/VyRM17lomN/MWCtD9TJppQRNsxRAWwh+VOHrYBkylaN06TPmpx44CAvPz8vLzvzCYUm0V9gh8Rx4CogPHocM1h7+kYlewrfwkK9fjIkMuq1nnEJmysYG+CUhJgF62Tc5zzQX8Rt+M/wXSYcEGMX25hXLyFqOO8xlANWgbvURFFlAdsbZnk2YoM2FhJ/BfBTXJ/py3YC6gvTaM7Hd989QWB9JNzeBTY5LC93Ou6M5/Jvu/X2stRegporuy117Vpi1s8TXjNkrXJmSviilM6zJF4bViIi6dSJt4JxtOntdBYil0ov/SyUM/4i9uNx2V7qplMmNY46Etjlrvnfr380uGFZtFiSiNzQAqafi+EhU18URai+JvRVB9nSE0ru15jAjxEkxIUgMS+L8JezciFDawXOMGjQY/yZILToVebaxk0CFG9uJ2SUL+43WbKJ/xEuaw1BxgUCVwc32bVVDSE5lpDUnrsmc3aINQ0Kc0RU2uVBg12zZf/BBvydvG79w= X-OriginatorOrg: oracle.com X-MS-Exchange-CrossTenant-Network-Message-Id: cd4706c3-0cd7-4771-d8a5-08ddcb557af4 X-MS-Exchange-CrossTenant-AuthSource: DM4PR10MB8218.namprd10.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 25 Jul 2025 08:30:15.2841 (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: gwt5LwuCqCWbu5XeQgLtqE4g3ohI7vx3C6fSAQVXRj0QHk7iy0ujWW/TrEC4uMbheCVXnYuWBI9CwVNqdcUwICPlH5q/V/F+z/LCJsDwI0I= X-MS-Exchange-Transport-CrossTenantHeadersStamped: SJ0PR10MB4717 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-25_02,2025-07-24_01,2025-03-28_01 X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 spamscore=0 adultscore=0 bulkscore=0 suspectscore=0 mlxscore=0 phishscore=0 mlxlogscore=999 malwarescore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2505160000 definitions=main-2507250071 X-Proofpoint-Spam-Details-Enc: AW1haW4tMjUwNzI1MDA3MiBTYWx0ZWRfX7gC28fIz4UzY ijEP7aO6GK8xt9F6qBCvhzOSpnIaJ6XCgYEcGxEelpHUbzHmv/WHiyQt4PanPpkkW4/cCWv8+eN wWrtPfyMC8Et7xYg7Qw2v0nriNnk8QlJDceYsY/UFOxeIuQKbZ7GQO7iQzq3sP6WJEXx+9PQenO 6QDTettdwlnJN/op7FuwTi1If2SD5l5XDWW54GPVBVkj+9Gn+GWGjHNztvL+Vqcfmd1syJXAVLT E9MAkovNGx0LTFCEKfamv5DGCDtHEwDw5QYQna/Feiy4mrOc+7V+IOoXOCRky0oWkcni7ovzwyB f8JTqgqx/sRpJneUN4igZhIYmAISHzlmQhbwY+u+R/ieJptUwmymZYjzAu2kNGmJZ+xxCQTcaA7 GUV+hyLYosWNYqUFIALJnqElK1Ld+WZTX1YbNamMvaN3jRu+D+AZIEn4O3L3/eOGBJl0HF6t X-Authority-Analysis: v=2.4 cv=VqMjA/2n c=1 sm=1 tr=0 ts=6883409c b=1 cx=c_pps a=zPCbziy225d3KhSqZt3L1A==:117 a=zPCbziy225d3KhSqZt3L1A==: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 cc=ntf awl=host:12061 X-Proofpoint-GUID: vlEOMA8iSWajndTq6WqEISj0iFwtl2qD X-Proofpoint-ORIG-GUID: vlEOMA8iSWajndTq6WqEISj0iFwtl2qD 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 8e3a4c5b78ff..ceaa780a703a 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 03:02:54 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 CD0F42BEC59 for ; Fri, 25 Jul 2025 08:30:33 +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=1753432237; cv=fail; b=guzAg+CDL/mKTbBrMJ271NIhdF0x0t0o750rf/TJsc84B332u9xfh63l/sOQl5YBbCubU98m1HQxhVSoabUBVM0064SbU26Lg8GX0Bul/A6/YGajNqI/Y0jQ5B0YviZNIsMBoP29CKmUytwcyiLhiKL1C/a+thWJ6fkYYKJj6rg= ARC-Message-Signature: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1753432237; c=relaxed/simple; bh=b4RPe/tCQo8U2XhGnv11v7uhol3Qj4bMmGfa0jpyi9Y=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: Content-Type:MIME-Version; b=tXJPPsLcvzmS+EX0jph1TllPU+O3hnTlkl2j2cyHnYFCUF1UtaU2A+iKZYlAm1NHxg1DjZFewHfsYa1bI6ter+eXILIVachM7799JGjRotdrPf3whndVEfQScVGowWZzw8oBmuZVCDbVL/3PUAIpwWeXtRtqRoYZhVfXm/Rfs5c= 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=QUfmlprc; dkim=pass (1024-bit key) header.d=oracle.onmicrosoft.com header.i=@oracle.onmicrosoft.com header.b=FxxSl01E; 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="QUfmlprc"; dkim=pass (1024-bit key) header.d=oracle.onmicrosoft.com header.i=@oracle.onmicrosoft.com header.b="FxxSl01E" 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 56P7flYM018556; Fri, 25 Jul 2025 08:30:21 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=wR0snfGmDiCfzvNhAby4UIbwGB+nh3BIn9gP1LXbWR4=; b= QUfmlprcZQduRkfavk7F4V/rDyhuxsw+xTdyCNulFTzfQDh0Rd13MZQBRwKHk/oM bkGa35Eug21hq36Pqwek5sGZvWYsuOfbLVSF84++pGUbmZI4xYoOPw1vn6z13Mmg YKYvBAgwe4Th1gZeT5JFVHSlcDwrQ2fSEvI6z7yXB/oDoAszNR2ZBAirXS/GLp0q T0fxDqwG1W/OZEJb6NlQqY1ZyfgnTg5j12YJdswIosq6p83pl7/quMzV6aJNdjUm 7eEY72LYJCA6ep+WLUTDw9kJEOPHH+yVVFC7RtvhOlMMvqv6pgfB2Q2Ga2xs/ag5 aMmzg6F7wIRWaBY1JMn5vQ== Received: from iadpaimrmta01.imrmtpd1.prodappiadaev1.oraclevcn.com (iadpaimrmta01.appoci.oracle.com [130.35.100.223]) by mx0b-00069f02.pphosted.com (PPS) with ESMTPS id 483w1j0m0k-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Fri, 25 Jul 2025 08:30:20 +0000 (GMT) Received: from pps.filterd (iadpaimrmta01.imrmtpd1.prodappiadaev1.oraclevcn.com [127.0.0.1]) by iadpaimrmta01.imrmtpd1.prodappiadaev1.oraclevcn.com (8.18.1.2/8.18.1.2) with ESMTP id 56P6NX89014404; Fri, 25 Jul 2025 08:30:20 GMT Received: from cy3pr05cu001.outbound.protection.outlook.com (mail-westcentralusazon11013018.outbound.protection.outlook.com [40.93.201.18]) by iadpaimrmta01.imrmtpd1.prodappiadaev1.oraclevcn.com (PPS) with ESMTPS id 4801tk5gfk-2 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Fri, 25 Jul 2025 08:30:20 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=aKB05g2XZWP6wQBH66wU4hdIEbES/PX247vTVA0AN/cbtV73RKtBdd25HfsoDFegRdSEeW1Jyg+rEQC8pGGz6qgC/YXq4HVx2KLx9W6MnGtYooQNGrKD1/dcCAqmwFoLgPSmJ5/LTEOh8apqaBHVEHiiiFnAHQvtIMuWGp7UlOeJOQh1xu10IjeQ6q7t4aYOfyQrgrkpOmtDgso57W6zH40JA3yr1dkaXe2KYwGd2FsRw6kDcTgX9Cl9J7foMntrJUDeWBOp4gWAm6hrEa+ohfnijgnWPxBxwSwlUuepfq/yvRs8NNZeVxDesatt/1/6SnzJWa456RnFEH9jSHKnsg== 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=wR0snfGmDiCfzvNhAby4UIbwGB+nh3BIn9gP1LXbWR4=; b=zOdycFVllOq7gLCXLi3iZl62jBi225WOr4vXAuwd3LpdFQdpsQAboFzQx7VCAIsyrEddcslwP3Wvzx8CvP45tkYLMvWtbxjQbWFMtLtd4RvAlhkL3ztir9s9xs17euLqEq0CBRh5YqvOn7H3FZzGTFHNtj9s2jo5qGtFJpflLwD5DwcZHJRxyZEihJ1nL+pG3gHvHnxDNrzN2I4imRIcrgZZrEnPK4Jv4TGgFliMoXYviGP0OvE7juwWzoek8iwZMURNC87I3hKw3l3U50KAO5Oe8jhINfYJM93kInVtYUxwhAVZLQeRYkCO3Jy/wJzen+gnPgrZvG2BSrPLnpUNAg== 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=wR0snfGmDiCfzvNhAby4UIbwGB+nh3BIn9gP1LXbWR4=; b=FxxSl01EcJmr2n33/v0PpD8DYe45k7VPz6jPFyxs89A9tYGHbvJNHD0b/BCFNs3YW6+o2JYZ1zp/XTH7x2VGBeH+OUHkwHe4gzRBPUiUHUbtgwSYgchQ8XmkujXTwhRdWydrw3xvOcVkZnfAqK/UgGzw/ouce2j7XccjGmkkiaQ= Received: from DM4PR10MB8218.namprd10.prod.outlook.com (2603:10b6:8:1cc::16) by SJ0PR10MB4717.namprd10.prod.outlook.com (2603:10b6:a03:2ac::10) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8964.23; Fri, 25 Jul 2025 08:30:17 +0000 Received: from DM4PR10MB8218.namprd10.prod.outlook.com ([fe80::2650:55cf:2816:5f2]) by DM4PR10MB8218.namprd10.prod.outlook.com ([fe80::2650:55cf:2816:5f2%5]) with mapi id 15.20.8964.019; Fri, 25 Jul 2025 08:30:17 +0000 From: Lorenzo Stoakes To: Andrew Morton Cc: "Liam R . Howlett" , David Hildenbrand , Vlastimil Babka , Jann Horn , Pedro Falcato , linux-mm@kvack.org, linux-kernel@vger.kernel.org, Jeff Xu , Kees Cook Subject: [PATCH v4 2/5] mm/mseal: update madvise() logic Date: Fri, 25 Jul 2025 09:29:42 +0100 Message-ID: <492a98d9189646e92c8f23f4cce41ed323fe01df.1753431105.git.lorenzo.stoakes@oracle.com> X-Mailer: git-send-email 2.50.1 In-Reply-To: References: Content-Transfer-Encoding: quoted-printable X-ClientProxiedBy: LO4P302CA0042.GBRP302.PROD.OUTLOOK.COM (2603:10a6:600:317::14) To DM4PR10MB8218.namprd10.prod.outlook.com (2603:10b6:8:1cc::16) Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: DM4PR10MB8218:EE_|SJ0PR10MB4717:EE_ X-MS-Office365-Filtering-Correlation-Id: d7ce52ee-b5f6-4b89-6435-08ddcb557c4d X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|376014|1800799024|366016; X-Microsoft-Antispam-Message-Info: =?us-ascii?Q?pags53ZeiVBh5UrYmImKEtiq3fxjW4n3QqYlXX4zTpVKdztQIIG4FUDbGgYC?= =?us-ascii?Q?onEn9Y0GfwTclhYJgAQueTbSY/vrtTxXXa+Yu7WSClEMxNOpJdidIgyiSnzb?= =?us-ascii?Q?X7tsX/A2BERJ4wHxxqM1AQV5X/DIAISQYGiJes6qUz834BZcosnBGFlXn7SY?= =?us-ascii?Q?Ox5eji91j+q8bkuuxLxIGMpn7Me2PutpM6jKY7FABEVxiEOSVmCzdAf1v/xN?= =?us-ascii?Q?0LHBzoiltc2GTuzmfqXwRk5MLxqEw9T87bMZ+SnQUSits7VcQYJpA49qLT2o?= =?us-ascii?Q?mRqJSyA/hYTMMc1GkRqXwaun99DlFQCVFZdweqTQVlCcnCdIT+bs9lfSwUf+?= =?us-ascii?Q?wt5zLOWADyjo22uGSezkjvhEg5cINpJoL/uVopmx8XFyQxWV6EvgPBHFlKfM?= =?us-ascii?Q?MIQEAsQy6RWWp7oRmQ6+/qCU/ZsUf69ROXiwMoAC0wxTGobWlSwwD4JywsAt?= =?us-ascii?Q?n5e7lihmtcWzKxjxTHCeBtSZY4M8m7YPInpZevQ6S4Xlz3P09DMwTrdCPA07?= =?us-ascii?Q?Bl+tdBFeNIGL26Cedk8NGzRdFCRYBbUqyPjvDxzXAQw1SoZBtsR9aVOt6+Xs?= =?us-ascii?Q?ShvytqJA6yLJApDRQorPe1CWJq/xkCxqR9DG5tn3qVIyECXcs9AMkF+bOYFu?= =?us-ascii?Q?uyAKPqmiaY3YpiqegwbfvHm7rHpgEtGO1ucsX7YZZbYLAIvIq9RgyRPzUfGM?= =?us-ascii?Q?diuCyQh0XuVv7BOc0TWJIG1/Voq4qKNMVUn6nMCy9QzjkzIJNLHddNF/yEHK?= =?us-ascii?Q?7+MZQsLTfqtLjGSPfjPBikdsvfFw6RL2fE9MceQcRlnKKV887fCPFWzPUM2U?= =?us-ascii?Q?WXhmcRZgXYIOCW2aZtNZwscfzvoSa2dPfGuPYxKQvhzQ++4bzl/utIR0mk04?= =?us-ascii?Q?78WqFZUibV8SHoanh3jloBf9JA2iuRmuXlVjUs58QBW7LgeUPEzfvgZ0ov11?= =?us-ascii?Q?bVbE/6m1/CX2jJjHSdu5p0YbwYFdbPfl+fgbuLA6y0UqKVzxi4cmqyCOKgI+?= =?us-ascii?Q?3KOtIaIzIajpso3mT22nyZLoO9t1ty5QtdB7zBr66zDBQdzgPOosiyB4u9d+?= =?us-ascii?Q?1s2LKcXhZM3cJ2HfYQYE9yDRoaHFN2U9X/tPVA+G2tU9PByjVWEsAfeagBP3?= =?us-ascii?Q?3duzEo7kd0HyN+aCK9+dWfzdC2LgyaWtc09g6eun2GPEXE2oWFRl+LnYu22u?= =?us-ascii?Q?0J5htj+2UHuCawBbF1dRlYzvti4LL61+3xDK4o3cmG3P3IAm6J6/O3jFzV0F?= =?us-ascii?Q?BxupZgHMVm53riKIqnDjapJUhlkQcU69R8dCt3tVdQiW9WGvbAlVjN1LvF+F?= =?us-ascii?Q?yc6VHTpd2nCYXvWOSsyIi+Qnq4tm6LRwVQtGHiIYIdpCA0+hQ9AGX3zUNSlE?= =?us-ascii?Q?gcrZOqUA5k/FcULut6pUahozLnv8LrwF7eGZpIbKAxkD7e9mrEY9ZJ4EnnGR?= =?us-ascii?Q?ya1LCpBSHgw=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)(376014)(1800799024)(366016);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?ATEHaOq18buKnGLHhBHNolh+nQXPKLJ0x5XiWpaVUDMZM0RgW/4szvGiu6no?= =?us-ascii?Q?osmEPX8be5324XwsAyLx46Cdnev4HY+51NAcLcrdVF/ewC5b6/tcqQdXYrAB?= =?us-ascii?Q?kn/bdZnpDBpJ2IA3r4VikMSqGr0AsPdG5C/Wj2njozn2dSNrmwndgkxudcn/?= =?us-ascii?Q?yz2cIJ+CNRIBn4u2mES81D+TtPWAPbdXW6Q4NkOUBHnTT70ashbuETR0VHFH?= =?us-ascii?Q?+Zwfuqw7aN62tLEmc7MC84XzSa7xbHKkAkIXiSKf79I3JcUqP9ZsC4Nhc34d?= =?us-ascii?Q?+W68kG7Jh1V28KmlwszDzIaRLj0epO/wwodFO/XaiVCBJGv/QHe9ud3C9Ovg?= =?us-ascii?Q?OZCiT0bDEf0kEXMbStTA/12cCsmbhtWDUdTY4ubcuXaLb+Xb7MO/GX5Q+Ynx?= =?us-ascii?Q?c4W4/2/9FDhoFdUPvf4UHJfYVPl/kY5PvZhTkDubaqMvDb5ip6CTV7sM+rmO?= =?us-ascii?Q?+QniDSqo+nC/u+7nzEb1dWHn7uKMQXiZsVEVAE6jalxKSmeQRXfKO1EQgZOf?= =?us-ascii?Q?AVUNUHIHhqX+xGtK0ZKEY7nBLSN9ZBuq25H2pQaIrLJO40H8uSR9s14R9P/M?= =?us-ascii?Q?1Uzfi0AR8ysnL7bVZ8GWSS+fnBTO4ydasMzwP100/cki4BHd3YvZOkPUm1u8?= =?us-ascii?Q?BqsjhSf/lES/Wa7yfS7rxTy86rjDjwT/fKnhVxrw0mLA94tWr+tDt41HlXct?= =?us-ascii?Q?ZbPbaW/lGNjCCEnHm/7+4dHpigbTeyacbUf7hl7G9bbUd0ZEYVfDJQm4V/TC?= =?us-ascii?Q?oQBYRJ/D6ZSazouOskC0cymcYucrv9Zv/6eAL3IEeakPz0BLVtCFDjN3m6zb?= =?us-ascii?Q?v0UBouQNT8fsFArj6FwqzjLMuGu6SKDD7k2jbk06NUiCnyDArxFi+/cO3oMV?= =?us-ascii?Q?dmj3MpM8Qbls9vf+/zGh1TPK6qQVm26vF5lm7Rlseucc4CWzb1ycLbSh1gj7?= =?us-ascii?Q?5RZWHHs/QSiXNoULzYkW1Vk1/KyttmhqV9ViGWNUa9beHZ32h1j7mdCNqKe+?= =?us-ascii?Q?vyHOAO6T2Q2yWhUl3qua5LTqIBM2UdzGo+u4HaAHGf3KzKvwhmK2ZuQWgyuM?= =?us-ascii?Q?Dp9Ezc4Pcj/Le4RV7sti+2aPKBfL8R9RsUiCN7AsXyBhh1/lQzarGdcy9Fe8?= =?us-ascii?Q?Fv7yjwMWIpJJ5K2NzNkF1uWmxj66XXGNAKt2rm9bdKLHv7ffyLClRgxH8hQB?= =?us-ascii?Q?fqfSa1JyemdMihlzJcGW38+ZGS1x2KbzLtWxLKndX9jW/nADe6qTWg6tRXkh?= =?us-ascii?Q?s0A9wusTpLMPlBCVRjX6djL3T9TjQUgZGchtn+p+djU89k6SdJpPZuXoAGAP?= =?us-ascii?Q?CGd04tu3m+bhfWzM9p5S0T16B2W9VGqGD2z5Q3kbn7POtgYOzaczfYSKolnf?= =?us-ascii?Q?ATLoRhwN5+OSXujwIxHzipUmIxjaMurKLY6HP7mgF0ufd+UWWu0QVdT2S/5e?= =?us-ascii?Q?ZHaOiJY3we337fAzOfiQuzkry1jq/0918B/zO1HDuM5RxcYfjbTEOVjtHIhO?= =?us-ascii?Q?AGDIOvXW/xC8GTXvqU32TPLNfO8VRoVywJBaOGF37Ajh4/AVkSp7n7GLrrDh?= =?us-ascii?Q?h0Jnev2Pswgjn4O/8szjxg/k8EzLPEpHG5k1K2EL9xWbQmcG74QmGbt6Z9a0?= =?us-ascii?Q?CA=3D=3D?= X-MS-Exchange-AntiSpam-ExternalHop-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-ExternalHop-MessageData-0: hb94XB6kuPWRyOqWExsId+aGrmCdbQm2CTmd63nLrmMdetWIz8IWMh+3GDnKBz9Cj4lQO21SJRK+FT2P5eERp5jdPdjFBA4CjRNLFiOBTUFShQezMBxtVA1OMWnyC+AQuF4SaYxKQlRyvBZYnNjN6jpXkUdeZiXZtU60/tmsRxPGEcZ9MMvqDZiaxFqI4TCQc++660QH9fg3YDJ6Az9JyRDuct6H3N2Z+LYTupj2k6mK0q1cK9zpxtuC87VNaTeB9yRkeaAIYMdoZsfkMQ22m93dj2g7o+6V/FmTuLJHY1Jca4eKxnToV1jYHcoowzjKNNqMT80GV55OjsHPOCI8fdl0s6IOCkoRGvz+deZv0VF7cPCZYy93/idFTyAU5DfEUOjj+twHaAIroUxVlWRoHhzSmfDBxNc95w4wPOUTIm9fil6uPSSK0CMdBWFuOZ1T/ZVEl3KtQfy1X6phHEHO3mUMqaVwmvMRcIl3ac13BX8yWz0cSp6gpMvZ0KNSCqp6aMwoKlF53V6LoRmUVXvNoM+yq67GfWlNkjyvMMMLQ86UkltzhtW4xRhAnVP+0EmsphQhXuLnRY4jBdHgvsy3nhMseEl6eQJOnnLWxnbeIjM= X-OriginatorOrg: oracle.com X-MS-Exchange-CrossTenant-Network-Message-Id: d7ce52ee-b5f6-4b89-6435-08ddcb557c4d X-MS-Exchange-CrossTenant-AuthSource: DM4PR10MB8218.namprd10.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 25 Jul 2025 08:30:17.5228 (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: IXoaEuMgopyDTjSKypGqZReHRn4LeAMu8ipkC127rlydVXtz0gAWLR4dIOoneuqRlGmjVBxc2v/K4Rbm4ynpe9OcIut/KgD/i4txsfilAB8= X-MS-Exchange-Transport-CrossTenantHeadersStamped: SJ0PR10MB4717 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-25_02,2025-07-24_01,2025-03-28_01 X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 spamscore=0 adultscore=0 bulkscore=0 suspectscore=0 mlxscore=0 phishscore=0 mlxlogscore=999 malwarescore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2505160000 definitions=main-2507250071 X-Authority-Analysis: v=2.4 cv=Jq7xrN4C c=1 sm=1 tr=0 ts=6883409c b=1 cx=c_pps a=zPCbziy225d3KhSqZt3L1A==:117 a=zPCbziy225d3KhSqZt3L1A==: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=Uh2AKMTr1b2LxUsTHJEA:9 cc=ntf awl=host:12061 X-Proofpoint-GUID: C78ZR2XCkjUwr8F-nqh_ejGrDlteIBNr X-Proofpoint-ORIG-GUID: C78ZR2XCkjUwr8F-nqh_ejGrDlteIBNr X-Proofpoint-Spam-Details-Enc: AW1haW4tMjUwNzI1MDA3MiBTYWx0ZWRfXzg4B0t2Jl/uu M26M89g651DpjRkV/RRAxIPyACVXJCEYjXM47/KnopduLlfcSn4Tqr01xNYMzunEYFsv5p5cD52 TaAtvOdnIaCgby3L+M/B/vGSlPHeOyMvRv2TlJtKyxqJXv9M38vu43hjTc5td6LjGW0N+ufIWgD nUG9syiJqYLNjppU1HNBgSNT3MZKZe7P5eejlLjKUxd3lgSEk6/TXev2Kb+nmh2TOLtEP9F39HN rdqFuC2F2qodurwgCgkaFJv9fADev3Y7tq976O2QtU0DaW4tOiNnt3eJ0cQsf+wRg1ReiuUddek 4s6vReZwLAt2Ntv8VBXEaG4Fi2ZjyuqesmyuC5AwZx7dJmSfP6nlnIrb9MyOfIPsVt4LYQ10gia m3wSVMQnmRBAAhu8kvlnhy1Gnn4LScMrHCBQ0u3A96zrqaqFRFYNTLAyH5OHpNTNrMpeupxx 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. We retain the existing behaviour here regarding MAP_PRIVATE mappings of file-backed mappings, which entails some complexity - while this, strictly speaking - appears to violate mseal() semantics, it may interact badly with users which expect to be able to madvise(MADV_DONTNEED) .text mappings for instance. We may revisit this at a later date. No functional change intended. Signed-off-by: Lorenzo Stoakes Reviewed-by: Liam R. Howlett Reviewed-by: Pedro Falcato Acked-by: David Hildenbrand --- mm/madvise.c | 71 +++++++++++++++++++++++++++++++++++++++++++++++++++- mm/mseal.c | 49 ------------------------------------ mm/vma.h | 7 ------ 3 files changed, 70 insertions(+), 57 deletions(-) diff --git a/mm/madvise.c b/mm/madvise.c index bb80fc5ea08f..7f9af2dbd044 100644 --- a/mm/madvise.c +++ b/mm/madvise.c @@ -19,6 +19,7 @@ #include #include #include +#include #include #include #include @@ -1256,6 +1257,74 @@ static long madvise_guard_remove(struct madvise_beha= vior *madv_behavior) &guard_remove_walk_ops, NULL); } +#ifdef CONFIG_64BIT +/* Does the madvise operation result in discarding of mapped data? */ +static bool is_discard(int behavior) +{ + switch (behavior) { + case MADV_FREE: + case MADV_DONTNEED: + case MADV_DONTNEED_LOCKED: + case MADV_REMOVE: + case MADV_DONTFORK: + case MADV_WIPEONFORK: + case MADV_GUARD_INSTALL: + return true; + } + + return false; +} + +/* + * We are restricted from madvise()'ing mseal()'d VMAs only in very partic= ular + * circumstances - discarding of data from read-only anonymous SEALED mapp= ings. + * + * This is because users cannot trivally discard data from these VMAs, and= may + * only do so via an appropriate madvise() call. + */ +static bool can_madvise_modify(struct madvise_behavior *madv_behavior) +{ + struct vm_area_struct *vma =3D madv_behavior->vma; + + /* If the 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; + + /* + * We explicitly permit all file-backed mappings, whether MAP_SHARED or + * MAP_PRIVATE. + * + * The latter causes some complications. Because now, one can mmap() + * read/write a MAP_PRIVATE mapping, write to it, then mprotect() + * read-only, mseal() and a discard will be permitted. + * + * However, in order to avoid issues with potential use of madvise(..., + * MADV_DONTNEED) of mseal()'d .text mappings we, for the time being, + * permit this. + */ + if (!vma_is_anonymous(vma)) + 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 @@ -1269,7 +1338,7 @@ static int madvise_vma_behavior(struct madvise_behavi= or *madv_behavior) struct madvise_behavior_range *range =3D &madv_behavior->range; int error; - if (unlikely(!can_modify_vma_madv(madv_behavior->vma, behavior))) + if (unlikely(!can_madvise_modify(madv_behavior))) return -EPERM; switch (behavior) { diff --git a/mm/mseal.c b/mm/mseal.c index c27197ac04e8..1308e88ab184 100644 --- a/mm/mseal.c +++ b/mm/mseal.c @@ -11,7 +11,6 @@ #include #include #include -#include #include #include #include "internal.h" @@ -21,54 +20,6 @@ static inline void set_vma_sealed(struct vm_area_struct = *vma) vm_flags_set(vma, VM_SEALED); } -static bool is_madv_discard(int behavior) -{ - switch (behavior) { - case MADV_FREE: - case MADV_DONTNEED: - case MADV_DONTNEED_LOCKED: - case MADV_REMOVE: - case MADV_DONTFORK: - case MADV_WIPEONFORK: - case MADV_GUARD_INSTALL: - return true; - } - - return false; -} - -static bool is_ro_anon(struct vm_area_struct *vma) -{ - /* check anonymous mapping. */ - if (vma->vm_file || vma->vm_flags & VM_SHARED) - return false; - - /* - * check for non-writable: - * PROT=3DRO or PKRU is not writeable. - */ - if (!(vma->vm_flags & VM_WRITE) || - !arch_vma_access_permitted(vma, true, false, false)) - return true; - - return false; -} - -/* - * Check if a vma is allowed to be modified by madvise. - */ -bool can_modify_vma_madv(struct vm_area_struct *vma, int behavior) -{ - if (!is_madv_discard(behavior)) - return true; - - if (unlikely(!can_modify_vma(vma) && is_ro_anon(vma))) - return false; - - /* Allow by default. */ - return true; -} - static int mseal_fixup(struct vma_iterator *vmi, struct vm_area_struct *vm= a, struct vm_area_struct **prev, unsigned long start, unsigned long end, vm_flags_t newflags) diff --git a/mm/vma.h b/mm/vma.h index 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; } -bool can_modify_vma_madv(struct vm_area_struct *vma, int behavior); - #else 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; } -static inline bool can_modify_vma_madv(struct vm_area_struct *vma, int beh= avior) -{ - return true; -} - #endif #if defined(CONFIG_STACK_GROWSUP) -- 2.50.1 From nobody Mon Oct 6 03:02:54 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 84B802BF019 for ; Fri, 25 Jul 2025 08:30:40 +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=1753432242; cv=fail; b=d83/OZOgMtla02u6GIjGAEzsmInSh9ZQV0F3VYOO85ZYBu2p5PLR8iB/bsaY3NfEK7QVlB0kRiA1xGL48NcJM0MjRtGlpVDI9H+6SDVC45csPkEqN6dAnTgd/MhjIPVPPmQEC55opi9xzALTX9TY+g1jm+gY3DBN0dfKHJYCJ1w= ARC-Message-Signature: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1753432242; c=relaxed/simple; bh=uRqCskm6pxVFD3b1k7e6WvQEjyVpAVlWAecIsnsMPsc=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: Content-Type:MIME-Version; b=QwhmJMi4e7bfUXJWHSanRDacQcJOX5Jf0oZABrCjCTVH9GmuR8j02kA3nWW3Vc5RD7vTT11W4RR0w9fgDecNMIFafwVCPHDkSLlP/9VENoiGVxODnWwilMKcsHf5N4AbzcWBH1zAEec/W0rQ2bssGDlWkMKVzIPohdgGhFEVtgs= 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=Def8zS/7; dkim=pass (1024-bit key) header.d=oracle.onmicrosoft.com header.i=@oracle.onmicrosoft.com header.b=naBcpC8P; 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="Def8zS/7"; dkim=pass (1024-bit key) header.d=oracle.onmicrosoft.com header.i=@oracle.onmicrosoft.com header.b="naBcpC8P" 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 56P7g6EM015858; Fri, 25 Jul 2025 08:30:23 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=aFEesmQ6Kykfdu34NYAjd/JLU8BkhS5/zF5o0dpeobw=; b= Def8zS/7ejy7WhtYNDjwyM7GNKdX2J/feT5SZg5ioyhNG53vOuTn42eQUK0MqaV1 +cy3pTKZ0yc9UsIZgH6glugxXFV8HYxSQMAhtU2yBfzsRYalUpPLFUFI1IJcz/PN Iu4mdC+nfCcnjqGrYSzwClf0NtoVQlmRHh/FETlNip9D9MkNKtLwgfERvYRhNDTE WRqRta+a11lHFX2BYXqXemt9L/DDY4kHyJxQMDgTp7+nCDL0CEFUpf1iBiXMUNNa 0ZbaTq9hRd63j42VS/Aqwi+0Zi8gFJntYcvFn1xqshMDIRokgGIg6UpyxgKACn/Q cFVDpBRDkglCVWQpeoz1Mw== Received: from iadpaimrmta03.imrmtpd1.prodappiadaev1.oraclevcn.com (iadpaimrmta03.appoci.oracle.com [130.35.103.27]) by mx0b-00069f02.pphosted.com (PPS) with ESMTPS id 483w1h0kr8-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Fri, 25 Jul 2025 08:30:23 +0000 (GMT) Received: from pps.filterd (iadpaimrmta03.imrmtpd1.prodappiadaev1.oraclevcn.com [127.0.0.1]) by iadpaimrmta03.imrmtpd1.prodappiadaev1.oraclevcn.com (8.18.1.2/8.18.1.2) with ESMTP id 56P78FJh037696; Fri, 25 Jul 2025 08:30:22 GMT Received: from sn4pr2101cu001.outbound.protection.outlook.com (mail-southcentralusazon11012008.outbound.protection.outlook.com [40.93.195.8]) by iadpaimrmta03.imrmtpd1.prodappiadaev1.oraclevcn.com (PPS) with ESMTPS id 4801tcv8ty-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Fri, 25 Jul 2025 08:30:22 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=y5oprPkAVzkGhsm3huqOYj//4eYcF5LGo43DD8EGVJlVhdrwoaYmhRcsNquJJSG3xpn/zkG9voN4r8ppXpt4CV3WpslbUGjHT2ImdR03oLeX9Ps5mPTR1X8Uij0nSioXkepbzv2WUzOo7WXzxRY4xX/XvE8jCO5yD+XTjE6I1lTiErE9mGwU81Z4aKrIXCXvDk2LG872NVHfvphZHyVdAh4sN2trf20mEnst+UjYlFiyur7PHTARmxr57TXOACGZ8I1Q8/WWfLTi3LeAowUSWIGM9mznbVykOe6uHud/IT9MlPdthzWQBrjhzbhoTMZjzZxA6ZouS+zvjDIeTqlN0w== 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=aFEesmQ6Kykfdu34NYAjd/JLU8BkhS5/zF5o0dpeobw=; b=TNIb0zUZCJu/t7z4IJ5aM0BPkxPllbXodqCseE0i3HgVAJCsIW3kureyqc8Qm8nUSyQNBMdJuGe0Q+fZu7HmLZ+oWYnMbRU1nfJjGo21qGcsvO5q1XzJO4Y3uN64W55VOPpUK2QQ9kVU45cD6V35kpMjKqs+NRiATvZiGoeSEev8oFLZAOeanjQfTMWj74gl8kdAFcMqWddKph3+vIP1Ao64eb37QSU5za9HTmzp/RYmknAcikd778BOtb7MX539SgCE8Pw4WSNekDqNIyCRDO/e+9aAgya9hhEKyceZmtjLwIjRngHjqtqvg9++ZfUjAl4dU/uea9v0zFWmpQDZRg== 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=aFEesmQ6Kykfdu34NYAjd/JLU8BkhS5/zF5o0dpeobw=; b=naBcpC8PnCsNvY2j9zJTd3dmBggb2iq3DG45BXPD74HCYFAi9uJLBy9xCV8p7Y0X/OkfCvnqDmGdfpuvQqT8W8j0UBWq4m93CxLcx/+KqfpKAv2JtR3W3KQI2xxAAE3wbd8WGoqWCyskx/u+8pP7yi12ZTuD9+d1Xees2RXGzcA= Received: from DM4PR10MB8218.namprd10.prod.outlook.com (2603:10b6:8:1cc::16) by SJ0PR10MB4717.namprd10.prod.outlook.com (2603:10b6:a03:2ac::10) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8964.23; Fri, 25 Jul 2025 08:30:20 +0000 Received: from DM4PR10MB8218.namprd10.prod.outlook.com ([fe80::2650:55cf:2816:5f2]) by DM4PR10MB8218.namprd10.prod.outlook.com ([fe80::2650:55cf:2816:5f2%5]) with mapi id 15.20.8964.019; Fri, 25 Jul 2025 08:30: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 , Kees Cook Subject: [PATCH v4 3/5] mm/mseal: small cleanups Date: Fri, 25 Jul 2025 09:29:43 +0100 Message-ID: <98cf28d04583d632a6eb698e9ad23733bb6af26b.1753431105.git.lorenzo.stoakes@oracle.com> X-Mailer: git-send-email 2.50.1 In-Reply-To: References: Content-Transfer-Encoding: quoted-printable X-ClientProxiedBy: LO6P265CA0025.GBRP265.PROD.OUTLOOK.COM (2603:10a6:600:2ff::18) To DM4PR10MB8218.namprd10.prod.outlook.com (2603:10b6:8:1cc::16) Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: DM4PR10MB8218:EE_|SJ0PR10MB4717:EE_ X-MS-Office365-Filtering-Correlation-Id: 365d4411-ed45-44e3-a92d-08ddcb557e16 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|376014|1800799024|366016; X-Microsoft-Antispam-Message-Info: =?us-ascii?Q?OfXv4nDzQEuxboP5zrduXk1NjBOMJT3Ht3pgxEyRhdLEobBTDhCpkaYLduk/?= =?us-ascii?Q?PfaUjaV6AZmHqW09cxZsuesUw2tidCD/7K690CkWGNZyrB5pHHXAk448ylPO?= =?us-ascii?Q?DvpYbp77wHNWssvpkClI8s9wIownpQtAItX12swI6EjR/B5iUgOSzdfikEHw?= =?us-ascii?Q?wcZXdq01GTC8pgN/uoEWBpEg/J3ryr0A4XYWSIflD0fD5J5jkgFrivpfu7+6?= =?us-ascii?Q?haPaxclclhgMnQBPyAwNR3w2I8UInZDUePdCbZL0Gu/YOwV3VozBZ4qgczUY?= =?us-ascii?Q?2LDDrVxYWw8xzMxqxY17zQfJUK9bNzWyTPRFgELkPpVSctoVLLG3boorgKIH?= =?us-ascii?Q?8pHm4k85XrABvWogAzNTwRg2cQfbecZQTCroArkD+841jV2UZM/iWQ1e5bfW?= =?us-ascii?Q?HSSpqeDtMQyoaZNx6mmqMfK1FhkNM8S0+mDPHIAOBJroeGhkankyeTtV/az7?= =?us-ascii?Q?Ul2ldSlxfG1kLvH7rCOv44FRSMh/Q8E/vs25Y83uHcUTHLL/Gp6VUwG3sfZe?= =?us-ascii?Q?FkZo39kQfAg4N9vb95EI9jYEFnhBFjxi1bpr5IPcRV6AjfylKXtxtUeuGTwM?= =?us-ascii?Q?h+S1m19mXp10a7us5+i6Aj4sKcN8BsEftJHNkLTVIYEjks3NLVAkk+CNbmNw?= =?us-ascii?Q?SgZ8/0hj4qM+XB84jwuNhj7z0JE6OkcZPe4Llhr1+SvKdA0uA643z0S/jqR+?= =?us-ascii?Q?LmbmmOplsS9ET84LOw/7A/xXWdzlECLC2rnAh2ShwMGv92xhLM34whi/MRe1?= =?us-ascii?Q?t+2GmV1k7FJzdakfAirTuwvWW21XGJnp4meTX196St1zoPvsVlRCJpY/u/NY?= =?us-ascii?Q?xXQCQXlIx9OhydWRnKKyh8qkWgBJro/KzOdyfIWzX3fhinU7NBg8lPhh3M6S?= =?us-ascii?Q?Wz20Zqr2WLnzhjpu/MW7NQEQccoJeeSwqC0oKTRq7IJDm0A8jfkefcTUomKB?= =?us-ascii?Q?il5058QALfaQkZ99RfMqSF/ZkyC6rapr1kGT5tyVIritD/2l6Dq7rpIP9alS?= =?us-ascii?Q?N8eRcdaqF0E2BfEaZNFa5Wga5ykfEBX63VJ6yxqD9UmMSFSVr0Zr63/KBtce?= =?us-ascii?Q?MoufyS/ZrI1z6xDzi4puqLT70fRm3wRRLqOqAtk9zQjJTTlye+oGST9Q/NsR?= =?us-ascii?Q?yOyAEhcXOA8Fc08UYRodYuFfFywefpFy6Tlu4Yxvv2gAUPvRSFER7NLjxwqO?= =?us-ascii?Q?is0FkHFocQBN7bSXJ6+B9EtYOzGihT89FzAyy592g6We+IbjSCZ/uo/eKsbt?= =?us-ascii?Q?tottwArMs1LHYptl3zo5vb1vv6l1LmiocxkBkSeXbZ4rc6Js/ez6ikiJCXsg?= =?us-ascii?Q?LsM1jkYKp+pXPmF8oG2dRN+T7rBxKJmUjRNRI3mO/iDzsIowH2DqpPbrMx7E?= =?us-ascii?Q?ABsQ4laR7/RIrkc51wj3LU48HxAFCH8O/rgbrSbML7EsVPr3g2MVSGpoS5Jv?= =?us-ascii?Q?MRfkFKvyD1g=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)(376014)(1800799024)(366016);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?ey+gxI7KK6J8YP5EzErMRFhWWZvNrHXO9vB8+m6FbR88Ylbb5UHcfe5RgJGS?= =?us-ascii?Q?IdJJB1nPKYOOow5+Q1sihNGz0x08vfW93iBtJnS8d4/4LyLMBZgYIlbjHW+D?= =?us-ascii?Q?6Q6DHENx+Jnhrff4IdMzCN6QIQOwHW8BZkL6jXTyXiRnvCmkX/LZSMuSjaNJ?= =?us-ascii?Q?HVCkLpXKS2C5k810f9MUeSLXzAI3e7O8NgwiAx7ZYk8SX9/vta0ZgyavTA2x?= =?us-ascii?Q?QPZewalanJNyUyK5FdjUHdDIxGVjLnX2Y+Y7petOSIUl7CQlq7uO0874K+Kp?= =?us-ascii?Q?eaO6WsCQhGtnSYkVTT3fVUIgcNOR+H+jPeYeivpdUH0UgVVQIPwEXEJBpn5r?= =?us-ascii?Q?yLWZzd/UUOB9fzrYuCexQ37macJUYPQdk7YgLihmkPkFjgHCj/Eoa6hUnbd2?= =?us-ascii?Q?i4mf44X/aMxvbttAMtp+i021Urr/FaA0P3Z5RjfLa0PfgoGG99r935bMbzai?= =?us-ascii?Q?YKdWlzkzz9/PT2/rpXyb1bUBHbqLYZQp7L79Gyy8ThebZRyIA3KmYZMVMmcG?= =?us-ascii?Q?/nf1xjeMGuMB58tHO5/CTD1cDjDWDcFDYbI48PR2VnJTDEBYXh5oni1tj9Gr?= =?us-ascii?Q?UM2EOeA96USmt3ZneWUN4IJopTHPIgueJaR7kd9gdHsXHP3swqCvQgX65Z7B?= =?us-ascii?Q?flJ4VmCwn/R5oEEG/DwZM/So8TejQ6CO/r7w0kV5l9JJHZU52NWLlOj4W+Vs?= =?us-ascii?Q?XNHdkF/fCCeQE2iEGQVB+C25Vb/orZWTTo5adVLGA2UOL7ZSN+lOETUz0klY?= =?us-ascii?Q?Kl5ushuFZISrkws+WXxNprU9L4XAhYh4sLUUTUCosLGg75CUdTzN9hDDQcc6?= =?us-ascii?Q?Epf39tgUhUxqkxUT9oGvp203xzQmgEy7tJQOW9stcFFI6/87oEPJ/LprSIYF?= =?us-ascii?Q?0TRZSF0wXw0TZXIeJ9hGFM7cj89kozLEuyNuAb+Dz3sXYrP49SltjuLeDFdQ?= =?us-ascii?Q?/HfBwpeugZCZ0MZ8vHfRAgzWLEJbYpnNRyzB66BZtP46iJ16y6tTG9PA0dwP?= =?us-ascii?Q?VbyGKmf/njzAg3LGyZy4B5Gu7nkdnBhTJa6dpbbclFW6TVlRgfNBkWqnEmor?= =?us-ascii?Q?bWjeNWKETlcYdlU77qjCBrklrBemh7CmBJHXupNnBoTgDZLPSzygunkC7MwL?= =?us-ascii?Q?2MqbvdO29erNtySHckaV0K6fLSmw2gWcRTTaRr0TrLWX/h7QhiuNMt5x8SDW?= =?us-ascii?Q?XvxYaKjUKQTnZASt78QYuPHMD9F4pWbpSQuBukhjn1Fh4JMBDfw/0Za1ISUt?= =?us-ascii?Q?5OJxm1MeO7RgL2ti2fR1a1jO/gA2WRSrtZqYluXmHJWh2wfuabC8M6MenKQN?= =?us-ascii?Q?4RUJjRYTAnmsfS0I6IwWJ4oJ8//oVEbg0Z2+6ji39Yr6n7XYgY7uUjljCzLj?= =?us-ascii?Q?mdAwQNmbyHofsnbAp6hETKRjyLlh02DywDwUUzHK0YdooS66eUI6i8ZxmGKp?= =?us-ascii?Q?RVVcpB85i7nqxXOyBVxMR6WZPLwmr8POVv5eIWGoH+SgAZ2snjfaMHVIKeiT?= =?us-ascii?Q?Su8D9l/zRvFZaLaUImIlxWclgeAlE/UpJV3xjED/LNJhf9RMq5s0NFWxu646?= =?us-ascii?Q?U+qWBqS9tGn5EMZvLHmdbciJi5NmSDWgd7AMpVgiN3Ei8seLFyLziKaGUC3V?= =?us-ascii?Q?aQ=3D=3D?= X-MS-Exchange-AntiSpam-ExternalHop-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-ExternalHop-MessageData-0: TkjmOxRIqsDzFvkh+ITzSM0JIJUmIj9hUjOw1UIOk8C5ahRwYjVwlJeBC7R53kz64GWxIAsMLEySvU3xYm9tTYWVe4UATu004m5HBKZopMRIpEjuFqhU6kkS9Yel2LZ4QSbFqm54e7UKRfTJf555rLowVPeNtQ+godesci2Q2gloxh3+3nuKfOmcpl1/Ts30h7tP2rhiBl2pA3HmRfmZ3FdsPsTeyRahLaUYqnRHHE7dS+kEiPOU9x5JRp3hM2XzNSHfgOc4qtBj3ooaTd/dDZaQqIrojYJqO/cpvr8FzsCPwdGuXrzlbJu/WRpGyckRAh/nZt1uBlKJ23+UXp/IDiPiQVPqScpAzwzDXMbONtJO3YBCyBnxd5iuFmI0wgCN3/WTcJwpO+pz8zRODqKNOAqqJvqpsyfFw8qf1JWGuHRRPKnf7k8sWBtaMLJP/6Al/Wuwgq1KsQM+c9FO5zYbMVSb+Bel4JmzYY+0gn5CU+ekZcr97jLJpPl/12s7B4k6bEcabvBe3jg0ozCA6s+lFhaWlgctuyC7XPuKi8n+cjyGXHbwg5KXn35KdujlDugznAnFZOWLDUhwuMCZc0t5h+wVtHwyWwtLAy09KYU53IE= X-OriginatorOrg: oracle.com X-MS-Exchange-CrossTenant-Network-Message-Id: 365d4411-ed45-44e3-a92d-08ddcb557e16 X-MS-Exchange-CrossTenant-AuthSource: DM4PR10MB8218.namprd10.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 25 Jul 2025 08:30:20.5181 (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: 7gfSs4ryp1RVaZTO32zQzB1u4yHkLfu8TQAY6ZkUpj41tmH/zV2M5AATghcJzcVm18vyhN7EtJWsTOq8DsOgRFS+uW0G8xm7NrS2dvakRdQ= X-MS-Exchange-Transport-CrossTenantHeadersStamped: SJ0PR10MB4717 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-25_02,2025-07-24_01,2025-03-28_01 X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 phishscore=0 mlxscore=0 suspectscore=0 bulkscore=0 malwarescore=0 adultscore=0 spamscore=0 mlxlogscore=999 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2505160000 definitions=main-2507250071 X-Proofpoint-Spam-Details-Enc: AW1haW4tMjUwNzI1MDA3MiBTYWx0ZWRfX/jtZtedz5d0D reILMEWVcbBKtxOibyHp3ywDh0/qBL+NZpVsWmAx17V8IBfYLI4R3u0fDRL5T9buP14if1v2ktb zaEizKdooEmiP70LFDEIx99HSEDJBT4CAZ5PVk6wzq4DBIjllp6RMs+nnt7tNNFt67CJJnS41J0 8M1LMVNTmGKE+K5kL3hPcCezseNKAA15pWl+GFcn2bNNJNPItAuFGzVaAYZRz3Z7oYReCAs/DIf cYbkOwer6Tonf+QdALrYGdiOq7g4ca3kfSMcDGZNW03I+fqGAlrd6tuo56ZrWvrmujmRDAT8aWK k6DWGfe9cB7TQWSqYBhZPLzGwW+N23NAIzVPCo1rL7mNEGv1yCuQW6lHPTLSWtBCcQWKUhPYP0b CxsOMKTsFdPTSzVFi5rscpJHhqNs8R7C+sjLFYRyT00Cx2rDkWbnwwssh2xDqFq+x8Dibpx+ X-Proofpoint-GUID: SM0F0iQ9guUYynQL9ySdrJ_F25cd4s4E X-Authority-Analysis: v=2.4 cv=RIGzH5i+ c=1 sm=1 tr=0 ts=6883409f b=1 cx=c_pps a=qoll8+KPOyaMroiJ2sR5sw==:117 a=qoll8+KPOyaMroiJ2sR5sw==:17 a=6eWqkTHjU83fiwn7nKZWdM+Sl24=:19 a=lCpzRmAYbLLaTzLvsPZ7Mbvzbb8=:19 a=wKuvFiaSGQ0qltdbU6+NXLB8nM8=:19 a=Ol13hO9ccFRV9qXi2t6ftBPywas=:19 a=xqWC_Br6kY4A:10 a=Wb1JkmetP80A:10 a=GoEa3M9JfhUA:10 a=yPCof4ZbAAAA:8 a=20KFwNOVAAAA:8 a=cm27Pg_UAAAA:8 a=m8tF4krmssD7b1Yu0uMA:9 cc=ntf awl=host:12062 X-Proofpoint-ORIG-GUID: SM0F0iQ9guUYynQL9ySdrJ_F25cd4s4E 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 7f9af2dbd044..35ed4ab0d7c5 100644 --- a/mm/madvise.c +++ b/mm/madvise.c @@ -1287,7 +1287,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 2ddd37b2f462..78bded7acf79 100644 --- a/mm/mprotect.c +++ b/mm/mprotect.c @@ -766,7 +766,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 e15cf2e444c7..ac39845e9718 100644 --- a/mm/mremap.c +++ b/mm/mremap.c @@ -1651,7 +1651,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 03:02:54 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 18A782C08C0 for ; Fri, 25 Jul 2025 08:30:46 +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=1753432248; cv=fail; b=EiOafz8JEn39P0UrX1TRtwXpkiIwtYYLwIh8ZHtnUxI4wAqeILnq4waoL7oscyd42RzrhDPQSuZIBd4wAo0q7vU11LAMP8z11MunyXlAV1WRsKTSW2Nwgbrq2YK0kF0n1+4sx1yn5QADJgKsYCqhoKbxJVPQHc8VZC1k4pa2UKk= ARC-Message-Signature: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1753432248; c=relaxed/simple; bh=FihA4792EcssYpoL/H997xMukrTvtKpJwwT4eUZPA+g=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: Content-Type:MIME-Version; b=qyDj/MTArPP0kpweUD8Vlc8UIlLtlT786Xevs0MaN3i3OfM4/kmAwLW5rb3fYdFC9n20JncDELKND+Io7jTNsXy4V5yZL+d/FJrL1X8dyRBKJcLFSxOWfjA8eCynVb61BMFPURwoekVICsVf2jGOvNL9votpcylu3173O6NkZQM= 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=KP08MjGG; dkim=pass (1024-bit key) header.d=oracle.onmicrosoft.com header.i=@oracle.onmicrosoft.com header.b=rK8RT7T7; 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="KP08MjGG"; dkim=pass (1024-bit key) header.d=oracle.onmicrosoft.com header.i=@oracle.onmicrosoft.com header.b="rK8RT7T7" Received: from pps.filterd (m0246627.ppops.net [127.0.0.1]) by mx0b-00069f02.pphosted.com (8.18.1.2/8.18.1.2) with ESMTP id 56P7fpbj013036; Fri, 25 Jul 2025 08:30:26 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=RtTS05p+YOb3WVN0Zx40SyHHdpaKJTu5hzc+vrbKmLA=; b= KP08MjGGb8RHqE0LjaWKI2XECnKK0IQxk03fdGSUYVpx4V1yxqhnBECVwIejAjFN DgADPyIeZLpTb3mjG9ub0ZNzSF9RbP/HK3aprjh6Y+sWAOKONgxIj21teQAuVsiu 93cXU76mwLSHDAZVTaXixLp0Crbf/NBv/sPKNfkeyJU1+37LDv5WcWFJV+CfoxCe Mx72OocO+/liIrSOiTn4GlIp0GJwViC/d2fST8boyl3y1/pzrGGVe6of+2DOo3Gd JTwUcNALWABx9IV6o/hKoTtIFly0CtwWql8SBdEDNV/98QSb2WZxU+xr0rcv0aWF yBjuaos6tTBoa+Xa1pV77w== Received: from phxpaimrmta03.imrmtpd1.prodappphxaev1.oraclevcn.com (phxpaimrmta03.appoci.oracle.com [138.1.37.129]) by mx0b-00069f02.pphosted.com (PPS) with ESMTPS id 483w3wgm8s-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Fri, 25 Jul 2025 08:30:25 +0000 (GMT) Received: from pps.filterd (phxpaimrmta03.imrmtpd1.prodappphxaev1.oraclevcn.com [127.0.0.1]) by phxpaimrmta03.imrmtpd1.prodappphxaev1.oraclevcn.com (8.18.1.2/8.18.1.2) with ESMTP id 56P6Gwkn011395; Fri, 25 Jul 2025 08:30:25 GMT Received: from cy3pr05cu001.outbound.protection.outlook.com (mail-westcentralusazon11013061.outbound.protection.outlook.com [40.93.201.61]) by phxpaimrmta03.imrmtpd1.prodappphxaev1.oraclevcn.com (PPS) with ESMTPS id 4801tcsj6n-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Fri, 25 Jul 2025 08:30:25 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=Y6X8rbo+Yx0lDvZZZ8AsAikQa1OQkZy6DIp+Sy8mVEhlC+dPbmo76i77pNXsy1SGkrysk+tf3OgjDDxfW3TNGIXShRvbBQHVuB3DGOUZDvJTFcJpwXIvddxvylJGg6Bo8oEdyBdTSRZg4tnzqBf0ihRgc95EOlo/SShNYlFPANKypX1Dy72aHd2YAL9D6apkckvJUYaCBPgyYv9boLE0VzpoPpIWGHLMkd4IAwbM27frUdC2RQAiPTfNsY7j322ihqrcVtAH712Jy/gqPbEAwO3yb/Ni6iv5kK3Pv2XqygcqHnrt4ssjuQkiG9IkkA6RN35xwlU1/kmqmNqlbu+koQ== 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=RtTS05p+YOb3WVN0Zx40SyHHdpaKJTu5hzc+vrbKmLA=; b=WF9UkNL0b/Odnnn1ASYXWUnY4ps+fCCrwiMc5zfjAw315Vz8IkuaoFBxfqACaRzZQ1hzy9o9KR/4lL3r/NHH117iICjhhj+mcHRuGM3TB9Uph2Hoi1t0hS+nnfpfmxw6OtF3bUCsIGS3OMktes0U1jy2QlF91mNUiLn/tEw96EH+mLZho5b/AqW0b/IjZw2QxPgcvIZ22762C9BtEL3b+34a1FIbSc4nNBgrtKQ51c3AqM8kfWSmhsc4kZqEwH99ojM/RTluK89KaN0R0aWj2bFcnO6OZMCfKtj/wlOFmSPhYkBrVQ8CdA9fmqunCbqPcIsDoP18lucVqPZJK0rheQ== 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=RtTS05p+YOb3WVN0Zx40SyHHdpaKJTu5hzc+vrbKmLA=; b=rK8RT7T7TQGqLPfp7Kq8Gcfd+NGc0NlQYkNu+tkWfVFoDw/A1sGHarQBzc2GHY0y16v8+e2OS5HbnQDo0X+So45kaPsx2tdjOWeQ4pHhZYRt9RdX6l0BaU1hF4UgaBzq1aDB0KjLF67Dgfia4SW5rfSpKqFiDP0yIbut6PNYfxA= Received: from DM4PR10MB8218.namprd10.prod.outlook.com (2603:10b6:8:1cc::16) by SJ0PR10MB4717.namprd10.prod.outlook.com (2603:10b6:a03:2ac::10) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8964.23; Fri, 25 Jul 2025 08:30:23 +0000 Received: from DM4PR10MB8218.namprd10.prod.outlook.com ([fe80::2650:55cf:2816:5f2]) by DM4PR10MB8218.namprd10.prod.outlook.com ([fe80::2650:55cf:2816:5f2%5]) with mapi id 15.20.8964.019; Fri, 25 Jul 2025 08:30:23 +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 , Kees Cook Subject: [PATCH v4 4/5] mm/mseal: simplify and rename VMA gap check Date: Fri, 25 Jul 2025 09:29:44 +0100 Message-ID: X-Mailer: git-send-email 2.50.1 In-Reply-To: References: Content-Transfer-Encoding: quoted-printable X-ClientProxiedBy: LO4P123CA0656.GBRP123.PROD.OUTLOOK.COM (2603:10a6:600:316::12) To DM4PR10MB8218.namprd10.prod.outlook.com (2603:10b6:8:1cc::16) Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: DM4PR10MB8218:EE_|SJ0PR10MB4717:EE_ X-MS-Office365-Filtering-Correlation-Id: 1dea34f5-e6b1-4501-3bb6-08ddcb557f87 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|376014|1800799024|366016; X-Microsoft-Antispam-Message-Info: =?us-ascii?Q?Ehrh18IjOcgAd6u6QOED7KKx9z5cvqysHkTjWFHjqeQVbSOXjF8KZnqNg2kR?= =?us-ascii?Q?xxRCh6gxjrd2pg6NvqW0/mNifwRV52b3K4Jymxldf1GMA4NhT1ys0etarJ7z?= =?us-ascii?Q?X1noO7KbDWexIUWK5Yg06GhDUWUQrjmO51BUIMLMVh0Bhm3CmngbHzJB/QNl?= =?us-ascii?Q?Iwrqnx8yDQbh5ijNAG40vglm2Tje6v2Mg083DlYRjc5X0aXm0UZPH8mffZJw?= =?us-ascii?Q?L9Rmpb3oxDGJwa52Z4ek8S8f3ynfzkzQSyzzpy9gRzng9fhXShgIcDSVCSVM?= =?us-ascii?Q?9RxflSTlpteK6Jig9lZXkZfUFyCjZVLUPChOvHepa4K+06yVru/cRYD2ekBU?= =?us-ascii?Q?X72E3GlS4LTzz+arOTtiGBeQ/IhOym6i0XJae0qmJXgpVP3phCDCeuO8aBA+?= =?us-ascii?Q?78F6OPqFHx8uafmnrouy+t/7CFE8oOgyV3vMDV+ESOMbqSGtx0jNU8v/qmnI?= =?us-ascii?Q?J5qmTuEih+hxgdP/LfN6EcMd1Mdqg5vJS8WaRohE3uKbz2JvsuM5cuj3wuOB?= =?us-ascii?Q?35uyaxu3RkWlFKEtivhzYdo2oxmzpXZE5zAoM01fI2d7Aoi+UrNkMq6VYtzy?= =?us-ascii?Q?D9PVa4XRsLHRbf/GjQT6zGqWPGZgnUkxv2IC2sNOFF5vLzKjWyreH0Lnd12A?= =?us-ascii?Q?dTZNOsNvu/2NB2ZDe9DeaZQoZSFUIThgerBd8Ac5jDesk+iZWBVzXWRnVU8T?= =?us-ascii?Q?fG1p+9l+DVWfHOeX/UCzqDs5Ihv9HHMk4wZ87w1Yq2zbNYdM1y8+VKXYItNN?= =?us-ascii?Q?TNxTka+1s6g8R4VlyLkj1Xv4PUSkHkvEuSoTPQerYbmsORttH4/rfgMZkSoG?= =?us-ascii?Q?Y3BwIMBHTWUTaX8xbSWM2V90BJYuUb1G7y3yXHEIKgT886PXbS3xgkXbZ/AF?= =?us-ascii?Q?CGNaLX/qaq7XbPyQ+CpasbmuHInELGWtzYY3NLozXqMo7E+9QiOHX+WbOs1J?= =?us-ascii?Q?aWPTdIafiOZh+GbcdYUi6WwRgi/oquJbHpNw3mqznEPeLMrLS7PrSprw/vy9?= =?us-ascii?Q?n1D0PukKU90xgbLLajzjh37l9iLPSyI5Fqik2KaYFWzDaZdn9YY0fjEuZWVY?= =?us-ascii?Q?openHb3ZMXkXrvwaFXmwsZjlrOekFScCX9YKC6aGM7Ro3qeOge/J+K07a5pi?= =?us-ascii?Q?jMVuqo6/HfRgU3trfrojCRQ54UF0UnLItGJqo6tpxi/xj+ulMAta7E8uQfy7?= =?us-ascii?Q?qT89i0Hcnw3pGF6VEWOsnTq3qx+Pm0uP/s+/2gQqx0ysMkNTctTcBdDHZfW5?= =?us-ascii?Q?Fy/5rqpR7GD83fppV5B5672ZPQkTSXnuixqLuuQ/Gdp69pMGqHVS3AcxD0sl?= =?us-ascii?Q?ztAPjWgcLOobzdB5muRtdE9Utj6CP3OHGt6PlQOivt78POdyuzhTgsAyXYWc?= =?us-ascii?Q?Qgc4L+BOq/X/Y0Oo96+zn884Teu/noae5dUBzmiWwPpyCrz8eWVejPtTwpb2?= =?us-ascii?Q?rs4NV4HWikU=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)(376014)(1800799024)(366016);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?o3qLGOBM1r/KYenZ57eeRLIaA9WY26cA0IUDhaBGa30q9062ue1n69Bae3Mn?= =?us-ascii?Q?zJ5tFewfwM4TstRi1ErluEwF2MkeiWra4kPFrcu2g2NlaNbKCXxp/sIZTQJo?= =?us-ascii?Q?hMReslnGNZH2arvHLpdXOVsvtTPvj5fW7GF/VVkBo+Ld7g/EeCwztJPlfzYE?= =?us-ascii?Q?hdiJcMRbOhLv42nEXpw+Ll8rqJIlDwJ91JMrZwaN1BYwvveVt4FXaCyXwzFC?= =?us-ascii?Q?aZ186Ydw3Ku2HjkFIZjaGmIaztefvSqMbmPr/piHgIWXECjMKKoTRRoyKRjR?= =?us-ascii?Q?B9uD02MG2YhLCRxy22RJlTKHukfv5PmvvRbOqacs3NcjE8lvVBr0M515Hyix?= =?us-ascii?Q?kId4XXLlC0JjlKEFIYWv8YGXTO4ItnJtFoOhxjLfvLnkGshi3BDgqwWWu2Gl?= =?us-ascii?Q?ujibp8jvP7Iomd5Buqih5hkV0zYMGLNjbXQefyaBAZAx1vCpe/qCMDi5F7Ut?= =?us-ascii?Q?CTv6usrfKWx7I6uFWvfzJuWatfTamZsZBKMMHBbYNWfA1XGGdwf2hQh3j9Yz?= =?us-ascii?Q?dVyVP+YC5XuNwnmrJI1JIiflmcgO/Gwzac5+VDgl6NBxIzkLsYW4MR9L7dO0?= =?us-ascii?Q?qAUoLxNxUtXuB3qTE02wEKcNSpj6AM1I77wRSW7wXlQ9X/CdhDASVVTTQD32?= =?us-ascii?Q?kLkwxPJ5v/biMINX8YghGV+jEqqaOtPCyz/RMjvkLs7gxGoYCSVvrXQI9CmY?= =?us-ascii?Q?xKhKBqpoenGtFsZy8vvSr4dlwVAovyia5sxKrFU1H0DRvlmkQ65IkKYoy8AR?= =?us-ascii?Q?6FJJwoeVrYqZBYOuAmCEvBBFI3N1hchl0it9TH6Lr4VMNdyFgvJFWte0SvM6?= =?us-ascii?Q?WePnsjcn28PcMM/GuO+DGLsJeWT+XWy9r0WCLZJsKPI2OqR4jd/L4iTG4neK?= =?us-ascii?Q?LsuqlZwFzz5jbS34Ug6OlaVjy867LvsEouDaVBisHXo65JGsWPTh7KiDQopN?= =?us-ascii?Q?mK4vFsn2qLz2Ykf6z0OKi7l2PY1iUbzxxW0wlUvujm/n1hzK77O16tb/4glh?= =?us-ascii?Q?QoNiJFrMMSULMCoHs2QzhQlepSrBviLExwSKOhudA4Zi0RrB4uKsvBRqph7W?= =?us-ascii?Q?I5H8qLCT/2HAYp+lfRHgQwR1/Jrg6RuSNLisDemRBzhvV3PmG/5BaVWkPIQd?= =?us-ascii?Q?jSFz+MGRxDjs/UgvG4OWNJUx5R/mCGBHPHFhO9jkzoC/vLzJZW4VgdZFCD5U?= =?us-ascii?Q?oXGP/qBRmN+5dgC86ELyrrzi5FUsHxI9crBIDKDutUcaaTy/Fqlf45lkPP4q?= =?us-ascii?Q?mMTi/2hvdLzR20v85HVX/4TzHus/XjuFra5+9WE0fCAKOTsdOJVJPLWyD4WF?= =?us-ascii?Q?36ZavKPDPNpDkT+6qfAhJjt6y75Dzqqs9c+3mqoVDixIBzWCkuyiO8qGnp3H?= =?us-ascii?Q?qYPiB7LwqaNIpgXpqGiqWvVqcd65iEDtWR4lJpAJRCbbcVoZ3zmgjk7tFE41?= =?us-ascii?Q?Hvqk/MA0huo+jQ0VO+QziKavCwLy0ao95i1WL2koDhaSsqrhlQJ1MKOtjuhA?= =?us-ascii?Q?Dr1GqVrpCScoGwooz4rn3mCrUHgiFCH2ywqdLRt2n/mwhDm5LjFpOh42ZxH/?= =?us-ascii?Q?0yi6dSz9x1SKRP6Hw0Yaxtz6oJ0m83IuIwA/Zxp1D/QFlsDLnu5CMyw8bEtk?= =?us-ascii?Q?SA=3D=3D?= X-MS-Exchange-AntiSpam-ExternalHop-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-ExternalHop-MessageData-0: UXNyKlNW2qdtsRWyK7lLDt7zmybj19+e/8QdB5CtwMuhmhpRvKoD4Q4JXE/6HIgdnO8w4LntQswo/Ohb1UhugH1GPWmK/kiVDYtSv4MNS0Yg52u6SRyNMk1vcem7onJ8i45I3LCUDUGlt8XJFIYt0PLDt0pw01BGNR3iZswoklOJZsmP0qVc4LK3sfX9rGXuMLRNHQWI4834Ur2dIzpBaWpscI8GY/eHEUHbakn0u6ID6dv6FTkfwWJ3IeM+qG+kv3eDlKCi2tgLN2l13/cc+4e4peSg3VRGgSJK6frResNaynGnLIa8eC+pP5WvF8lxKd3vy73L1ylye+pc5N1aPOgoPbx3eoJf8b4rbCqtLF/TbEFBu5TOrgCwz2DfRk7eYgokkgI4V2k1kmldTpqQkF84ssP9rg2TdpUU2NscCiQmxfxdGRhWfjvKSPiJPMUIWrUsqZ8V6KBEpS5m6Mbqi10M/x2FAV/XP528riNCTSoQ51wHNlpQgZK62GCuIwPJ1QEKEMo+36lfBFTL77aBnfGy9QdCo4NigYCkhud0ClP4VNpv2P5TQ/WxJ5aKQS7fzhUdChDInfDtOjzR2f/d/hRUYavkzRCE2gdFdZAdRRw= X-OriginatorOrg: oracle.com X-MS-Exchange-CrossTenant-Network-Message-Id: 1dea34f5-e6b1-4501-3bb6-08ddcb557f87 X-MS-Exchange-CrossTenant-AuthSource: DM4PR10MB8218.namprd10.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 25 Jul 2025 08:30:22.9247 (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: bF74lFZGOYvcn12lgfZJbw69QU/aSTXytGAXHNMn5RZ6R6ZSgDzAXPi3bxJTuBVcI9GKI0wfYBa9puaOsLe0VUThcO1qk84vBtBEZoF8KRI= X-MS-Exchange-Transport-CrossTenantHeadersStamped: SJ0PR10MB4717 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-25_02,2025-07-24_01,2025-03-28_01 X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 spamscore=0 phishscore=0 mlxlogscore=999 bulkscore=0 adultscore=0 suspectscore=0 mlxscore=0 malwarescore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2505160000 definitions=main-2507250071 X-Proofpoint-ORIG-GUID: kKYwMvUZit9rPtB5e0LkncOUOqWrX-iZ X-Proofpoint-GUID: kKYwMvUZit9rPtB5e0LkncOUOqWrX-iZ X-Proofpoint-Spam-Details-Enc: AW1haW4tMjUwNzI1MDA3MCBTYWx0ZWRfX3Sjrwly8pAmV Nb2A/ttG0iIo3r3MSW5pLhLYWKqd9cBXXpo5mOxQT4ouc3yUzUnIlDGC3SeCtyeE8Kmlo45GT15 ubUDCy+xk+UbXvsx3Tzf+Zg8VQX+Z1wCEmYgdbhaFdUKliotvPBjZ6qBNhtWXlcpgYmYXwLrrMv AhiWKbTqhwc8ApV2RSLWcIFN+zQWFXm3irCYh5MZ5lxU2fRCbWyqKs9MOQnHUOnNUcEXE3y4HXz DqGqqi01Aigq3JSWIERdIMizFGvsj0HRqfU4kFsrf+uM9cljXgpLuD+B4Rxe6357oAVsBGr4UQX BSS5ISm7z8B0x/7LL2c7tJn8DasUfp1cpzCLxuBLQpc0mQ1iX20L8Wkm59lq+ka8ezIJjLqKIed Ek4/+kyNM+8zRyiI5VrlcWNpn4TXxhvleoZkgak9xfVKJDFrjp4ZKMJ0uqeWK1b2nOL9bKSo X-Authority-Analysis: v=2.4 cv=Jt7xrN4C c=1 sm=1 tr=0 ts=688340a2 b=1 cx=c_pps a=WeWmnZmh0fydH62SvGsd2A==:117 a=WeWmnZmh0fydH62SvGsd2A==:17 a=6eWqkTHjU83fiwn7nKZWdM+Sl24=:19 a=lCpzRmAYbLLaTzLvsPZ7Mbvzbb8=:19 a=wKuvFiaSGQ0qltdbU6+NXLB8nM8=:19 a=Ol13hO9ccFRV9qXi2t6ftBPywas=:19 a=xqWC_Br6kY4A:10 a=Wb1JkmetP80A:10 a=GoEa3M9JfhUA:10 a=yPCof4ZbAAAA:8 a=20KFwNOVAAAA:8 a=xwD0sDoZQghBaKHlvQAA:9 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 Acked-by: Jeff Xu Reviewed-by: Pedro Falcato --- mm/mseal.c | 39 ++++++++++++++++----------------------- 1 file changed, 16 insertions(+), 23 deletions(-) diff --git a/mm/mseal.c b/mm/mseal.c index adbcc65e9660..1059322add34 100644 --- a/mm/mseal.c +++ b/mm/mseal.c @@ -38,31 +38,28 @@ static int mseal_fixup(struct vma_iterator *vmi, struct= vm_area_struct *vma, } =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. + * Does the [start, end) range contain any unmapped memory? + * + * We ensure that: + * - start is part of a valid VMA. + * - end is part of a valid VMA. + * - no gap (unallocated memory) exists between start and end. */ -static int check_mm_seal(unsigned long start, unsigned long end) +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 +181,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 03:02:54 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 947EE2C1591 for ; Fri, 25 Jul 2025 08:30:51 +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=1753432253; cv=fail; b=iIiEUCvyMtJ0Gc56Fit59zIgg7EyXBTGV/4wd3WRlEH8fAUUVwQDxuJOauIt2prdRqg0RXBOocfTWOdULXDcfht/shJcwxLhSG2MK4vepFHZ9sKwvxfkKR7QZJZodBrvSdjTDZmbpgQB0P5rq98AF8gMb9uce00C4vleCwvYEqY= ARC-Message-Signature: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1753432253; c=relaxed/simple; bh=7vAY+tpg3VwwNk3TSyuMPa9TCbimISyjCOTcEHFX5G4=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: Content-Type:MIME-Version; b=G3cWCZtszGtV1zjkMWZ1Fr9R1AN39aMmrtqdKywweSWz5+2zCldrY48JVlrGRAxw8Q1JeACGdNisPZ0iph0TSDHLwh1UuG1v2JXhC044jmVcnytn1anRjkj9VmT8XXSA7lXRwCz3CdhglfeXbQsA5etba8N9T0kZJPqI+idk/EI= 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=q1Yi+aqu; dkim=pass (1024-bit key) header.d=oracle.onmicrosoft.com header.i=@oracle.onmicrosoft.com header.b=n235iMZ5; 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="q1Yi+aqu"; dkim=pass (1024-bit key) header.d=oracle.onmicrosoft.com header.i=@oracle.onmicrosoft.com header.b="n235iMZ5" Received: from pps.filterd (m0246627.ppops.net [127.0.0.1]) by mx0b-00069f02.pphosted.com (8.18.1.2/8.18.1.2) with ESMTP id 56P7fpUq013030; Fri, 25 Jul 2025 08:30: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=2SWHnODwaZHc7cbsXpb7KgRvwcB9iipkBvdz3VRiUbI=; b= q1Yi+aqu5+CjUK6frzR7eXVJU78l6f6cvih4YD5+3RMWzMtwfA7TNLm+waBinh73 hIjfmHxekDF1HmXMlfBOf8/ihVAAp6ekB7C2MoKIulHrqHitqGrUsEQ9lxMmRRcc 47tnQogLd5Uq/HH6EAvOLpmcbRxNeHxM3HzoOxSZrXceClyDzNBCSicVRSiB8p8p e+yQfDjlX0m1yQDpNsFNcwJhvFzfv5IIVpp1QTcQyxPQikCYKRtWzcpyXJihFqb+ eHY0Z8Mjr7mBj+IPmnFOwbyCCNPA0LyH8TI3MFFKZkJ+c8pZ0Oq6VaNV0pz6PgZd wZr8GWTOQp5PeCGfuEurzg== Received: from iadpaimrmta01.imrmtpd1.prodappiadaev1.oraclevcn.com (iadpaimrmta01.appoci.oracle.com [130.35.100.223]) by mx0b-00069f02.pphosted.com (PPS) with ESMTPS id 483w3wgm8u-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Fri, 25 Jul 2025 08:30:35 +0000 (GMT) Received: from pps.filterd (iadpaimrmta01.imrmtpd1.prodappiadaev1.oraclevcn.com [127.0.0.1]) by iadpaimrmta01.imrmtpd1.prodappiadaev1.oraclevcn.com (8.18.1.2/8.18.1.2) with ESMTP id 56P8U2I4014553; Fri, 25 Jul 2025 08:30:34 GMT Received: from nam12-mw2-obe.outbound.protection.outlook.com (mail-mw2nam12on2042.outbound.protection.outlook.com [40.107.244.42]) by iadpaimrmta01.imrmtpd1.prodappiadaev1.oraclevcn.com (PPS) with ESMTPS id 4801tk5gt8-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Fri, 25 Jul 2025 08:30:34 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=Hjf9AtAw1nG7VsonJZpb5p4Z4kHXnioe/MOiw9KSSQbDdPPs7ZJvWs9OLSFE9YM8Td6qI2Qbui+9UbThs7bNz04MFqR8qvxncMckkLKOcDYfVuIDc4T0TUZClYls/5lYZXn76TbKy/l3lfCGJzWonXHdrg2QpO/x5JIjm+NI2lPoQtxBrxaMAtKRKgod6//+yXAyt9lwxrgTVmQkXxVqczOk7aY3NRk7B8FRL68Y713pUdxvXIzP4SGOgV946AJfaqc2xCjP9t8Z0S9xqdIVUvEufiw8R1EnPWhO71F67X7QmnTygg1FAXXBq7JJi8qx6SImbTxdS9aNDR7eatRK3w== 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=2SWHnODwaZHc7cbsXpb7KgRvwcB9iipkBvdz3VRiUbI=; b=fcuC1KkMTgdSoTZ8yRCNRmXATs+f1jUQLcDxeEAU+WlO4+a+l1IC3VPiO5mlrtYwF20VDLrn3qTvZ/RTiqnWZhs7ybxU/XdkfK9dvoCVApiGsQkw6uWcZ6cOkj8CNvtwbgjzUOivAkfrerUnnoMWL6uIkDBhc3RJr0LiKv+NQfwjhNUccQGKeiERvBqjEinol8KuLaGqmdrPoqs0Cw739OWyndlbnrGpTcClsvuKPBOHiIhxrN7ym8N/erR8Hr9xR6fxivs1wlfBqDxNS9l0/puaqM/ozUE+nOSqohxoDZqVMsZOq002Vv/gyypPQ/vQhFvsGJlpIhQXgBHkQCCYPw== 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=2SWHnODwaZHc7cbsXpb7KgRvwcB9iipkBvdz3VRiUbI=; b=n235iMZ5FfjsM1orvYWCNAT4PG6J2Xqvg9QkZqWUwQR7mdTo3AornEkWMHWEfJWZTdiQny6VGRRACKmIahZcFOWcOyNP6+rh0gE8OI5KVPuFWSXnXDjneCbYwvM21BRR94xhuBQ4TPcZ6SON3W5MvRIDcY+2aLafSdkmJLRJyTw= Received: from DM4PR10MB8218.namprd10.prod.outlook.com (2603:10b6:8:1cc::16) by SJ0PR10MB6422.namprd10.prod.outlook.com (2603:10b6:a03:44c::14) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8964.22; Fri, 25 Jul 2025 08:30:31 +0000 Received: from DM4PR10MB8218.namprd10.prod.outlook.com ([fe80::2650:55cf:2816:5f2]) by DM4PR10MB8218.namprd10.prod.outlook.com ([fe80::2650:55cf:2816:5f2%5]) with mapi id 15.20.8964.019; Fri, 25 Jul 2025 08:30:31 +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 , Kees Cook Subject: [PATCH v4 5/5] mm/mseal: rework mseal apply logic Date: Fri, 25 Jul 2025 09:29:45 +0100 Message-ID: X-Mailer: git-send-email 2.50.1 In-Reply-To: References: Content-Transfer-Encoding: quoted-printable X-ClientProxiedBy: LO4P123CA0343.GBRP123.PROD.OUTLOOK.COM (2603:10a6:600:18d::6) To DM4PR10MB8218.namprd10.prod.outlook.com (2603:10b6:8:1cc::16) Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: DM4PR10MB8218:EE_|SJ0PR10MB6422:EE_ X-MS-Office365-Filtering-Correlation-Id: 2a0274da-efbe-435a-4886-08ddcb558488 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|376014|366016|1800799024; X-Microsoft-Antispam-Message-Info: =?us-ascii?Q?2yH8bsAYmUJz675CGsWHNgocBeC1s5Pdro9c+o1Uish7S46/DB2BLB2xdjEu?= =?us-ascii?Q?nDon22SNpgf8yYup93nCkPsy5xpUc6YikZ9GkUg5LkZPXKWCZ++lhdKfsLai?= =?us-ascii?Q?7Z71k1eekZ+7zKqH1zXFBXDMpafTOVm/tyYe8+zcw4jgnnT7UyB9ep/xbzNj?= =?us-ascii?Q?ZDZhB3FQvqyVvmxf07DTJ5bWUEtwpLYmfIxngsbzZu5xkGWX1EsBfxQzxvX8?= =?us-ascii?Q?YjVd884BYFSTa51kk2ujysEQGLv3qyj/4gZIZAzKn3k/IGlmrF7xcY2sB0gq?= =?us-ascii?Q?xQC5Xn4efKNyMIpESyYE2tXC0yEWehc5L2CxiuCUnSHS7SyidcNrgP5quFQR?= =?us-ascii?Q?SeI24+wPhlE1sJ6P/FBDkYstF977hqFLxYqr/VuUAvFN7kT84VZSSOwovV10?= =?us-ascii?Q?SdG+cUIL7RntFn4T05p75uwJMZYPmK8XebgxuHBys/G966DTm4d4ITvnXels?= =?us-ascii?Q?D8b2P9vzHhfxkuY23FMGve728wD5NQKrXlAwuB6lwwsDwBLAIfG6yVEb1FLU?= =?us-ascii?Q?tqxzNUkiWQeUhWFJUKXEsKXBjKL1ceC1XZliC+4OPGvtwxHwK2mraDTiFGAL?= =?us-ascii?Q?xigcT1aO4rF0LfmoOuOe5oeTglCAUcThzqqm+Q/PFF7Z5eFlqzxYQyZWj8LQ?= =?us-ascii?Q?GdvhCkCfgMnWkuMDO78p2NM0x4siQ8BPo8usun8hjk0G5lawFeS2lrAtHZoI?= =?us-ascii?Q?WlMwh0PKRG4H20qpqQaQ6vkYLmdTWbqHGdltyBzgWCOPCVzXOzd+Hsf7nytM?= =?us-ascii?Q?tLRj+0LNzqvgCYUDYjW6NvVqBB0u/vLgJSC66XG0Zhuy2X+hQLrQbJFWS0jh?= =?us-ascii?Q?98gyahnv2mWPsDkRZY2Oj4A9Z8Z48yMIu3kwiRbOTC2D6h8TLEgzXoE2xXJR?= =?us-ascii?Q?SmTEZBwEf19h11FtYlqAf4Q2OURLI6NZrZC5v22q71CRUpJusBnikXViBN66?= =?us-ascii?Q?PPniS7wdSMTnfDhFtfAclEpdW8hSBVeoQFxuJMnPDqwGNghtrXdeLeaP/A1n?= =?us-ascii?Q?O+SXgjiAH7thgGEskiVi44sj/H94n9p4934tKXEMWMMTT0REHN+saVmoWFnE?= =?us-ascii?Q?lZTdU6M366yStKqMckKTZdVcI2C9E9gUVmKaf0H4zqRtG/LmWCRBl8ngLhHa?= =?us-ascii?Q?e/6PZO2NdJj/w1La1dDJQjpsI8Gt7nU2/xtFMe3Wwu672qHzOyaApaQS+OIM?= =?us-ascii?Q?ZIrXUBa96bXi/RYNygACFuONC+oIv63bmET1C831L3olnxkAybRsi/WhiqM/?= =?us-ascii?Q?SPktTQvO2GHzwKMBbmwte/4fHHB5A6dQehL8tf6eHPXrXHqqsINKY2TPlL4P?= =?us-ascii?Q?B7NTi2ee3La2/bjd6TODCarTr3ChW1DNd2Sl7SbrJk40Zq4PbLfhPq3HDqmB?= =?us-ascii?Q?k4nvpVnt1VegPIz3EnaJBj71O7C1/GJY6VdZV3C0Zwys6uyDeFMY1OjSD7r6?= =?us-ascii?Q?fcH53Md85V8=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)(376014)(366016)(1800799024);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?+yxMLjGwVG4cn3y0RivPhEK6ihMCjkmupoE8DRjfAZYw7jeQ9ytkYvn0Mgnx?= =?us-ascii?Q?gwpCcK79UhRN1Ptpp/tM44LLD3g11s6pJftW992HKtajZgd5xfo5bOQRc0/v?= =?us-ascii?Q?xscI//ePD9FsQk7Nbv2hbjnbj/VLTPM2KnMA7JnXFR72FP011nEnBK6IB03N?= =?us-ascii?Q?SxG5AnoTutpLUc7J0oMUSLMFT9SHru6BRzNlmQ9ea3kcTCC/TOcVrfGGWRCL?= =?us-ascii?Q?ZFR1Z8WtlazuwrGqy/FhkXoi+NZRQUKvkricSeX5sPkldQY1TAI1bmSuvAss?= =?us-ascii?Q?C2DEAQ2d6esCHZ6pqwCmbDHoalbh5F0VsVAe5v3Mm8ZmGClcaRKt1B05Z6Gb?= =?us-ascii?Q?l0+aPNigDDDqw/e8F7SKMyHynQtgONT6825rCpOThj/oaJ9BbMugy27QhdFd?= =?us-ascii?Q?ZMrug+1PhzwNS3Thp0Yn+MSUunXZHD5ktn7Jsl0xtLXyHALR0xCQdMd3aasW?= =?us-ascii?Q?xAd5O0kL+UShFNyBy5/JxiGPwrvgmRHQcDxCKQgx/PXB4mPKlI4DrG3cchGC?= =?us-ascii?Q?Sntnzv2nFkdsTt81fjLiLhiXdn9xRD8Pdf5BA2a8vrO6s2GlLLoUW9qSrNoN?= =?us-ascii?Q?bqutysYrPL8Bzyb2GB+2bv9dKVq1mFM9aVvDJ+F8XH6Th66+AXJ9skFrUrpN?= =?us-ascii?Q?zDRVPiwx9uXTBJf8xlhi5xR0oDlSonOgqXFOWmH3brnLkgw/2ADcKpQZHWUu?= =?us-ascii?Q?Cucg4H2mYG9HaQ70ScNxzl45AB2vB6zbHo6nJVEAC+7+iww9j2NA05LfgbpB?= =?us-ascii?Q?m39vh9/IQ4p/I5sjOqHeb+nNODKKm5/KPVA+2E8YOQMQmVU7HFaPvQHjuQzg?= =?us-ascii?Q?iTQUU/vv8B5SNTpEJQ+XkKhTkrkB10RrW3X+zldjPPjELmgoc9mRNmmg0RUj?= =?us-ascii?Q?51PT1LnwBt6f+qCsM93uTbXqj2+1jjwzDE3BQUfKjef2zAOn9+0UAbfCf/+V?= =?us-ascii?Q?+yRqtL9e9GTeFZ4xgPmwaM7VQRfb1j688ZEgS37ZLt87XvG1wh2TYMjj0NAd?= =?us-ascii?Q?XMm7d6kwW0JjttxUR16ITfOP3I43SnSgCkp0sDa/wScai2ldbBoy8hlJuTUk?= =?us-ascii?Q?3Y7rIUj0DAI1Yk/v8iAfrxVLbCiRZwH+1NDTHDpO9Mn4ccfl1e2kevlLXr8y?= =?us-ascii?Q?CPWY7sjTx5yflLV71Q4wxhfufXrcI0QRlYhssx3WvCa4WL5LkOC6KMTJERqk?= =?us-ascii?Q?ntxTRksPYOvxuUQi9O5nhtMzGENIzUeDgRp+3qo1Z8a/2cIxR0bfz5JNO1qx?= =?us-ascii?Q?6e4uiKm4ADZB3hOQBbVbLkpxKqcbURzPqMKSy+4NIX4sYIbT7L+hzcJ9CfmE?= =?us-ascii?Q?HJIqQ4dBlDQU0m9c/DwXTXslvYKKlGCun6wvOuTE2LZUDr2BJL2bwqXeyKPe?= =?us-ascii?Q?t2VJe3dCKBhN/5/gHh+425tVdXVk46mt0w085OB6Qw1oyonqS9e/n5DSibrs?= =?us-ascii?Q?+nJkQCnAdn4u3g3IvNh6eLDahdct9kZzftVL9mW7KvKWH+siaXEK2jDW8viZ?= =?us-ascii?Q?yU9/kAKTUkc28HQS52YdXuwiBFwSGVR8CiRt++vORRFIEF80RZ7DFcMiNtkk?= =?us-ascii?Q?fwS1FRfSv17zI1EJvkUcOQBpZbIinoRGNHcLK6HMKMxaqkLZSp0HgXlcYlhW?= =?us-ascii?Q?2g=3D=3D?= X-MS-Exchange-AntiSpam-ExternalHop-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-ExternalHop-MessageData-0: g67IYPRIYRaca+ruc1u2fKjqhuBxHfifufLvaNOqe8FT+OhL9YfH1F3xZ/kUxUGLiqN2/BFL1bCK9z4xmKyhqxYhi95v2paBaU9USz5TJajtOXAU1Jv99fyGL+y2Q3TQzoJadD71wRIgLKrQKqRJx67/4FodJpTqBHsW2Vy137jBqzMYN6+GpuUT0/aM3eBIq2sJRSo/Ge3O1TtUKNLeZ01hhh489TrmEC/E+XrB+IRWg4XCkfMmw/BWR8QAh45sRf4IFYZWOTFp6I3xs+9bS1E62ZYWKaz/QlvGtusj2CuiE1Gbf+pQCDUaFhqr2HaS87F0uVVECFm5SgzipYTCKRDwHH3nCXqxaRZTmhqPmvoOSMIf0rrx533vQzFoRbo8r0HXH9FKryhPk+a5gdpmP1CIWs691s+FI/FemF+9IVAj8Zlehqo9eV7W3QlJJa1rjqxZmWddDTwiGNuO6/nL2Tt10JNMSc6zBxlZLpaRDXw7VfobyimTesqhW4jXpqo2k2ZAVypOtWvTmYzWX0yUN7Tl28wPSCpmr2fH5qFpJueWg0oy/6m5rRE1Y05YKdqGMGAjWJx1zKig9pAuWu/caHV7D+gRfdQpGnXxEsX9aAg= X-OriginatorOrg: oracle.com X-MS-Exchange-CrossTenant-Network-Message-Id: 2a0274da-efbe-435a-4886-08ddcb558488 X-MS-Exchange-CrossTenant-AuthSource: DM4PR10MB8218.namprd10.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 25 Jul 2025 08:30:31.3221 (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: j56cdTZs4aHeLrZVyqA0PeebVFWeH3q4nYQslojQIJSo2brBnEiOnHLxQ54OEuRRGF6pZHvyuqaz+qnYVhq48izooh1l1P0U8wVbwDsXZi8= X-MS-Exchange-Transport-CrossTenantHeadersStamped: SJ0PR10MB6422 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-25_02,2025-07-24_01,2025-03-28_01 X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 spamscore=0 adultscore=0 bulkscore=0 suspectscore=0 mlxscore=0 phishscore=0 mlxlogscore=981 malwarescore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2505160000 definitions=main-2507250071 X-Proofpoint-ORIG-GUID: RT3vwfHGKGLsY7ssBUXHaocLyGfjoLTG X-Proofpoint-GUID: RT3vwfHGKGLsY7ssBUXHaocLyGfjoLTG X-Proofpoint-Spam-Details-Enc: AW1haW4tMjUwNzI1MDA3MCBTYWx0ZWRfXytKy/q32w1+0 E08qxA+jqsvoERIPD6YVHOp8pMG1fJ3VGY1DWlGfJcIyGv4ph7N3rrdYvTKVRsS6fwsC+mbD0YQ wBDvr2LTPmgw0EvKxkXEKVDo2kpAnPwbU6kT7YQxzz8RO46/08cKeoFiutV6F00YfVZoqJup+mn n+Rw/MmnNIpRsHRk59aEXH4wC0FdGXqkqT0D8XTtwpGLHd+WX7+CQog0+ch1APpld8zODGEaw3k NioVstGbY5g8+BZKHR6omcrneFDVu5HO1NqApO818zTWEH4AHowuIo2PD7XQVtCJk57NEDaaojo JZdvGHpIYTxXeaRhn1LgiCyZv3Hzmf3SN0z9qH87P4dB2PRllB0rtQs6TSGgkAVu8FdGRG625nk ov3oknulgynzGC/VvSCy6yF4qaqN7XvRQty4+TCA3laapGnXFLswBMxqqXXS1m1+0O5s9CI4 X-Authority-Analysis: v=2.4 cv=Jt7xrN4C c=1 sm=1 tr=0 ts=688340ab b=1 cx=c_pps a=zPCbziy225d3KhSqZt3L1A==:117 a=zPCbziy225d3KhSqZt3L1A==: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=cm27Pg_UAAAA:8 a=ZfV5uqM9ac08Jx8ArasA:9 cc=ntf awl=host:12061 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 1059322add34..3df9581ec828 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? * @@ -62,38 +40,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; @@ -192,10 +165,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