From nobody Tue Oct 7 01:53:55 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 366722E5B39 for ; Tue, 15 Jul 2025 13:38:08 +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=1752586690; cv=fail; b=oOdhtjFadscek6kGHom/xMn6yfgXgl5pILNsQja3kV2SzlzDOgPVUHmLkvr8wjZEKps8o6HSHZH9vnHoqK8b8Wc4BqFwhQLAOJrBDiRMrrlbrZXm6PaXGYPlhHojYoL62FJO9anv1S+oAxHhlLWohEKZTs26Rv/eirXAWbtc0wc= ARC-Message-Signature: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1752586690; c=relaxed/simple; bh=u15eClY+AxcXKz0niGKsUg8tBDEo+J4d1XXAJYcjyLA=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: Content-Type:MIME-Version; b=AnXpK+4LRAChowOHPrN4ma14WP/6YandSjH4HQAaRpGHigkVy4dmwd4I6i63F4+s18I73zhiuL4XF+aPISzUqURXVImnxkftpkUxvFH6soow/Ls70FMns7rqnQlgyYM7LdHee2pN/yO/sUtcEPxF5MivlIejKZ2Yf41zTWYP7XE= 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=c3Uihm85; dkim=pass (1024-bit key) header.d=oracle.onmicrosoft.com header.i=@oracle.onmicrosoft.com header.b=n/1fSsPg; 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="c3Uihm85"; dkim=pass (1024-bit key) header.d=oracle.onmicrosoft.com header.i=@oracle.onmicrosoft.com header.b="n/1fSsPg" 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 56FDZD0W017571; Tue, 15 Jul 2025 13:37:55 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=VXLN4QrVvjnYUWnzPsQVjSdLipbprY0d2rBRLecVpIQ=; b= c3Uihm85P41i8fhgeKCgN4Hmu9rrtOIxFsyGxi18itbJ7taAa06wsz052SlQUq3G 7ZbZ2VV7yl+XQDhIxuZL169XwcQB4jftJnJfLBR1X8mYd79Cw9MvQLavwTMFdrtT t4vDYkceMTzuQZrDHKcPQM8a5w8NwJAGZsobIzLDy0Jr2Ks8lK7AC2MXuR2I94Jq ISEs8G5d0t72CehfVEg0OEP1K3JaU1BElQYq7Bq8fXaUml7tMdDVQ8J1vqgEM31W L0wH5gfYgkHg+Uc/T+GAszHW4bBpdESP3zbvCrKy+7GLeG4seMif55XQJWvV+KtC uC8R6MzZJWYMHb58Tm4Ojg== Received: from iadpaimrmta03.imrmtpd1.prodappiadaev1.oraclevcn.com (iadpaimrmta03.appoci.oracle.com [130.35.103.27]) by mx0b-00069f02.pphosted.com (PPS) with ESMTPS id 47uk66xdq4-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Tue, 15 Jul 2025 13:37:54 +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 56FClimN011819; Tue, 15 Jul 2025 13:37:53 GMT Received: from nam11-bn8-obe.outbound.protection.outlook.com (mail-bn8nam11on2080.outbound.protection.outlook.com [40.107.236.80]) by iadpaimrmta03.imrmtpd1.prodappiadaev1.oraclevcn.com (PPS) with ESMTPS id 47ue59yt85-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Tue, 15 Jul 2025 13:37:53 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=O8ZpjOEyspFTkVGwGQq2SH3TRrS7HQ5EV2WudjRpjq84hRqL14Pt6XUgnhn3o+B27uJ94P5Xfj8NdRZ0ZTpEHnnPRqqazJT8QIJ3uEGmtljR4E2xualc7y/LNHIgDQWRQxycoNMn0UoFKcWaT99FtrmrWinihhG0DAuX43gL/P7lFt0I1okJ8A7E47PV42DRyyf2+FdVtuz4P6BBHlroRRpDJuQGmohn7RyDHFpRS+FglLnED2R5Ff5eb7tM9nyckqUVLGwvJNwtBSc7DFSbetkAv2eyi/0RgXL1KLOT3iQwHd/wGbOk4UV5j0H1f5fZYUx22tTkTEybuecfXiIJVw== 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=VXLN4QrVvjnYUWnzPsQVjSdLipbprY0d2rBRLecVpIQ=; b=AufpfkDvck9opc4l12t4M21sJPb+iEUGKrgVzwuy1EWuOgV+viB/ALzn3e6aPcxovbA0pVJYpb+QX7KUiVbZaGeQc0/z7eCt0QUESlHrFYCr0Pe0enY+rtCRmULrpArzobA3n6+Go4B+xCBNPjNYS5kRJHt8w/Q65Ysv6DEnRwbvu7swMfPBRKr9ko+bj5rSOCRAa1SONYs33Hn2RtCJ5pqVBdbcOaTGSbVReqM9J8U0OZyWJCHrP+u+4keB3L3Rr4gltxUCdtfi2sfbtYQPi8JRX+cxOb6kUPp/ZlbZp1Zn1qyAo/oU6Oa6Dk3UCCmSMMF/kkfblRDID8DV37B0cg== 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=VXLN4QrVvjnYUWnzPsQVjSdLipbprY0d2rBRLecVpIQ=; b=n/1fSsPgGeeRyB4U7eTWRAm3Xf8q6zTiXdRm1Fgb2/7+n6JBqjckyhUjp+suQlUJXhYvOuT3sQmMctCYMZ9vdOOgcS3pXZs6GT3Mai6bEjLDCAWqnl2cITYDnD7eE4SUEYHC+rPwh0fW0y3Dh220l1+/gVtbbtg7eUBbrEW6r8s= Received: from DM4PR10MB8218.namprd10.prod.outlook.com (2603:10b6:8:1cc::16) by MW4PR10MB6370.namprd10.prod.outlook.com (2603:10b6:303:1eb::20) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8922.27; Tue, 15 Jul 2025 13:37:51 +0000 Received: from DM4PR10MB8218.namprd10.prod.outlook.com ([fe80::2650:55cf:2816:5f2]) by DM4PR10MB8218.namprd10.prod.outlook.com ([fe80::2650:55cf:2816:5f2%6]) with mapi id 15.20.8922.023; Tue, 15 Jul 2025 13:37:50 +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 v2 1/5] mm/mseal: always define VM_SEALED Date: Tue, 15 Jul 2025 14:37:38 +0100 Message-ID: <48376d052928a56b6e66a5add238dcfa1fe91886.1752586090.git.lorenzo.stoakes@oracle.com> 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_|MW4PR10MB6370:EE_ X-MS-Office365-Filtering-Correlation-Id: bb66bc41-9b0a-46ff-d37e-08ddc3a4caf8 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?2K9joaicvdQvE5aYEZIHUQHMWt+yTDb0TeHonzoYOJrYl4oYk7VmGMD3fbsz?= =?us-ascii?Q?1y8o6N01r0bSa937+BLlidWZHPFVA0F2OXq724IVd9E+mWzVBhoq79EJ2SqV?= =?us-ascii?Q?/KtE77nbyY5MH89JSmBrW6bXKjdpJ0FqTi7Nj5p/0fYIjf6DHjzBE+mtpn9K?= =?us-ascii?Q?UUIdj4wGsN1VO19Qi6B/PZHbVJSNYVGNRzF3e3q6nHhEpJkkgcKRMiX0C1B9?= =?us-ascii?Q?Hp+JMGdesK0flm9I/vbc0WM2gKdu4gPnGlbtpHrrBf3hMnfZ25nI5WS3SN++?= =?us-ascii?Q?deX/j+rbaICSXYT/9P6KkVFsnmHHoM1zUnkQeaELUa0bw9166yaajD9bD2UR?= =?us-ascii?Q?Dh3HQn5pH0tTtU5jlw8Z9pVqZzhOHUobzRxmJ8iy2V+mpDGhrGI+Iii9iczL?= =?us-ascii?Q?2gUzNZZGbcWgVT1RTwmRxgK4VqOuYg40OhkWVR7wcMbnuyhjRlX2et7T+Mrl?= =?us-ascii?Q?wn/j2aLfbWUaCQ1Gkd9nMrKxx6uaJaWwF2/TfkB1bMkQfGqJ5EvHPTOoseRc?= =?us-ascii?Q?IVT8DsMd5ychCgdjsH9ogbUnK8SNBD5akkaOHwq3j80YtGq1G8lJml7wFtOX?= =?us-ascii?Q?nalBCGjrzv/CnG+nW8bpMZ98AogZbcAqXk3M5nfuVgYJpZ2Yslj73PHX+OIx?= =?us-ascii?Q?pHK3qVn2zT/gbfBVC+H9utEmagYinwwnikRGO0n3vkM6ULcwqTzU7zu4x2XX?= =?us-ascii?Q?jliXqXoDxt8Ibbt3fyTte4uXGTLdJoCDX/2IcAaGD6QZWUWqziAB2Y3hzh0e?= =?us-ascii?Q?w9b1Q02Ys17MSQ8TDV3gSvpPrxG5MRazE3W1N8o8XcPdO2m5klhRoKN3lb2x?= =?us-ascii?Q?IRgR8U2O2ouRfAzeHJ44hf0jMadbVP1ScpYoP9rCh9+5tEuBtm/HfwV0uutZ?= =?us-ascii?Q?w/gK75ltX2uXyjxlw38c+bXc85z0k7FEOgP2KK7WlUgSPjOV+eflJwehQMUE?= =?us-ascii?Q?WqMuXeWcFfZ9BMdYr7sioMaCDeXjtX0A0jYU87ASKK6W2Z9wdNZXLTzAkG0F?= =?us-ascii?Q?usoWzElj8bnq+OrOczuBiHbug52EBChj3SFvjyhKdkEfNC2NjdkCx20u1l23?= =?us-ascii?Q?sLdNapncOhoKcuHAKH5jiM+KeQ1zj5gshq5BCF7y5MgUXfEAtidKabMI4v+r?= =?us-ascii?Q?7QWjz7ZfNo7q/Pz0JTWyyJagLk7kDpxxyWjXwgztKXEE5S9iIjpkZMamRX0x?= =?us-ascii?Q?nkKEqc3rxxiZR8DWmnFQco56ihJXfyNBogWtEq32HDqvfZAu8wbJqTtnyX4p?= =?us-ascii?Q?qIIDKaIDynhplmSSNjf4TJWFLlCH+X+TrXuTA7aAwXFa2Fh/GQfUet73syZq?= =?us-ascii?Q?te+zvXlWRx8iD7deKzW3s7Td3mHGGGv2RkhHXQm36y0J1lGDJYWA3jN8vRAu?= =?us-ascii?Q?OeeSUoHr5uLrpSOx4i6XKoRlych4VLb+XneLLmKg2Ie5JDmU6Cv2C6jrWEoX?= =?us-ascii?Q?aVqU4QgD9Qk=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?ltrKZ1p50RGSyemjRgzd+c80eiSvwKp97mfP/elq5lIuEKB10p4IWN/zsBsz?= =?us-ascii?Q?SuthlP857P0d1Hsj8UvGDqb/loK8m1l2OTuIjqBRfxiE7qTPBhxuE4RiI1Sr?= =?us-ascii?Q?iOoaq//Bd/miM9VpI2DJBAfEfKcidrT+0ZGrgo4C4cLZ7zkCqzu5lmQXk4zN?= =?us-ascii?Q?csmBphiVLUC0lJUQvZ6WyGVhm6olk+CeCPwWcRrjY/F+e8Jc+s0tA1tp8bV7?= =?us-ascii?Q?Gq9V3y7NYhyIVOWpkl7uQVxnSjDQsjdstCpof4yQ1w8df+GOPQDW2LOeGspJ?= =?us-ascii?Q?d9Frjkzj61cQX28gYciM6mo3K1tT4W7nn84aXGI3MNXmJmT5WemWHzhYCIVI?= =?us-ascii?Q?ywoovQXdTvAwqLlaDHnJy4XlQg9B5SQnZLGN8ocwekBfkjyIdMQvo7hZXtxb?= =?us-ascii?Q?LCU6ZnRlA4yH+WxCCcFA54Jg999ubZj1EJq4xNZB9ilPuaa2kqQo+7/Qz3oJ?= =?us-ascii?Q?udhRcvDqK0iJbpMkfceaCpE8DcSeRsz7vMunbl2hhwa1/zj7S/VgNxYRxJb+?= =?us-ascii?Q?l9HM/W55XLsqfm+nA5fuZK9OcuY0b5LyjUZX9kY6Uw3+AKQ1uU0V96gqz5Ud?= =?us-ascii?Q?m6SfRFG7CEoUYIzMV3G7CXF7xGZ/VuTAJCNOMSXxPVSbAZsuONbioyyZPAS3?= =?us-ascii?Q?UOrnOChdKiKWo4m3kHdpYXt6UVNG6UhYNaBWrkrGby3cNuQt0cCjMxL+6iWX?= =?us-ascii?Q?nrEEKidPhcWHGgKjI1Y3AtmlCPEau409jN4u5DsLKfHsxq7nSU+wHA/4X7Bb?= =?us-ascii?Q?nBKp5VQ4H9oSxBfx4EQ1Se/Ej1xi1dEivu7IBT9PArtkY5HycfyQZDjgjvCi?= =?us-ascii?Q?UaLQdhFQ5hybk9emRt0t209nzHxsy+bZ++RxkYVDhN1fD/9da7MLaGe8ZE3y?= =?us-ascii?Q?ToASwIjySNBz4g3uhA5rmMn4dT/u2GBH/Cfxi98L1MLtX1YnuTcDAQEptoL3?= =?us-ascii?Q?Q8C3KlPO0EZFgKC8LuthbDK1mqusPDQFy/flCtxasx4VgqtGSd2pVTg+OF1g?= =?us-ascii?Q?b6o2WC+uADtWFAJHe/ZIWYL2mMpMWLPfDqM1SInDtbIRZuHHpgrZT5qdKNS2?= =?us-ascii?Q?qNUQ/+PgOdIXnYoW425HKJ/J2IKJB36Xb048obxOzlt+lgQ1rkpmr22MJuy+?= =?us-ascii?Q?V2UvDsdSUPbcVGc0e2rHzLcP/XPY8XV0SfxzY6nDvWD9lEEj3CHGJ75kA3DS?= =?us-ascii?Q?WzJF4cpfpPi7TVS/I32s3FrYsPuwwhvWPOctchZ3/hXUUPx7sDYWhTx2yojT?= =?us-ascii?Q?eOMSkZIiNQo9eljO3dEQr2OA6sM0pBW7d1p9y5S7F8B+uXFOf/B+6fhDAnEl?= =?us-ascii?Q?NKGr7M90+9Gc4UXRe5cisBg4Y7rFJ5nBRE6xv9yXSYjpdW6l712SGwEnCAOH?= =?us-ascii?Q?rOpc4VCKiUt/py6JX9sF94loaz2iUiuKsVEvKOvDJYr7DMc9zr7Ez7MGHtvq?= =?us-ascii?Q?PUFznpYgADfytQ9DRVdFXZZ+x0S/9Dre950dH3a8Mx/YFOYcjuTmwlE+zK+t?= =?us-ascii?Q?GrvXNBn7oKsphcklj2ilKJ5My4kB3ACACbMHTcngOiFsTkT1Y4XHVc1xQnZ9?= =?us-ascii?Q?jvfkMydLjHUs/qj014MMA7rhUnLFYBeaca8z8F8LOV0Jn7hE38Itc3jbpCmz?= =?us-ascii?Q?tQ=3D=3D?= X-MS-Exchange-AntiSpam-ExternalHop-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-ExternalHop-MessageData-0: t+bgTQmZucVWUgSHDQDiLUboPoVa60y4pyYg56kN1Ma/HqH4CO5+Osj1IP6Tu4SIIyKkrOZUi2mId1RvLapwRCRRKlzevY3m+Eb9PpDmfcXi6dPY79leT1STCON7DndWCC/gjPtOvZ6+raL+t9XFPZX0OWQhTaesMOzY2eyryOM+nIEZaa9RlUYrM/F1wQ/ANtJZcu2KvHwA+AvigJf3cLJvf0W7qtDkimwak9bA1G4dsDza4rwXPluYmBwnhkgY4S5Q6xRj7FJAhaNX5PiJ3DDBjXdyoXGLOBTELLG2Q+ZFR9HuiidXg81d6YkIxB5guNBWrhehvrZq4TG9LbWvTdA7pPNTKvUzViG60SLkld5RgMvAPQYRwxdhm9zwWm7aoUAdkC9WwRfHNru6JdK2PcibodHbv4BVzxkZh1UkVzg/2eqE/iklukzyy2U90NOvRBRC2lL4OFlV+Az5Cu11yqSGYWqJRp3O0AarHS+aJ0RwJISF02YZ0DeGvQTs7rkFdm5+gyIS1emiWyuPinLTWmgvLzLJCetZlZ80O9AG0m7W2j26wZAItD/OHTPsQHr9fZH+mACOytLSkimVyzjMDwMaNSqNcI2QahC0nSwdD5Y= X-OriginatorOrg: oracle.com X-MS-Exchange-CrossTenant-Network-Message-Id: bb66bc41-9b0a-46ff-d37e-08ddc3a4caf8 X-MS-Exchange-CrossTenant-AuthSource: DM4PR10MB8218.namprd10.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 15 Jul 2025 13:37:50.4568 (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: cLK9kvt1I/X+YP8W2FIdXGlstK0t/nsk+FukXn1IRXtRdU0Bnw4Q4EpwJ4eKz+xD0siVzjVyjXX8VTAzxSAvggUJe9MknxyW3zfYDpZ92OU= X-MS-Exchange-Transport-CrossTenantHeadersStamped: MW4PR10MB6370 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-15_03,2025-07-15_01,2025-03-28_01 X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 spamscore=0 malwarescore=0 mlxscore=0 mlxlogscore=999 adultscore=0 phishscore=0 bulkscore=0 suspectscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2505160000 definitions=main-2507150124 X-Proofpoint-ORIG-GUID: PGS46NQV4W7iqn6RLSdCf74SbA_DtEWi X-Authority-Analysis: v=2.4 cv=AZGxH2XG c=1 sm=1 tr=0 ts=687659b3 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=gxeMIzJwE0WXKCnSo1kA:9 cc=ntf awl=host:12062 X-Proofpoint-Spam-Details-Enc: AW1haW4tMjUwNzE1MDEyNSBTYWx0ZWRfX5pApVdbBEdzA mYrmy4WaXBlMIU/MTwYzxEDTHwyhbi1oahbbdbcPMnb/5DITdir7ZN3MgMTg5IxqFBmCOqmxphE oJE51L5i5ZVso7vxwPMXhVCkvrQPWay0UNm/Vg0pvLYqYJvlysNE2/chWZOxfoQ1zr0CDfOXL5S OVSA8IMwf9axbpOopCtR5M7x3W2Mv2kibFpGyH28Dy2Ay87F8DBGL4tjqk09jK9KJQRg0835pju aFqYs2dQmRbCbhNk2+iuD3rTq0PWI7TrzDyeCCYp1CV9H55iZoAIx5or6kzEJQxmBU5Xn/8GG0u 2h/2blwKlDf1ZY3reSFjjlrjebKZdxuVy9uude2fBNBYs567jyFX59nupMB2xYL7KbTBZhx74G3 Jxt7RzTG3hWZHGDnx+flU65MhGDmNWmlrSFJ7ySm31LgKKO4qIlWUacunC4zrPhSnqAVS660 X-Proofpoint-GUID: PGS46NQV4W7iqn6RLSdCf74SbA_DtEWi 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 2e5459d43267..aba67c3df42b 100644 --- a/include/linux/mm.h +++ b/include/linux/mm.h @@ -414,8 +414,10 @@ extern unsigned int kobjsize(const void *objp); #endif #ifdef CONFIG_64BIT -/* VM is sealed, in vm_flags */ -#define VM_SEALED _BITUL(63) +#define VM_SEALED_BIT 42 +#define VM_SEALED BIT(VM_SEALED_BIT) +#else +#define VM_SEALED VM_NONE #endif /* Bits set in the VMA until the stack is in its final location */ diff --git a/tools/testing/vma/vma_internal.h b/tools/testing/vma/vma_inter= nal.h index 991022e9e0d3..0fe52fd6782b 100644 --- a/tools/testing/vma/vma_internal.h +++ b/tools/testing/vma/vma_internal.h @@ -108,8 +108,10 @@ extern unsigned long dac_mmap_min_addr; #define CAP_IPC_LOCK 14 #ifdef CONFIG_64BIT -/* VM is sealed, in vm_flags */ -#define VM_SEALED _BITUL(63) +#define VM_SEALED_BIT 42 +#define VM_SEALED BIT(VM_SEALED_BIT) +#else +#define VM_SEALED VM_NONE #endif #define FIRST_USER_ADDRESS 0UL -- 2.50.1 From nobody Tue Oct 7 01:53:55 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 2CA532E7BA7 for ; Tue, 15 Jul 2025 13:38:09 +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=1752586691; cv=fail; b=CzGM8BgciamKRsVSbZy5H829999QGpY4681A18W1M2uvOHDIN9UNNXKQMo+qY1Z2sQZ7DqeA7EVys6/OicsTBcevfosRxlbMxHu9JKYPlJ37iikmt1z3srWvb20JfnoaY6Z2aCGlsnPr9ZrNaX3vC40tVCRjuYlylGhOolnoJQQ= ARC-Message-Signature: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1752586691; c=relaxed/simple; bh=eTCfkkfuA2Kw9C3XCHJGBhcU63i3HvEcQPGJN1FnYZo=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: Content-Type:MIME-Version; b=giGN5l5VmrWDP2CyiCvAyy7j94ylxwb7RHwfUqmRXXHrtKCusfoiiASZwkVCZz814AT4mTfny+ggfpeQPipqMzB9INBEAyaDq8LnhIkouF39Obwa0KWWCDKBqbg8lsC7MQGb9snvaZ+I735LHQpRguqTGeDlpQzrwejn50NAyZQ= 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=ccNlOzOr; dkim=pass (1024-bit key) header.d=oracle.onmicrosoft.com header.i=@oracle.onmicrosoft.com header.b=IJgnSKpD; 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="ccNlOzOr"; dkim=pass (1024-bit key) header.d=oracle.onmicrosoft.com header.i=@oracle.onmicrosoft.com header.b="IJgnSKpD" Received: from pps.filterd (m0246617.ppops.net [127.0.0.1]) by mx0b-00069f02.pphosted.com (8.18.1.2/8.18.1.2) with ESMTP id 56FDZGEH031330; Tue, 15 Jul 2025 13:37:56 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=QptOdQPuFn6gVdQ/d/mqna3NpamIzZFF0u4BBl8kB4I=; b= ccNlOzOrRcWrLyKzWGKg3/y0gN6o5B8cl3fSnczoPSfh0OpNvdM/KU7sRTYOWUJD qL9hoZntTK2clXn6jL+/3/DhNhdQrT6gly/VQPeNyrzjQMSapuEjIMDLQsZKLcDA elaGl1nVQOG6qDoNrVq7p5MnPjMmEawgpBTLJZcDCaGW83Dej5kqLouLWBqY1sfd bIjHUJptCwWgzV9y6jkBp06yxFYqgo0gxrEMPp2FHvNA9ja9zBMV89SG/SHvQzB5 09hr2S+k+5i1reKUCQ8Hz85xl0CVkWlqDtwQm8bgbaOhM2Po5E7tbH0n1zIqyegw 9BPzmME7geiwrdk/EvPU+w== Received: from phxpaimrmta01.imrmtpd1.prodappphxaev1.oraclevcn.com (phxpaimrmta01.appoci.oracle.com [138.1.114.2]) by mx0b-00069f02.pphosted.com (PPS) with ESMTPS id 47uk8fxpax-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Tue, 15 Jul 2025 13:37:55 +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 56FCpu86030307; Tue, 15 Jul 2025 13:37:55 GMT Received: from nam11-bn8-obe.outbound.protection.outlook.com (mail-bn8nam11on2071.outbound.protection.outlook.com [40.107.236.71]) by phxpaimrmta01.imrmtpd1.prodappphxaev1.oraclevcn.com (PPS) with ESMTPS id 47ue59y8w2-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Tue, 15 Jul 2025 13:37:55 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=Yl1DEOf2E9rcuiBugLGXWRV7CsIspvtqOrutt23skMZHMVMhPxNYxxWuq6cQnBVZx6atq84/mDI2ZCdUZB2Y5+OAIWcHEOy4ANRIequ3Y0vZHCi8epBI16RWRNXAMBYJzWoXf6V3Z+ZRG1mk0Rol69PXQ5Ut8f2fTpkKKQY4xNaJX55uoYaOtX1VvtapGTN94EDWS+Kj6iiAnExbm/Z0rpodnsKtXixyw2weNnRHo5eG4xqKaUJdQpzn0mTDUk7jbnbjrpw6vzbODGBR82/quoVe21zmQdu1hT2nfl1upoDDTAD38c5ASa7F51CzrWB9PRkPiu/qWeGqzOG9l8mlMA== 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=QptOdQPuFn6gVdQ/d/mqna3NpamIzZFF0u4BBl8kB4I=; b=VDezCS4AcIhS9zwhO3/IU1evkDt7XjQzAAcz8/YKsqrSpRAu5zBvfmRFsnE3a2TMLo4vrLZ49W6h1oQJ+CjYUty7P+aMdQJCEvqSv/whkKLhqjTSQCO4lVzBqU3385Ev139YeVmUuoJ4tUReGIUsTdoIRkoNzdbvQBWqihvfWRPb0H6qJZxcmbXQQsT9DAjIy1C3PG8cHGVJClLp5vziKWDifPWHubeVbm6I0aNKNDYgH72YGj+9qvCliWf8rOMEJ+8IycTj2ktAzZXJ4+WpuE5PeJ1aHmgNs9ItUgflYsn+q4HVA1x5O2/t2siX8wTgOKq4LUuXHW6JmK5+1xBMGQ== 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=QptOdQPuFn6gVdQ/d/mqna3NpamIzZFF0u4BBl8kB4I=; b=IJgnSKpD18v4EDedAtoF6fZkBSm0pl9f14SaT0OXu5UD+F2TwKnuVOcxYYmGHthl/d+X7mC1+iFjWzUsJQ4g6/GXDwB7UXwnUmGQ55wvXHm0xZ9Hhw9Xi9kA8aSSK64AGomU9H6yimMKwAjMtsTwIU0e+S99MAU1QBy2btZMHCc= Received: from DM4PR10MB8218.namprd10.prod.outlook.com (2603:10b6:8:1cc::16) by MW4PR10MB6370.namprd10.prod.outlook.com (2603:10b6:303:1eb::20) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8922.27; Tue, 15 Jul 2025 13:37:52 +0000 Received: from DM4PR10MB8218.namprd10.prod.outlook.com ([fe80::2650:55cf:2816:5f2]) by DM4PR10MB8218.namprd10.prod.outlook.com ([fe80::2650:55cf:2816:5f2%6]) with mapi id 15.20.8922.023; Tue, 15 Jul 2025 13:37:52 +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 v2 2/5] mm/mseal: update madvise() logic Date: Tue, 15 Jul 2025 14:37:39 +0100 Message-ID: X-Mailer: git-send-email 2.50.1 In-Reply-To: References: Content-Transfer-Encoding: quoted-printable X-ClientProxiedBy: LO0P265CA0007.GBRP265.PROD.OUTLOOK.COM (2603:10a6:600:355::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_|MW4PR10MB6370:EE_ X-MS-Office365-Filtering-Correlation-Id: 915e63fe-2d94-4629-8dc8-08ddc3a4cc3c 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?2t/ccTmNLs5pi32X6Fq0SQC/JSegoiVMcazl/RUTkti6OYZYH2p3IXe/ZU3w?= =?us-ascii?Q?hOyw3LXifD0e3Nnz2uDJTxmU8LxO0SfCbI4K8NQOSmxL0tEHHuXsEjbPKinU?= =?us-ascii?Q?ORpEtgGVFepd3/tG4/yudKxeKJiT2ZRzFgNrKAn1fB4lWq3RWR1V9nRRu5H7?= =?us-ascii?Q?pLQUB7qTuDYCVR5d9oIsUOoDQtun87vsR1Nzg9aziEOjUmsHBlR6kDynRkEK?= =?us-ascii?Q?wjDaqDHr8CQKthflnEUAzIBlJmVZBJ6NWo3UCD+4vvb3jYQRSSqaNB0sVIif?= =?us-ascii?Q?Sm6IXt1hYJ+rENr7y0/8nayY16Jj1LIoJ8AkdctuqoSX96f29bGNlxyiW+9J?= =?us-ascii?Q?sNMuYXwfiAN3CbU8Z3hP1rNqMSB0Xi0K89osuoW0/k3nJ3ps7cfOtvI0KsOM?= =?us-ascii?Q?txc/wZoBtqvPD4vd8TJi/aVqJjrmN4aw72KgQomIYQNkkcDogB8ZD0mW+HpA?= =?us-ascii?Q?oqLAJatAqyA/106zL7V5P5V9WfJnd0q0ya/nqTFJhn1pMBp9JFYFcekSpRRU?= =?us-ascii?Q?ocFh5mPDoIhwNqlSd5g9szdnCRm9kq+pGhA2tmqJgwOjou8FDiF1JfOPkvzZ?= =?us-ascii?Q?QBNub1zwU/ydInmpUv9duj5beU2XqvxMH7VUVBXyQCo8tzKgCuJM/94YjRNA?= =?us-ascii?Q?Pe2Ck6vDUfYpXxdPqe4We1IvmJTTTi+j6kVUebWKqZnHdo6FChDkaZ3R+H+N?= =?us-ascii?Q?9zBMFqL+t61mjtK9m6uOvd4qER7RXTOmXXuqXNicoNYUltMToVr0PiAIOUWi?= =?us-ascii?Q?NRiyMushTwQsVS4WkogV/QkSpezEP6hTV9G71sa60+wZep1imCFEmTFewe/q?= =?us-ascii?Q?46iJvcWrV89obBnb+EbkB9FrO7AYWWnN7i7viMggoFciFBpOi8caf8+s0Ydg?= =?us-ascii?Q?wwYjJBJR02zF+elDmgiPqjDlpvt4m4iVAUZw1DnJXLy/aoz38FqUu8SB29W5?= =?us-ascii?Q?fTIjlrvFkOucReiSm6qjceGX0K3DuBWD6A7yjZgQo6mrZmzAx/jSO6hP2MXX?= =?us-ascii?Q?ZSCs7PAOF60GckRbr0MnAgT6YdjdHUhQlzz8nPI3HDK5vu8J0rgMimh7XmVx?= =?us-ascii?Q?t6r8Idrv+aH/i4QqYL50h59eM1tMeM6fxTD01pPSNDOrpnyKfI6Kfofs4hAl?= =?us-ascii?Q?i8GRSDLLpErdTC/tEpfVesPIFGEpUnRoGZqJMhBdCmrxgOPOiGnBRDirzrIX?= =?us-ascii?Q?DQW5LoDwMUR8I0zVmx8emgW1QQRfEf52sL1HoyOr++MpdT0tNxrVcB9yyXoy?= =?us-ascii?Q?SH59gg1/botrA7Pzn0yc9rb82SLXdrsRk2yly23DF0rlZH3NkpE4Ttpf9EwP?= =?us-ascii?Q?9Jtmg1wCF1VDALZuil2o0Zqeysgd/laZhmCPSTR/4LIhVLqz+Rxxm2pC0nAP?= =?us-ascii?Q?nWpFpj/PxC8/vp+fDL3MfUxytrdzSGcA6UW6Ed47NPrxI4yGaCVVu86Fy1dv?= =?us-ascii?Q?moQH2XhX5Uo=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?gM/uSMFmbEVeLbimzzBhO+UGU7c26NSn9fQepfW31bzxHO4Oy7xJ9/JH6+Xr?= =?us-ascii?Q?Ti5lojQwyxBaN+G3TQRjm7NiCDG/Np43j538M5hLLs0TZK6oKQesCaNTc27o?= =?us-ascii?Q?8RWFuWZPxLJ8Uqq8NVOvqru7uKjWaxEsEur9hTE75e8Cru4D58T6EC3cW1zf?= =?us-ascii?Q?gVzllfwPuRysbLikXtauCYN69+K92lT3nwIhF7nE5FcuwDhHOoSUbBdN2EQo?= =?us-ascii?Q?PbS463HNgvfE10lcveAByQWjYu6o7cR+qjLnD5id6j+MSz2H0MhBMsV0Jkzr?= =?us-ascii?Q?sGyIaDg0hp9MxHPSL5DyrzjP/IR15pe9r1nEfVZd3YnKswLzaE9+KQ3fe94R?= =?us-ascii?Q?RKugTrEPo7lhJ1MKdevsuCijectAjYy6X/fVEhAZxXmqqDi26tsMkxUoYS9A?= =?us-ascii?Q?kSn7Z/3y5SqK0egByTpdcfxEQEQV/R4uwmwaqPfly6TycLvdb4WObR4kQdDW?= =?us-ascii?Q?t9IcVXLbdh7wKJ9pkIyXhJv3uJLY7bbHhSXKxyubWSHefNtDFu6IxXJe7Ywm?= =?us-ascii?Q?nVEmZuukmhXQKW9h1YuCUCTnKqfDfOBrVg8WOkS01RtV8JSitsvflnrn59nu?= =?us-ascii?Q?ih0gWRaZUJN7GYkTerjqwRbRt15bUKLWSbKr64tNlwgDAbvlhyBGeswf0Grl?= =?us-ascii?Q?NE/VfXsa4GiApoqQPQedsdzyO7cKlUCxbFDrJn0CecAtCjJp8FOqqimgQjbO?= =?us-ascii?Q?DacSsoUSMg9G/NNDWtsb4GVwmFu/frs20iD30Zuu6OSJQ3vbT4lv9ScinScM?= =?us-ascii?Q?pOWo/qRZg+XU9h2iZ49HdT0i67LKTAUTfa7Pacjf+RrbjNYxnO49mW+cdb7f?= =?us-ascii?Q?tVKdW85py4lsO+1HK0w5WXd7xonaXgInztJ14Ap7uSfhPA/RSZnJeGQv1e1m?= =?us-ascii?Q?B+GRYA4Ty58yK8u3lhPiF+K/qEOxx/RYIUKYz0FMIFnIT7k2d96io1n+OXUE?= =?us-ascii?Q?VJBCxGovrSOW1l0PsRPEZnaiMWSVj/WUQRIetcirJgxl+wZdMQFhKtaVfoDI?= =?us-ascii?Q?Nsg6SRbrDOl48Tu25P0iTkPnj3GddFEdPSy4dY+XREZ3EypsZkvtLW2kEH6F?= =?us-ascii?Q?I3UBmqcU4eKnspoyFnyFOCLC34lYcWfa5FpuO/BHucsKARhG7ALpjCeHt9sD?= =?us-ascii?Q?M9YrlOWF7hJx/ye8o/DWZXTa7ANwmkHg/SKD6oPEYIWpHNGQMitryw6z6iDr?= =?us-ascii?Q?TGj4RaZSkVpTZGNUqdKerRrnpz1OdlwQCuBNKPhLmuIbDQTDgihEfwlj6duY?= =?us-ascii?Q?jKfBBjY/3HfBis00r0ROyv92aAf0TwXkyNCEkHAiakHRrmKaNNDAVTijJaXs?= =?us-ascii?Q?j8gKtwVNWUfXm3/Nrv8YfGnZLmYGB/iINJIb91j1WQpzXzB0fpGGFXpcjB14?= =?us-ascii?Q?L2yle+nNOl6ObtRxJhseluMs7yq3QMwd7WCPzyrAH/OBXXva6WNy4d7lxBbp?= =?us-ascii?Q?4JJrsnhBzgn3CG5Qg3FB8uy41ck7koWM0PrsR5KEvjMZKHQSKqrKxUmVSgPC?= =?us-ascii?Q?fuZBGFg4k7uD9XRQe2fDbdDE+uxN2omFbdG4kX6BhNFvQgypPJKZF+CJaCEO?= =?us-ascii?Q?dvlIWIc4w03/oiFYspaGtDwpT3nuas1Svhf9LxUbFlrg/0lpSSlzD+NEbiNk?= =?us-ascii?Q?FQ=3D=3D?= X-MS-Exchange-AntiSpam-ExternalHop-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-ExternalHop-MessageData-0: Vg9KELI/9UITGZeKAUwL5Hk+lIYxx/SKFsl57yWo3ixFAK/95mKPEgw8Lxtbg3cpxZ/q7VSzLwgQn31D4mmXwHGAkWi/zAkDjObdYPZeyulUsdK3L4UGCnKPdCI2gNzOLrnlkTJ+e7mrEgm8W0KbDIv+evvxc0iDfBEds90xoQwXdFGHf5BuUO4kRe67dcaJzvQI6KEtrjzDAQqmZnAQxFC9xMY6hBJn09FB3UqM/a8Atamn57CGN4ZDJglivKUQj5iDxuRCbbrm6Fi87POX58CKdPoYTPvHYZr9za7XjvmDnb3bbMTDOBTeocsaoxSLULXdw4t9KUte+884e9vrx766saiqnUxtW0aHeiGSQY79EIe9x1eS5kyyeNEkEunE2BZFL+MdWm9yaccc8td1/uNt/VkNKiNuPtI0TdzRJa9YODFqV5pUK5IAzu2CrO7wBLiR3jwHtu61sIl8iC57Y/q0xqlCUg3Nuu567Lxd5MeyCkyvPvxBLc6Wpy1Wi6ZWF2LLwofv45Cd93BxXTIuTPiKomUuIzTyKmawyrYngQliNsqNn0TYsAdM+4WvzTLay7Bchy6RdQUOnLoGT9paRrzz7Lx62ThMWn6gUKOQmhc= X-OriginatorOrg: oracle.com X-MS-Exchange-CrossTenant-Network-Message-Id: 915e63fe-2d94-4629-8dc8-08ddc3a4cc3c X-MS-Exchange-CrossTenant-AuthSource: DM4PR10MB8218.namprd10.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 15 Jul 2025 13:37:52.5703 (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: 3vdhAX5wrBtdS9/0dvmSqJe52rJJO053lCo1hF6CwnS2/1hI+c/gupXmn4d/LKMiL+Kr4ldFAJCF/r9foNOJGSj1LBC/DfT9/tTuInUvXmg= X-MS-Exchange-Transport-CrossTenantHeadersStamped: MW4PR10MB6370 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-15_03,2025-07-15_01,2025-03-28_01 X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 mlxscore=0 suspectscore=0 malwarescore=0 bulkscore=0 adultscore=0 spamscore=0 mlxlogscore=999 phishscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2505160000 definitions=main-2507150124 X-Proofpoint-ORIG-GUID: PTYL0hLAM8f_yobdsCsvPvo0m9dgROmg X-Authority-Analysis: v=2.4 cv=Of+YDgTY c=1 sm=1 tr=0 ts=687659b3 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=2PFmxa78D7MNR3FRbQQA:9 X-Proofpoint-GUID: PTYL0hLAM8f_yobdsCsvPvo0m9dgROmg X-Proofpoint-Spam-Details-Enc: AW1haW4tMjUwNzE1MDEyNSBTYWx0ZWRfX2zH2kE62oWNq pHV+vsq7JexH4NPya5eFOD+/gUipa00H82BP5DnksZ96L/5dV++STdlCqUj8JrT8bZkrPXArxu6 O29GDPGI/roe0vBv8LicuIAWmlPHGSG/0ZcWyZLsgHHd3W+jsyDWP3lzBsV1u89A0qzhf2wRyyw Fobg2smLH9e6Ep4rskhs9dG+7xBdSoioHBLcUPQU83TW4CdL9j+pxw/WpokddL/szRiGZzeT1kD htleHDyyhT3e6TzYVGbqpu/PDqPWHI2XURQ9Q4NL7HekJykEw5e0A1/cJFvS+h8vQFuB8psTPGT hGXjcff0oQ/CUJZxDdZ9enG4E/ec5+q3P+dV9Do16TQba0/jIqVzpZLqLYxotpSZp4VHtx8GhSa Six5iMTryXmuVjp/IAEihsLmD/3LW4CXG7dYTlw/Ms+Q3P62aL5pLJ3zkvRRaVbcrE6kx382 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 9de9b7c797c6..89205693b67a 100644 --- a/mm/madvise.c +++ b/mm/madvise.c @@ -19,6 +19,7 @@ #include #include #include +#include #include #include #include @@ -1256,6 +1257,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 @@ -1269,7 +1330,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 cf6e3a6371b6..6515045ba342 100644 --- a/mm/vma.h +++ b/mm/vma.h @@ -578,8 +578,6 @@ static inline bool can_modify_vma(struct vm_area_struct= *vma) return true; } =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) @@ -587,11 +585,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 Tue Oct 7 01:53:55 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 5BAFD2EBBB1 for ; Tue, 15 Jul 2025 13:38:15 +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=1752586696; cv=fail; b=RAlSUW2CpGdqHSvTB3d9FT++uWTov8L1SGf0GW+DUpQB+p/oMZX4BqzvEtc0hWApW/TInFhDRYUyb9Tz9E+eVzlDf24AvGL15CFoGmBAFMADjUT6LpQ1Ii0xmAkUrsvH+t9dARpHJa/WRgtKa5WzTum2q2aTMy7yYfI1xLONLjs= ARC-Message-Signature: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1752586696; c=relaxed/simple; bh=trYQDrVkx3FZYsldoLF/m13XoQU5yBrxba3fu+UKhw8=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: Content-Type:MIME-Version; b=ueDF0NVR3BjraNJ6eoONNz2cdJqvQB7chcTlD5iGNn8Kvl00QE0U2ECHIU23nCb3FPXkVRIA4vRculDHc4tLY7Xee6NKwd9MhsgtUnHrNKj9mw+QbjfsZ6wStl6zQOp7xE8pld9TxfB2tBPDyjplrRnSiXMJVOcfhWJGoS7k2L8= 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=bzSyzE40; dkim=pass (1024-bit key) header.d=oracle.onmicrosoft.com header.i=@oracle.onmicrosoft.com header.b=wVzCj+qn; 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="bzSyzE40"; dkim=pass (1024-bit key) header.d=oracle.onmicrosoft.com header.i=@oracle.onmicrosoft.com header.b="wVzCj+qn" 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 56FDZGG2017700; Tue, 15 Jul 2025 13:37:58 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=fZ6r4rNapeX0FSjpeG3dAJxTZ4h+Fmu2u1SL/h1+8XQ=; b= bzSyzE40Zy+Q9ViuywxBoBUj7ENnV4jcAbOfh8EvWBANFaBVKaUVnOiMNV4BwaNQ XbZYvL6hV5QLug4lsFFA6EZG0fZZ9WwROoniWPozLibeeJakFwkZDP/hqeYBGKlf SRFgBAqKCyuMds0FCvOB/nA1q7Ajo+9PHJl2QWwYr4oq3F7DL5XWTDC7FJM6vyPc Jsq3isF7AD5H/fT8HobW4PkZBbPbPMfuHE+IioSfKE4ljB0ytjnQVtgy0iSv2Xso qh2sM+vOhnKgIAfPDgYXv115X3t2eJpSyfhHSX9ETw/gL7CdMlL4xmnL6Zp9DKaI cyehD7HlhFkC6KEAqCUyRg== Received: from phxpaimrmta02.imrmtpd1.prodappphxaev1.oraclevcn.com (phxpaimrmta02.appoci.oracle.com [147.154.114.232]) by mx0b-00069f02.pphosted.com (PPS) with ESMTPS id 47uk66xdq8-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Tue, 15 Jul 2025 13:37:57 +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 56FCK4T4028988; Tue, 15 Jul 2025 13:37:57 GMT Received: from nam11-co1-obe.outbound.protection.outlook.com (mail-co1nam11on2072.outbound.protection.outlook.com [40.107.220.72]) by phxpaimrmta02.imrmtpd1.prodappphxaev1.oraclevcn.com (PPS) with ESMTPS id 47ue59qn1j-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Tue, 15 Jul 2025 13:37:57 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=oLODDNestCXfArvxE2mFp2gCAQkX0VXjU0FWbPA63wDuidUwJq4NythE9tPjoIx+mywKFcFWfICVdK7hGVhR+DTt6VVYxSjBrYOUY5+x/+Oarn2HXfePJzI20bHoyAJt76/kw6ld1UyXb6lcm41zrtDXQs7gQuOODOzpJlMMRgsyhD2vuDuIBw18rqdCrGlzAixZCqGFXFuvptrSpg9NMEqCF1Y5rTQLIM5yHWZJNF+XU/JncjQ0bhcmpAHrrZ8IhVAfYVMy9I1rmw5m+CUrhsZV37NLZVFCO/kqQvgtZxivaGWyPZHza2Y5BAW8fOPH0lqUFVNZjkMJlY9M7bLT5g== 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=fZ6r4rNapeX0FSjpeG3dAJxTZ4h+Fmu2u1SL/h1+8XQ=; b=XnoyOQrvLS5pRLrFVqcl2mqxlxDndILBqrNeXvTm9hqnD3O/pOknsFowhwuRfbdek4s/E85cDDRUHXj0QV8H5KO2S8uAK10wt8KXEbOH/LaaZ6Y2QLUuTC36su8OEyjnsjQiTsKQxa+c5vqiJyxtTjNljBhrzvMh+0D/u90Cwaz4CA4wu+gUViJzpJPvcKCZzHiO8bga9vV39RXMOt7ekvpELFNePhInyPbQAFopn0THrJEZwXFxBqTq9yaCl0qeViA07I8kobEaNOCsd6k8tjCRCRMoaOkIEYKcxcorZt6mOPyDWTjkPSevipTnJVvFrfR3LZIvQshoCgIUZPrmHg== 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=fZ6r4rNapeX0FSjpeG3dAJxTZ4h+Fmu2u1SL/h1+8XQ=; b=wVzCj+qnKQfb3d7q0JFMWxTsLQ/0iPgsJatuWZjxDYqWsePqgW1uc5i8cuVojaYLBSON6wr7vImWvSRZqlPbN7UoW/vm+zyRJL5RNPRwEvqTDHlli6lUwXlBBZFKxkpVIxtD+UIkU7uV5kJ1euNBrAcPtM+DoK380Ez5bggNles= Received: from DM4PR10MB8218.namprd10.prod.outlook.com (2603:10b6:8:1cc::16) by MW4PR10MB6370.namprd10.prod.outlook.com (2603:10b6:303:1eb::20) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8922.27; Tue, 15 Jul 2025 13:37:54 +0000 Received: from DM4PR10MB8218.namprd10.prod.outlook.com ([fe80::2650:55cf:2816:5f2]) by DM4PR10MB8218.namprd10.prod.outlook.com ([fe80::2650:55cf:2816:5f2%6]) with mapi id 15.20.8922.023; Tue, 15 Jul 2025 13:37:54 +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 v2 3/5] mm/mseal: small cleanups Date: Tue, 15 Jul 2025 14:37:40 +0100 Message-ID: <7c0b2bb1f88db0c587190c2ae8bf3557f889cb3f.1752586090.git.lorenzo.stoakes@oracle.com> X-Mailer: git-send-email 2.50.1 In-Reply-To: References: Content-Transfer-Encoding: quoted-printable X-ClientProxiedBy: LO4P123CA0599.GBRP123.PROD.OUTLOOK.COM (2603:10a6:600:295::11) To DM4PR10MB8218.namprd10.prod.outlook.com (2603:10b6:8:1cc::16) Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: DM4PR10MB8218:EE_|MW4PR10MB6370:EE_ X-MS-Office365-Filtering-Correlation-Id: d374d086-654c-4884-4003-08ddc3a4cd70 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?SoRy6Cyf/9JJNXACCRIzeVzkCh2K1WMjggIqHbCyKYAr8N1/+33tPDXAUDWd?= =?us-ascii?Q?Os1WPLQrdlBMvHSA6JEm23P6gyQpH3sGHHsreXoz7Cp0rKTlexCRCs7TnQJ4?= =?us-ascii?Q?+2S11KyxpYM+bTlur0juuQMRkNn0PVAESQK8bdMqfcGWCBOJ3D22PsrZihGr?= =?us-ascii?Q?OiYZpM4Ctb69MliR5sqZEeAatL3YroSUUArWyFau31Kt9rdCSPaBD7wv8aC/?= =?us-ascii?Q?EbecGIt2/Wuyq/nJGeKOSNi3cIpgrI/KTtCzMoEI98IIxevfU5hlR9EEO1gI?= =?us-ascii?Q?55ncmZBeu1YGK+hfZolAyFtqp1JT14loLgWOKizOBlTMnNJfuvvhOYUz7jqJ?= =?us-ascii?Q?rawzo3C3WJm216DY+64VWd0JFncQ1wLzl4V3BdhL8VThl3+VYqteVDMR4vKx?= =?us-ascii?Q?HBCZozrSvIgD/tMgwU4miT3lX4DayrrvpOKV44bDawWg0gXD/2aRQrqRgNML?= =?us-ascii?Q?TEyZ2xbdAkwuOueLg+gMV/iDPGJwQnUqam0P5jgp9m+M32fpw55d8O0szGgD?= =?us-ascii?Q?hUz/b2ijlZLbR221tRwgE6377hN2fbuK0eg1pNStl8/ApKSOox/w5l2W8Kgr?= =?us-ascii?Q?T+AKJff0yniV1RTLCojB9ljl4/mF5eGxZopZq43oA4hdrVRJQ/MGS1e+3ZZW?= =?us-ascii?Q?blcvU3gkSHpAfBCGUDbKBgvm3fbsUO7Tg1KrTu3IvMr8JbIm7kW4Ljxiu2o/?= =?us-ascii?Q?YwyXEj4r2VaEXUnS1O1Jygu6ZhrWwTpzF57nt1Wd+hrWLnhuqMCCBQgnh6+2?= =?us-ascii?Q?Z/pd/UQ2awgEkSXmytEFKsc0wgTN4jNy9DMg2l6spb9Z5OQJmWFgRpVZdkpq?= =?us-ascii?Q?E23c8X4WgT9cEYK1vuiBFZoEJ1j5T2xT2GFgj0nBBiBXw0u62VKjBAa3V+PJ?= =?us-ascii?Q?Jx4V/Iy42AzETyGe4NU+Q19Ao/mTGUWPs1DsAZt/qOkgHBXs32rrWQ5JgY0E?= =?us-ascii?Q?h+d7PwGOgRtb/vVit5pNVJjWj1aEeC0YwE5MhAmno4xjgWtIazn8GOc9RGNa?= =?us-ascii?Q?96PmO9t7XLogWe40gf/L0xXhc5FInkkRtZLy6xsTXhYyPPMs71b+LnWVhXbY?= =?us-ascii?Q?plFm2mjJ9eyfxWvJiaY4nhlB1ksWWKBaKbW6NLd/zKcfmFlefpmn1pUy8gyg?= =?us-ascii?Q?3dJUjK15P2tAbQ0dk8sfAZwk/hMiJqcG8qECeFFPpoG8V90D21ZnZE03WPBG?= =?us-ascii?Q?naZFu/T+XbtYmImb0IusxhJGVbg58YYCR9ATQelgU6U9+dK26YC/qrpI45/v?= =?us-ascii?Q?SncCn6+EmnIVIoe8dwcPVXgpVKggmC+Pm7fKZ13Wtiyh88dEYwmzWMlGK4vr?= =?us-ascii?Q?XNfFSSDWXdEgczzZRd1Z5KT9pkS/Qlaef4EUIHM7zcTxT/WiV8/0OZGm7jdx?= =?us-ascii?Q?AdGt+/o8zPwNiGJy3JGjmcA3cyTWqCYlPmj/kom0PRgm9PrCs2XTve5AUVqi?= =?us-ascii?Q?c1nz7ROz/Tc=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?J04vrYxWDgoNfrmdUFkAMgniFcY1j5YGgwlBrCPBn79b+JvJ7JF6zFDAmAFP?= =?us-ascii?Q?Ah/GfBHrvSkgtiveM//tni+V+Z72Hc6VnCisVGCS6SXGw4tK/zw2g4cOw+0Y?= =?us-ascii?Q?djUS5+Xu3+NEVkYveR+5NqBx/eDwGXcAr0RP+ixiCSMr2Dg24YDk4/RxcOCb?= =?us-ascii?Q?xUZo9r26RyilP6RZFAeiQoXYdY/IbTdj3L3KBEhscbunQ0PMMRWFf4fzpCta?= =?us-ascii?Q?0CMo44ex5upEf4+rsRmrvrh8pBH0bTVkXgxzezv5NhBVujMSVy1Z5F2scYL4?= =?us-ascii?Q?RxBpG3ifopvZJrH8ICuquE1dKkpJ+VWzZESdr37r2N/bg+4g9OUSVS3Cxe1n?= =?us-ascii?Q?aEdaLcHMGVbsHOg2OOc+Xhyo838vzZALW6FYsbMPvC7YgmsQxsVhvPIrmzM9?= =?us-ascii?Q?Zpffog54rVIiJpfHe7S9/SYFCTotplLwjHjFuh9F36ijioQk/EElNr///rLF?= =?us-ascii?Q?bIsnjK1cbk0wdoFz+UasKbJOnTmdUyDLA3y2LhgwYZpDLrU4FQRQd62libnV?= =?us-ascii?Q?0lroMx61FDXgrXuQx0mnXK+vSzdnVAock4zKnSPLQdSzLtEutCfRCvnJ9Zm3?= =?us-ascii?Q?eMk/mv4CI4ZWGIaasrKnblce+9H8+TCLUnWgl9NIHFuniPos+/A4ocKKX/gF?= =?us-ascii?Q?7Tc9/J4rNAuFwiSakBwI6TFAj4Vs4rI1AVdN8H7rrp8U+2fguSx6jTWzW8jv?= =?us-ascii?Q?SakyG/boY7r37o1dgX2pM9vCnHG2LpqElsZLYN4sJa32tdnEDwsg60iq8E6N?= =?us-ascii?Q?t6DuuYAgJOJuu0e5thge21yZtKBkYlB9ObT9ecsxKVwFwSyCzogLPlMExW8V?= =?us-ascii?Q?pgJPp6dWaMasTNca8U/MMm7ikUDeGiR/OAS4QC/Y13ywxSl7zh3bT6qVNL9X?= =?us-ascii?Q?u+48lKpOkc1yHk57DN8yWCUWRabIeqvviGdUXdgj6C8vwSNeovKyFWbV76ZT?= =?us-ascii?Q?s/r4B6yNLinFr68ad10uZUctMCHVvgRf6VvrnrGPVPxeQPqymfU2t9QWMdSN?= =?us-ascii?Q?GtGzZOLWd38NrLDu1OI9K4WdB/FKJ/Okj4qxLTGnBKf0ZYhDXSH8R7cseT6b?= =?us-ascii?Q?toG9VXTGPqEl5lhKH2+HOUJkFjdAfl3Wab/v3KFW62YYPZhBTlAFdf19nSWC?= =?us-ascii?Q?BoGGjmA7GyqwW051SM5/T6QxaOwVIvhDyXoB4Qj5LvVzgXuIC0p4Z/3TcldA?= =?us-ascii?Q?zdqEXaSSL6qJ3NMQVevICqSKJJ661Qxwayg3zLR7qrCBfbqAcpdMw2shRw6y?= =?us-ascii?Q?jJzird9Kjid0TBJXbrm0xE3OgfNsX541rNY9XPOdgX0CaF1D2XwBGg6n5R0n?= =?us-ascii?Q?lP/IajyHkjgVAO0ei6KPCtBUqUtKtKfXMxEe+DYDXORcHx0rvSxDf/MTaqlN?= =?us-ascii?Q?TYhGZ6aZuCo0uhc8+yR4rN6ZnPa9lNlpvjPgfwf5i2xyebOv6NeEK/jE/Gy3?= =?us-ascii?Q?BflSAm6n9JgquDYhjGyIbFKp2AzRSA/Ye1xotXJoofQd/A774YDHpz1MdxGu?= =?us-ascii?Q?EmcQqGHmZb6MIinlcVWAkvZAjtbcojn2/g05/ccZ1F6sfUTeFgCHN0T1YeqI?= =?us-ascii?Q?q0jiaA4873u3ZDl67BelPfpANvV9JZfp9wKQvxxHNy1jbsp3bwsjatDlQoz7?= =?us-ascii?Q?Eg=3D=3D?= X-MS-Exchange-AntiSpam-ExternalHop-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-ExternalHop-MessageData-0: SheJL3673YQhVjWqSWjNgwjVlb2ZXKEFY6ZIbXD161V3Y7pdHQ6QuzCar6vHMsNPlyrd2BYbIBUs2hpOfxlr4afluiLMnWHEcR7R/AZXfyABB5D8O+QTN+ZAGyTCVp76YQPYnztpQMcG3bI6db6IzU3lv+KxQZuRJWKOYSlJYsev+bOg8KXaXnQZUM6y/1fqFRhcBhhdZifl6jp/jL2SylPDlc8+S5FnK7GdI2sQWwl8oOe79psbnZpQT9x8xsKmq0aAwMtjRSWeSzogxUo97hdGT0eJBLqE7CmfaGPpOToFT2hQRImXhWZZ4uTchjYF6jSunPG1bAy+8wHnZSCTZoGroIRy1156uttvFl+xPz3hZQlUhadKhpRBe0boORFqgHdYAp8yadYyl1xL3/gB0Fsp7S2YWRQUpp4VaEg5j58aWEViLvewBbv3gRv+WUkiZs3HSPYHYlK7HP8K4tRuowPrVVqFU0icWREVp/Ff5bTYmR8IxU3A9LdhIRqsRih6D2QEJvBVU400Ub76zljgO4nAIisurbmoleJJjfUr5ybLZkSssOtf9f8/xOBjAsxVsHz/TI1FJw/enjNEZVjMx87JjEzvAXva/RRvHJFg/70= X-OriginatorOrg: oracle.com X-MS-Exchange-CrossTenant-Network-Message-Id: d374d086-654c-4884-4003-08ddc3a4cd70 X-MS-Exchange-CrossTenant-AuthSource: DM4PR10MB8218.namprd10.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 15 Jul 2025 13:37:54.5847 (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: zT2XKujCVOn/EU5JHbXsrIJtJC1Y0s849ALVzdlFxQL23U/JzUgrATnvt3dGbibu3VF8UFJA4mYynKJpW4+P7/LLK2NvGrOwCuJxtvS49d4= X-MS-Exchange-Transport-CrossTenantHeadersStamped: MW4PR10MB6370 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-15_03,2025-07-15_01,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-2507150124 X-Proofpoint-ORIG-GUID: S1pFfVal91jROi22oprjX1iyhUZ-ZZaf X-Authority-Analysis: v=2.4 cv=AZGxH2XG c=1 sm=1 tr=0 ts=687659b5 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=dmlVf6ZvkT1LhkitNWcA:9 X-Proofpoint-Spam-Details-Enc: AW1haW4tMjUwNzE1MDEyNSBTYWx0ZWRfX0z7UqFTOcXDD 5grm1LNdwOQvf3+HIUabXArb7hRJo1Bx7KkMhxHsNUfHKwBhCBJ8XL1em36QsR6QZKc1x+FDNRQ mO6KePRJFLyqsSJoXnqc6iauTFwVerYxLYj6Wsun9VInjbuXl5UpYrSXYFk9Y/Jd1TJm7Y0C1wb tAXQ2p0S+Qqgx53p4NHtT00c7U1RpUvb53aYb173v3SD8ryWOULAh5y4X3zb4+fbcif0JvjTz98 9bsfeH23BbfxUQnF09M84ogCKtd9sB+PtikqP01ncvQk3+LS5Top+t2FVc9nPDlC+22PkbFdN5r 9s1peuuvevttNJiBWYMomORObk/diJy7mtI+J9RPEvQtJgTQpxgRUNVu83p1FepWTZPu/joAwBa 1ZZZgSVRvsAlwG2JD0fh9LfzunwJ7QOSV7e8CzqBrFMbLS/KR3OZtIZ7/i4OwXYjwjc7I1MW X-Proofpoint-GUID: S1pFfVal91jROi22oprjX1iyhUZ-ZZaf Content-Type: text/plain; charset="utf-8" Drop the wholly unnecessary set_vma_sealed() and vma_is_sealed() helpers which are used only once, and place VMA_ITERATOR() declarations in the correct place. No functional change intended. Signed-off-by: Lorenzo Stoakes Reviewed-by: Liam R. Howlett Reviewed-by: Pedro Falcato Acked-by: David Hildenbrand --- mm/mseal.c | 9 +-------- mm/vma.h | 16 ++-------------- 2 files changed, 3 insertions(+), 22 deletions(-) diff --git a/mm/mseal.c b/mm/mseal.c index 1308e88ab184..adbcc65e9660 100644 --- a/mm/mseal.c +++ b/mm/mseal.c @@ -15,11 +15,6 @@ #include #include "internal.h" -static inline void set_vma_sealed(struct vm_area_struct *vma) -{ - vm_flags_set(vma, VM_SEALED); -} - static int mseal_fixup(struct vma_iterator *vmi, struct vm_area_struct *vm= a, struct vm_area_struct **prev, unsigned long start, unsigned long end, vm_flags_t newflags) @@ -36,7 +31,7 @@ static int mseal_fixup(struct vma_iterator *vmi, struct v= m_area_struct *vma, goto out; } - set_vma_sealed(vma); + vm_flags_set(vma, VM_SEALED); out: *prev =3D vma; return ret; @@ -53,7 +48,6 @@ static int check_mm_seal(unsigned long start, unsigned lo= ng end) { struct vm_area_struct *vma; unsigned long nstart =3D start; - VMA_ITERATOR(vmi, current->mm, start); /* going through each vma to check. */ @@ -78,7 +72,6 @@ static int apply_mm_seal(unsigned long start, unsigned lo= ng end) { unsigned long nstart; struct vm_area_struct *vma, *prev; - VMA_ITERATOR(vmi, current->mm, start); vma =3D vma_iter_load(&vmi); diff --git a/mm/vma.h b/mm/vma.h index 6515045ba342..d17f560cf53d 100644 --- a/mm/vma.h +++ b/mm/vma.h @@ -560,31 +560,19 @@ struct vm_area_struct *vma_iter_next_rewind(struct vm= a_iterator *vmi, } #ifdef CONFIG_64BIT - -static inline bool vma_is_sealed(struct vm_area_struct *vma) -{ - return (vma->vm_flags & VM_SEALED); -} - -/* - * check if a vma is sealed for modification. - * return true, if modification is allowed. - */ +/* Check if a vma is sealed for modification. */ static inline bool can_modify_vma(struct vm_area_struct *vma) { - if (unlikely(vma_is_sealed(vma))) + if (unlikely(vma->vm_flags & VM_SEALED)) return false; return true; } - #else - static inline bool can_modify_vma(struct vm_area_struct *vma) { return true; } - #endif #if defined(CONFIG_STACK_GROWSUP) -- 2.50.1 From nobody Tue Oct 7 01:53:55 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 EF27D2EBBA8 for ; Tue, 15 Jul 2025 13:38:14 +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=1752586696; cv=fail; b=o2quOU0cNP0Alr8fNL4SEI2sRucUHO/+RtlLK5zeuSG4PR/nPE7Do4n52bFZQiOpGvhwHx4c7gQaMWWX2chhLYhuWpWbq7DZ0ZUWCzaR8rHqa5pM6OlMpE1KdeqPHrXHHNqeYAm3vfwd/IHFpVOJ/oNyygBji+5GRdBsuhQr7C4= ARC-Message-Signature: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1752586696; c=relaxed/simple; bh=yGsfgTPvmLKlWzROFXAS/MKM0ZxRIpFtlDIPOAeuY7I=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: Content-Type:MIME-Version; b=VmcZHBUZvMZlm/nsmAbcxrO1dY3mx/2UJTrVVAyfAv5D3F42nKkjHMnG2/yLHFteWHbuYd6+cnTQBAS5ePQ259pdWTQ0NUXiG2W+B22s1XknBgLX5BMvZ4JWIb3404EKRf6x5KzWmpY9HB51jwSXF1C1bhRGSrJBBRfInIxOFzA= 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=FvjEJC3h; dkim=pass (1024-bit key) header.d=oracle.onmicrosoft.com header.i=@oracle.onmicrosoft.com header.b=g1+1ME3J; 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="FvjEJC3h"; dkim=pass (1024-bit key) header.d=oracle.onmicrosoft.com header.i=@oracle.onmicrosoft.com header.b="g1+1ME3J" 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 56FDZDJs009117; Tue, 15 Jul 2025 13:38:01 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=dJsLJ6ikCycbkWoBBk1u0Fj2sLfpNGZ0KppuFQOXo9Q=; b= FvjEJC3h87jqAup247Wl/X6BRHcr7EdvcE4P/8bkTxchFvWwSSVFX7JbQamC9XDk mnhn7PBCmOcrg8VwRawWbNTvIyoRW4jHLne24vPXPxDrMjhhRZRF5c5l7ayNwIjz mQX/zTaUYIPWYOVwaT2jp8VYAagvWhoEgrZflG9oTJcZZT4qSwCSCveQGL7jjO/J MZ29oGhly4dP5xRNZ7eJZUV6CFxn4/j71FORcHShck8zyOL8V7AD1GSzCA0N+Vzj 6N1hL6fog5rpgBOXRBIwxftaJTYR7n0t4UOxScSsvlUEago8sfxurkG6pfhHRj86 fEDUEk+SD+YAl+tkBj41Ng== Received: from iadpaimrmta02.imrmtpd1.prodappiadaev1.oraclevcn.com (iadpaimrmta02.appoci.oracle.com [147.154.18.20]) by mx0b-00069f02.pphosted.com (PPS) with ESMTPS id 47ujy4pkwp-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Tue, 15 Jul 2025 13:38:00 +0000 (GMT) Received: from pps.filterd (iadpaimrmta02.imrmtpd1.prodappiadaev1.oraclevcn.com [127.0.0.1]) by iadpaimrmta02.imrmtpd1.prodappiadaev1.oraclevcn.com (8.18.1.2/8.18.1.2) with ESMTP id 56FD82ZJ039715; Tue, 15 Jul 2025 13:37:59 GMT Received: from nam04-dm6-obe.outbound.protection.outlook.com (mail-dm6nam04on2040.outbound.protection.outlook.com [40.107.102.40]) by iadpaimrmta02.imrmtpd1.prodappiadaev1.oraclevcn.com (PPS) with ESMTPS id 47ue5a0cn6-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Tue, 15 Jul 2025 13:37:59 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=QPwgYN0aHpUSlodMIPPqyj+Xrw2YaCKy8AzALv6rJ2rE7za6ccSFnfakR8ijjPpqsF1jGIq+O8RWytgfbqRFg+16gVF0JlTFW5jPEckgnJfhZjhL/oE/1f1g6ogRV83vXY0aAi4W+xlk98jhG2GvuHR8D3u4PMi/dKYItj9spQOsKA+ExrRXi/XflNZ/KNSqFfrVXKkmv9gowszqg+XI98grAHEVnC32+GRewEWekxSwlexd67M6T5miMMgNiLAvBqn+lezGxXc+h2XBEEI7HpMVpyU7uu4UjAe8GjjjB6BGHSAO/B2PUDESyzjRXvD/MWL1Z1/dtAtC9fvX4ex1dg== 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=dJsLJ6ikCycbkWoBBk1u0Fj2sLfpNGZ0KppuFQOXo9Q=; b=eEF7CuwQ/icRbI20eaWECrCjjnFA9FHacEiNa5dXf06JZGj45pUs+mjlo3ihrKdnTOCqmKGcevRpFTjvesF0t8rbjY0g3ygva1dAWWUJYQ22iktShthcsntAhdvL+AzSdUrbRKgvVjGSRBIEjkNIoq/l0fHl3+kJ25nNn9gi38NWmErMuaShFWvtvE0f1jAUUxSJaXxz7b1ZvZiS7FP4bdGAADl82u4hXB1yODRfX/7VKinxFSwpFZSWVgfI7+x8O7Rot3CC9VG297SbJph4AurCh2EIrLyIyRiesxzxe0zakue09y5wrYVXpFuynsMdDmZGbthym4ru97bbd4cYHQ== 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=dJsLJ6ikCycbkWoBBk1u0Fj2sLfpNGZ0KppuFQOXo9Q=; b=g1+1ME3J6MSxnV/Y9XHRRVJ7DHPNXzFvp2mHr5EX/6vwDAVvWbemJUOUaQFPELH82Cb5R1ApfG+9aH1fOVR5eF69UK3GPSCV4BV+DpUO/QQD27XmKhsucWkgvlCrobYf5szM/Dn1J4Fe+wtxPAAQJi04UCmvDACrMI+N3yBqmvA= Received: from DM4PR10MB8218.namprd10.prod.outlook.com (2603:10b6:8:1cc::16) by DS4PPF0316BCB78.namprd10.prod.outlook.com (2603:10b6:f:fc00::d04) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8922.25; Tue, 15 Jul 2025 13:37:56 +0000 Received: from DM4PR10MB8218.namprd10.prod.outlook.com ([fe80::2650:55cf:2816:5f2]) by DM4PR10MB8218.namprd10.prod.outlook.com ([fe80::2650:55cf:2816:5f2%6]) with mapi id 15.20.8922.023; Tue, 15 Jul 2025 13:37:56 +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 v2 4/5] mm/mseal: Simplify and rename VMA gap check Date: Tue, 15 Jul 2025 14:37:41 +0100 Message-ID: <8efef79c46553a9b8924878c1f4363998c1f49ed.1752586090.git.lorenzo.stoakes@oracle.com> X-Mailer: git-send-email 2.50.1 In-Reply-To: References: Content-Transfer-Encoding: quoted-printable X-ClientProxiedBy: LO2P265CA0410.GBRP265.PROD.OUTLOOK.COM (2603:10a6:600:a0::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_|DS4PPF0316BCB78:EE_ X-MS-Office365-Filtering-Correlation-Id: 7c1ffded-b953-42a9-8c47-08ddc3a4ceb2 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?KDr+S0LI6zjkxQYTcfiYkSY/FbsJdlzztzL9wf33D9/h/MGBNZqmcv0So/ce?= =?us-ascii?Q?LA+8LCUr64BjyNzxNrjMUPDgnBfjFWLQa9ea8TM2R5yFRLE9rh7VJ3Hxf19T?= =?us-ascii?Q?ITIB7kAzWFPVjbBAmbIboIcqHxfF0zNNN+pYG59Q+8OIPemmsxwHbuob0H+Y?= =?us-ascii?Q?+OKgcrtkvadJ2HA0Ukv4mykC+vsFUg/rVPLKe5xeS7aaGHEDzLPf4sqBY0nu?= =?us-ascii?Q?uoW1pspfW/8mQiQ60mbMSVM0xAgiwqzVsRo0k3HwAv4Pfs4zOXaIx1VbbcQu?= =?us-ascii?Q?uJjGQAF18U45IQjNFwKjn4i8oDn5V5zW6ONEKtcdcE+fgWvbmy3ybfqdnCti?= =?us-ascii?Q?rLwosoV/meU6kEc9j/Q4auzbG1z6MCgoatwC2kMkplkRgnfuQwkbLWkW0VqY?= =?us-ascii?Q?/HgGZ4GC39F0nd7+pcRw14ykuhfi3FlCgzNL1z3exR5whQNWDl5kYAGGBW8t?= =?us-ascii?Q?Ee/sm1o9l/GJLnq/9kktK5PUxE7lSfCjS7w3Kq6jiAq3h36kyj1neh2WAPyv?= =?us-ascii?Q?T+LPwmY2h0KH4mzBI/HBYwT0T2XKRSqEAHUPlwwhPZL5qGN5sHNWu+bA+nCE?= =?us-ascii?Q?8hrXv+Bjc8sKdSkeEAxH53sNKIYcnIEo1lRt6B0Z5T5uZrkKzJK/8AMn1O73?= =?us-ascii?Q?n0TWHUqtz9azgXjIPd/evmmFmrc3dm7EE/b2ouE5h99jSFCaLrnE/WlkKxKt?= =?us-ascii?Q?8o8y1E41bs1SD2PfT4LjnU2uPQgQb0xE6J4Znrhp1SKLr/kEpqKkuBftSdd5?= =?us-ascii?Q?BtS1K99F7IiMmA+6osKZ7vkesCAwrV88s6zLChdRG7c6kWASCc4Yef5rA7DQ?= =?us-ascii?Q?yfgTpBBjK1ahrY56KG7Jn//EVlv9y98Gpd5iG/y7aXr/lry/Z4UgPtq8Ap+Z?= =?us-ascii?Q?2HpNW3uylCDOb4zvAeUjzINRo2RQmcnmQ1zQZgT/4ovy3MH3Du50bcSqqJL2?= =?us-ascii?Q?uPFFXgtfmjRFR2/B3B+vGVJTmc5xJPe3IshmP+eTiwB7AxeIqrrCMHe8vZnr?= =?us-ascii?Q?INgGL/6RyfizkPb9mp8VWfvECsInAbshHZwf/ffRvPAnxb+ZKa5cSvxzeCSQ?= =?us-ascii?Q?vylrdw+JtDACvqChihrfwbI5a9Pkj2xxX8qbWbYfxeLfBrJMp1wpeXpKRbnd?= =?us-ascii?Q?atxmq7G1AQXiauEnPG4tjRYji4zqr4od/f/3gN0gIe9hO/YJPR0Y8VFmjBLe?= =?us-ascii?Q?vF003rnwO8ARf6fRmaWUcwauEfMKV2Pcxm2ac1C8uXjjAch8ldHF/LvcAbYv?= =?us-ascii?Q?gWc5IN2tgbF2H39oT6w/R/sj0z2TLDXHW7tGNFmDf0m5xOXuGK/RchbciFOy?= =?us-ascii?Q?JKA7BbazDsE1Kp+RanxQaec3+0MFdysZN9XeGKTD+x2M7PnqWAZDoPFsGkKo?= =?us-ascii?Q?NMTGgzcG7GDENMVU4NTYS5/LdLpjTJrfT7yRvNg49ofEnvDZTC0oCHt4dX6M?= =?us-ascii?Q?FaFKK5wdm+U=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?I7tB2rzpn3YzV7T2pk6NM7+7y5ZXAUJgbBswYj4OtnYWnFiZP9treLXPRlva?= =?us-ascii?Q?6QtBLu24YI/Hm0WqTt/8v00zFH+L5jycoL3Hjv1nNnpzzIhC3KDgwfDaEoue?= =?us-ascii?Q?uyeKbk8iY5nfS83L009a1Ddvw01hglW2JkhOUU/tbkXEq9UqqbOyUwvmgAmV?= =?us-ascii?Q?tdxrf/F5NOlGvmnmchSZF8XRim8C66OsAYAjKyHGQ6rPuXjlL9xKlO0e7fpt?= =?us-ascii?Q?avuxOqzu0nNzzYRu7LKhLI6Xb1duoCj4TpFDK8y2fevErAgb6w3OHu0jwjPc?= =?us-ascii?Q?RWluwnvcZv0YHofhdjVEjKuVJ8P+gT8Y7SZDY4LHzU+H+/OVg1azo5qDC+yW?= =?us-ascii?Q?qT0wcmg/1HSfNzDCU32Cl12WeLDOE94rIluYXyDvmkH491brN8jZ/8ODReCY?= =?us-ascii?Q?B7xXbBvG1KgxzMStNmb/1TlCai+wbD8RO8TJLIOjDmJi0Apteiouk86y+1jH?= =?us-ascii?Q?+rF1FFrKp+mo0Q9Fg70GL/dbV3Aco8sjGJSclNI0+s/KixezAd6NZmfZ+Dpm?= =?us-ascii?Q?kArGvdPuoT8Dwpc2hGcOJljJASBNt4UeSuCfk1PpzbuNoPSLXpS04FARllPc?= =?us-ascii?Q?WbtSJZVivQvO+xeL+ZmvnFBeCqS3hXvEcfmmvLM+091uRdL5wTFJsGFroXI6?= =?us-ascii?Q?B/ehD7Ms4QmAKYrKpVM2JMCPgqd7rpKu18U+VkENbwCveI03WarAHHrtefhj?= =?us-ascii?Q?XRa9wF0aKpTTcDUUOIz27wtMSqzOuH7sc8jv1HEAI2T/iUXpV37Gne18zVWC?= =?us-ascii?Q?+Rtcjnnd4ecxg0DbBZXEGOColmbNifstUpJx5iilpZKO5tStyBxdPRvvUv3R?= =?us-ascii?Q?nqy7K67LyvylZrsDxsYHP0sXddSzgiwCrTy0ckm1Aiu7Yc1iTkoC7Ubtn8YK?= =?us-ascii?Q?eT4eeltAW7dYLQB0dqr3A696KrqpAJJdNmaGmq8khsjOdTbL7A1pknT2UuTc?= =?us-ascii?Q?0s1BVshxDjQnF7CBlt2q7U165nUB6JElhE/VnzwWF5T9AqsZlPu4hiLMDTHc?= =?us-ascii?Q?+XHoNKqTPLZR7pvIgZ3ULfnKAJd6SpeEgJ13WGOgkQ6ZmvBqcWK9pTsxmAYR?= =?us-ascii?Q?72dtKzucxSgIwGixTuWufTU6X7So3tuWhDHKJGC8HEl8pFWt/APDGXBlZDi1?= =?us-ascii?Q?ulpdrgLcv2cD79SJhAQ4Qg85ph8rfRCMwONn8H/4nAx91ws+102NY9vVJ8zX?= =?us-ascii?Q?mDdhFN/tXRklpXNAqOEmPt3HzJKlPo167cMv7udv9oTVXrOHlpRF7f1P4udN?= =?us-ascii?Q?Plz40TTefnUszRfCFcSl65qp6YT2SsXQnDz357D/YvOFjet4VeBzPVr8Sekm?= =?us-ascii?Q?TcYtCnOtlA9eXBJg0Ry0GFZZ2u6hpQJ6cAx4GI6fmOAXccp5gI5k0bTWJYoc?= =?us-ascii?Q?bjVsQiA/51Zl1GD79x2T16y0RlfTiGgmN0hi0xdcYa00v30R2ouoM+/fRwJs?= =?us-ascii?Q?WfTtoKb74xlP0oSmvoMOgFWYdVD2fwQDbk6OTPpXFMSxZRYUSjz3WoTHlTnt?= =?us-ascii?Q?/QAFIunAKMMQNHcjoIwZa8Mfzz6RBiCZjNkhOdRoQL9PZ+L+rI16ZM84UXcG?= =?us-ascii?Q?XstTW4ZZvhGOdAoZaUclPtfscbukH+Qncky2tTL4FCmXf774jUTb5rP9lL/Z?= =?us-ascii?Q?nw=3D=3D?= X-MS-Exchange-AntiSpam-ExternalHop-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-ExternalHop-MessageData-0: V/ScpiTP1DTricqWGBaowFAhSapjjl2ir+LyW78xePPbCeLCb9rXC9FQOWEDVjX8GriLBXWkKhnh3w9cVAvehJC6Zn7lG5TsVu/ti0YjBM76jzMn5V+JSd8NeuRq+56qXns88jbXDNzIF+Zt47taiLa9QzV2xswQOpby8UZrRsYcE/IiTlkd8VonBHUMbYf2Non4JrEiUScD76pUcpWpt4Z1vbMtl8BbRwrIs5oSiRUBRCQcQKLJc4BWaNMbpxKe0jpQFZ1f3yfoopjQkcU1PZjn0Chi5NCB+txHZ7cMzK4FziNhQpsVkS908+rclCMJgQ2qHqvz32keEYvnc5cG7esjAOpW5qR1MLGWa6QCD8UE5PvVYRx6fS8bMxuYqJ2dl1uOiJU6uCena4XZ7+rAedaZYkZl55V5b489isKZMKYtOLVW9EKx32/4cNAbttgKcbF/eWCSRra4eADAmh05Z4+xkKmgMrpgfYlAEte5odQx48mNX81+2j7X1rurbO9NxPS5AMpgHb22KeH6ESxci9UchGMtT6ltatTswMOOSqwMhvrnvKOeMejkL+BU8yUlpjmvoKYGUG6i7h+oWB2e7V6HzCQWCpBa5+R+RvHc+WE= X-OriginatorOrg: oracle.com X-MS-Exchange-CrossTenant-Network-Message-Id: 7c1ffded-b953-42a9-8c47-08ddc3a4ceb2 X-MS-Exchange-CrossTenant-AuthSource: DM4PR10MB8218.namprd10.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 15 Jul 2025 13:37:56.7089 (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: d3P7+RKkGrhoRh7UFKFIJnsto3q2JPh2pLMgqQLs5iNGvccoLZ1yiRQqUDRwIu/8E8CTKp8IaklG6soV+SOEbTXHZ/R45bz1bYssnVzln4g= X-MS-Exchange-Transport-CrossTenantHeadersStamped: DS4PPF0316BCB78 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-15_03,2025-07-15_01,2025-03-28_01 X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 bulkscore=0 mlxscore=0 adultscore=0 spamscore=0 suspectscore=0 phishscore=0 mlxlogscore=999 malwarescore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2505160000 definitions=main-2507150124 X-Proofpoint-ORIG-GUID: J6sJQaVO4_9Rq4szTI5f9PI69XaUDqe7 X-Proofpoint-Spam-Details-Enc: AW1haW4tMjUwNzE1MDEyNCBTYWx0ZWRfX4UwhoE+xfZNC uXiXKPjGmlWeRRJyxI8ULbDwPPoszkSRdrKtK7+NNKScVTMcff7pVVii8cmYFVVgQjYGhJNKfJ4 lk+Iwj4+X0pc57u7BIaM2L6SnmOFImG0gEX2H7aHgi/DJn1LhJ5nhIA1XKhNURIt289h5tZpn/Z PWBoYeBHaX1wxI4N9KBeLFpo4f/iSD78UGgZQVyOoBfqMw+g5+Z9I5Xya8Z2/AaT06VkpA5SWFK b2uSlTon1esoDBrvzJYko1BK+gy/gMHqhecVlzdpy5sIxsvSNkGfJNcI73XY5dkESyWxKNJdWZC irQF4lS3Sk0XWmaNOiVH6IBTsybHpQxw/5FbaOijalsIaFmhw5x923H6Es4zK3F/0qPbN/scdRA pmyLBeQvDCCYk1yUS/+PV/IjiT8ITbZVTXqf8TGr9YzvQ2uIbDnQxx3YuT9HNQ1IRnbteydZ X-Authority-Analysis: v=2.4 cv=Xtr6OUF9 c=1 sm=1 tr=0 ts=687659b8 b=1 cx=c_pps a=e1sVV491RgrpLwSTMOnk8w==:117 a=e1sVV491RgrpLwSTMOnk8w==:17 a=6eWqkTHjU83fiwn7nKZWdM+Sl24=:19 a=lCpzRmAYbLLaTzLvsPZ7Mbvzbb8=:19 a=wKuvFiaSGQ0qltdbU6+NXLB8nM8=:19 a=Ol13hO9ccFRV9qXi2t6ftBPywas=:19 a=xqWC_Br6kY4A:10 a=Wb1JkmetP80A:10 a=GoEa3M9JfhUA:10 a=yPCof4ZbAAAA:8 a=20KFwNOVAAAA:8 a=qMmrSB22KtVtcMM35qUA:9 cc=ntf awl=host:13600 X-Proofpoint-GUID: J6sJQaVO4_9Rq4szTI5f9PI69XaUDqe7 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 | 56 ++++++++++++++++++++---------------------------------- 1 file changed, 21 insertions(+), 35 deletions(-) diff --git a/mm/mseal.c b/mm/mseal.c index adbcc65e9660..794d1043a706 100644 --- a/mm/mseal.c +++ b/mm/mseal.c @@ -37,34 +37,6 @@ static int mseal_fixup(struct vma_iterator *vmi, struct = vm_area_struct *vma, return ret; } -/* - * Check for do_mseal: - * 1> start is part of a valid vma. - * 2> end is part of a valid vma. - * 3> No gap (unallocated address) between start and end. - * 4> map is sealable. - */ -static int check_mm_seal(unsigned long start, unsigned long end) -{ - struct vm_area_struct *vma; - unsigned long nstart =3D start; - VMA_ITERATOR(vmi, current->mm, start); - - /* going through each vma to check. */ - for_each_vma_range(vmi, vma, end) { - if (vma->vm_start > nstart) - /* unallocated memory found. */ - return -ENOMEM; - - if (vma->vm_end >=3D end) - return 0; - - nstart =3D vma->vm_end; - } - - return -ENOMEM; -} - /* * Apply sealing. */ @@ -102,6 +74,24 @@ static int apply_mm_seal(unsigned long start, unsigned = long end) return 0; } +/* 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 prev_end =3D start; + VMA_ITERATOR(vmi, current->mm, start); + + for_each_vma_range(vmi, vma, end) { + if (vma->vm_start > prev_end) + return true; + + prev_end =3D vma->vm_end; + } + + return prev_end < end; +} + /* * mseal(2) seals the VM's meta data from * selected syscalls. @@ -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; - /* - * First pass, this helps to avoid - * partial sealing in case of error in input address range, - * e.g. ENOMEM error. - */ - ret =3D check_mm_seal(start, end); - if (ret) + if (range_contains_unmapped(mm, start, end)) { + ret =3D -ENOMEM; goto out; + } /* * Second pass, this should success, unless there are errors -- 2.50.1 From nobody Tue Oct 7 01:53:55 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 8D43E2EBBBC for ; Tue, 15 Jul 2025 13:38:16 +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=1752586698; cv=fail; b=iBm9aN02hWuSzGUIQy5OVbuS+bd5E6LDvcC/xU489bBFPP72IQ7oOSB38vlPx3IEh4A7x37ELymS2wY+XuiLYvM1N8ZL5uPfH6NLnQ3+QSVAQ9wzEIzm+abU8Tw8+nmK2oEceNZjHTWBe6nZgFVw4CqrwiBNnj9NXf9mqHkYIxw= ARC-Message-Signature: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1752586698; c=relaxed/simple; bh=1qMVxgCfdwoKZfhZQgAesqL46BpnqR7AAGvcMyAAkrA=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: Content-Type:MIME-Version; b=W7KHsxwsvaANhrfSzQErfxeVT3zn9aFGrtTrw2YECLzn6MPqV628P1PnwEQqfKGkWrR3pVEw8sTF/v+vaoizhMD8Kdu8J9gUaNiZAlUGaQ4y7KWOn7JiL79l6ZzmR75ExQh3NbrFUbnNDGZYeQ9oWppJQOb4rSuVrHWxi0yf67A= 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=EfElaiti; dkim=pass (1024-bit key) header.d=oracle.onmicrosoft.com header.i=@oracle.onmicrosoft.com header.b=vBLa+/hg; 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="EfElaiti"; dkim=pass (1024-bit key) header.d=oracle.onmicrosoft.com header.i=@oracle.onmicrosoft.com header.b="vBLa+/hg" 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 56FDZCS7009061; Tue, 15 Jul 2025 13:38:02 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=g2NXKJ/cW2O88FN718GRfshc1bijHstDgT6AtOhTkgw=; b= EfElaitisTL/u2CzTgepEqQ+ac8p+D6h+U3D2vl9bnDFm4NGtYzMGbz7QQ2deXWG 3W1avuq+kJckMWOuV+Hx8ZjqeREk8mnAiPdXDDqfJNrfO08HHczYPrmA4IICj4wr to1ktM2U1sVs+NQcmmqTBSim4+pa+V6dSl6p7W5YW5s7J9c5btIhMmAh00+xjNum Dcb0V20Xigm3Ht2h0bQyscYF+xHO1sySKWXFTF/dNPG+uQ/Plmnp+IXz7oD9MtH6 i0Oenz3zVQ5LdDiSeWQ2h0iO48Vt1/2x3fyJ4AWmI8NjE4q2oO/xn7rtwg0MkW73 N4w3kfpbnoUix3nHCybqIQ== Received: from iadpaimrmta03.imrmtpd1.prodappiadaev1.oraclevcn.com (iadpaimrmta03.appoci.oracle.com [130.35.103.27]) by mx0b-00069f02.pphosted.com (PPS) with ESMTPS id 47ujy4pkwr-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Tue, 15 Jul 2025 13:38:02 +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 56FDARKU011692; Tue, 15 Jul 2025 13:38:00 GMT Received: from nam11-dm6-obe.outbound.protection.outlook.com (mail-dm6nam11on2060.outbound.protection.outlook.com [40.107.223.60]) by iadpaimrmta03.imrmtpd1.prodappiadaev1.oraclevcn.com (PPS) with ESMTPS id 47ue59ytbx-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Tue, 15 Jul 2025 13:38:00 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=QX7I5l6Ar0TUqJQSIrQOSjsT6PidoNq43ZCQ+UxwL3pmJYTuozlU7Tzwm8bfa94w/N9X6EsuY1gWb/k3McqOkhx53VGsZ0jg3UfQ8RronICIwxdSo64zE9PlaVAgKqqO24LiVIxcI9Ft1pg+aQ9Bl2U6jgahsgW0HHkcXbDniApquOQtJVtCXNytd3SW5pTjRxHmUucE0OQk8vijlX0wBAK2KbgNFYjhJ9KfqbxRfXXEc1kUshz2w6XNvnvW3BFaMKY1PJLPtJvsEfs4vQan55sCyBewXDH1ecIk4oq9VpxwHD5H6WxUUwqencbSxEMEJUwwhx3QsKPBi6/5nAaeYA== 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=g2NXKJ/cW2O88FN718GRfshc1bijHstDgT6AtOhTkgw=; b=HI3kQUQ91oEf5Wehb9spoje6HD3hk9twFxjS6URzj2loyi9z705FlUbezazEjTVCQ7sB1Csm039rKZMhTxzqKYWsihQSgr/jEsC6rSRADFL5WImA+Qm9uUWrr7qRUm9+4oT1/wmYZw3YwWKyRyJDVCK7y5KZcmfT3OUUUHVyuEgcovMTHJ1w2wQMhtgU08sUN3E1+qfbgDSynYgh1QmR/nJEwOu83w46IUx0H5f8+43e+LBSTiIepOzR1i6Wti2ub8EPApM09Tw3n2TKb32e95+P6HclBkvf5dna8NtuTHI5raWJHA+g4oqWMvHn1wTpP++NYKTBgkOSOj+9kikfVw== 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=g2NXKJ/cW2O88FN718GRfshc1bijHstDgT6AtOhTkgw=; b=vBLa+/hgTmLam45SWTDt5uzYDTMbvOjPg85szfg0HcbwcETwivOH8OmHXxu+NdOZ0qLj+OkUXZalhBZ+CXGax1dMAyQwc8tjzqDjgEf45n1QvnJ/J+YtYsrm5XVxEFhcmqrOVGgPhvOPtZI6OPfKKSW4OMWYrHq3r6D/o7khW/Q= Received: from DM4PR10MB8218.namprd10.prod.outlook.com (2603:10b6:8:1cc::16) by MW4PR10MB6370.namprd10.prod.outlook.com (2603:10b6:303:1eb::20) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8922.27; Tue, 15 Jul 2025 13:37:58 +0000 Received: from DM4PR10MB8218.namprd10.prod.outlook.com ([fe80::2650:55cf:2816:5f2]) by DM4PR10MB8218.namprd10.prod.outlook.com ([fe80::2650:55cf:2816:5f2%6]) with mapi id 15.20.8922.023; Tue, 15 Jul 2025 13:37:58 +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 v2 5/5] mm/mseal: rework mseal apply logic Date: Tue, 15 Jul 2025 14:37:42 +0100 Message-ID: <1d6abf27d8eac0001f8ad47b13f0084ceaa6657b.1752586090.git.lorenzo.stoakes@oracle.com> X-Mailer: git-send-email 2.50.1 In-Reply-To: References: Content-Transfer-Encoding: quoted-printable X-ClientProxiedBy: LO4P123CA0470.GBRP123.PROD.OUTLOOK.COM (2603:10a6:600:1a8::7) 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_|MW4PR10MB6370:EE_ X-MS-Office365-Filtering-Correlation-Id: 953761d6-17e6-4081-628e-08ddc3a4cff3 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?HnJ4RK/Dg/HnkCsDUEqnNBsLGVuVUjfJVbruf+M1AbE/FjS5wQGiD01nPuT/?= =?us-ascii?Q?0J8J9DDgfZ32Uzfv8KBXdSpvmp+VJjyQpxTxBdGqY0h8bU91i5EGYhABY8pM?= =?us-ascii?Q?OM8M2xp/1B8WVUckZV+RjQPFA2s6tQPGMoAK9PGl/myYdfVqyJ7Rv+jfZrtc?= =?us-ascii?Q?5B8Rzb6fR0s0NE7M866g6kPU2ALyv1JCTfqkURSf0jo6Q7tUv+IJgaSw13kp?= =?us-ascii?Q?r2porEv/B+JZWBNwRuNvdo5xyD3LFcE4IJoZq13/We8kzr1qNdC1lUNLfvc3?= =?us-ascii?Q?JaN9JdkQyffkInc/zmxG3uvQR7LwaNMMwwKtOUUkDeV76Iolxv2WHULT56QP?= =?us-ascii?Q?WRNBUnIwGw3o1ijArctkiRACvjVKckCxZ6RGvojqj5qqJ/42O6mOxD1dKymB?= =?us-ascii?Q?0nWuJmrTLzytEJyxQkSJsDSzY74Hh0g3q9E8ihRdiTIYU7GANy4cM9eVgXGl?= =?us-ascii?Q?i0dPm7bw800q2S3svZuRZvepqr2mdc9LXbtBwZ7lK3HknheMvM7MmjF9axf6?= =?us-ascii?Q?pjy2QIobykAVJJj9fBVW7oMynDUitvOd0R7o4ZWhxLXPNsmPDVHZNfcoLpFh?= =?us-ascii?Q?4uFCLgYvbRNldFAF1Oshcv5+Vdq9BRGhGBzbWMFlBB6JraM1GfQ4s1kgYkFf?= =?us-ascii?Q?B/P4EDlAvVC+pXAIJFbdLYmXlSXr+SMMRZCAxBWkkP/NzOuy4YFn8BvY2JNs?= =?us-ascii?Q?crfpcXxF9AD2dt3jyVcqGXkYsyhdMuut0qT9038ifW25FpWxvR8U5pRMnIkE?= =?us-ascii?Q?oTt5aBvB57qOukmLg6EF6CNLHi3LLA0fwsu1xcjB1ekeDvuq9zW+SSVBqGM7?= =?us-ascii?Q?1Nr6UEi0PeMeaj6H7MtN5UtMufWSaWO8cZ2FugiXMcgarGRxfzl1REHaACrn?= =?us-ascii?Q?9lP4aR5zjOvxZWm63CcfP/EWhxF0rRkVnErknUnRwTFEy9JgFofb7ancHD+L?= =?us-ascii?Q?GLrETKVHCqHfIE3cloCQXMkEUNgnXzyr5YRiuOyZI88IQnog/k+an0lbnw98?= =?us-ascii?Q?o/N1TnCWd5HY5J9eRr/3yc+73laKNR3Isqb65U4KkBV4HgLHGuSbT1+bnVmv?= =?us-ascii?Q?fzvhA8V5mwd8nGxtie2F2JI4VKQk0lO5kRQeTk8PKhsVlj6t3X8hf2/7XqpE?= =?us-ascii?Q?yyu982GJwAfndyp/VetW3v+A+9dllsoLQoDwmgSZ/VUsrj/GRTIRbh/50QKV?= =?us-ascii?Q?Jkyg12ZFd2KFygIRAEmE9i3sVmVS1XyWM0YMDKVtExoaLNKHkWA2POeD3Jap?= =?us-ascii?Q?QchcXSeWGfKWn91Av1T0ckS8IS7ftcFSORi0WW2nNDThJKTTJfPusgUwFCwi?= =?us-ascii?Q?gQTqar18on583TdfwjAdM2rXNPFWtBUe87E7yykaECYC2oeonAk9pRzn2ohK?= =?us-ascii?Q?qdB5ECsUkJfwejQBVGeP2SGL+Zl3NSOFWs6WeqeJtuDymnRgyOSDeOXVDJwi?= =?us-ascii?Q?G67yLfRN80M=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?LG2DZrYwWKmzaZH1vtJRAs0Nulnm4+nGYgFgAB8ARgRvEway37vJBHFsUZba?= =?us-ascii?Q?cnlKxYbickP3OX1i54DE6dGrPN6Fyomjyb+0ISr6bescP0QWjF56vj782h5l?= =?us-ascii?Q?DCRaTd77/yxcds4DnDxxynB06NgexfOo7blfZzrwsstjKRe5lj294lLAAAtq?= =?us-ascii?Q?8kMrJNiT8OF6W+P22ewRT5iSQtNTFNfYm4mU0iKgDJTDt2c0wb2Tn7aaYEUq?= =?us-ascii?Q?MFgvjwl8ExeNIbqhMzv1Fk6t8Y0DnoWCU188Pps9/hwD40Tafp5kfBRKPjh6?= =?us-ascii?Q?PITqAOwkHwPPHn3K4okOn3Lr2aqmWJ/Zv2AST8PqjZ6ZEYyOHzlsvPcFvPZH?= =?us-ascii?Q?jnIoNBAOVq/0qFyPP69siGBAS4nUbqN74qANh6qqN6ppqrMVPAsJDvfqXHx7?= =?us-ascii?Q?ESu1TrTMlHUxBp1Gtt5EI9VVgRsAQVE5edqa8HImhT2njLo7qW6ME44cm8EF?= =?us-ascii?Q?jhSHXHFKrys2p1POsZRopwy2+v57IUn5oaETGDby0lMgbla5kuhqN4qH8zld?= =?us-ascii?Q?hsdhfSFteovN1me5zcEFgon1iFPSFado5o7GTAE7iPIXlDPGmANfJC18GS9A?= =?us-ascii?Q?QoFBa7owPPY3aYGAa1T7Radi6YQOVvPrsPk1vPjQtkbG4tT0ODvFvImPWFCp?= =?us-ascii?Q?EubponWm429r2YmgYV1MVV11IzVTfhsYN22EfVhVzW/YCylxJbiQROY/YBAJ?= =?us-ascii?Q?eYrLaUgheuqBtRQhnwKHDmCSeL/6h85vljBv3rZLulhyX5Li73H9neM3N/x5?= =?us-ascii?Q?CClBtbvuDpGhA0M/6eLuQGugo4eUaThQvI6N1fR83Fv+qxITiKwyE/Szpvzf?= =?us-ascii?Q?3OkqpUqeSWqWIRZPAwCoUyzzFjPh4j2Q/EPR8SyjD+fJ0i86kiNP9PGpeBFE?= =?us-ascii?Q?j1i559rI8Cpk2Zmz6d2KTkYgSFfKU9l3sF9GgLytyuCEscb3omODlXic70iq?= =?us-ascii?Q?5zqWAqzUrKsisqG/K1FjaKLrmYbcaXW8uiF15PS9DjKdKkRPD6FGHsi0B2W6?= =?us-ascii?Q?9lpa1Cg0owus0dyb/tBwbHrH1ZKwUjPI2llggJ+8DlrA7M7GnV9ujBTCbxCS?= =?us-ascii?Q?m4AWAhd3dp49q+Bo5DE6O90+//3uTcRCpS9xgpuUR+9slcJIgh46X69Pqy+H?= =?us-ascii?Q?Ydf2xS6Jc9tzAU3VBYn6m1opX6VJEbfw5hA7tYXOuSyYL/HMDxP3WDM/BZq+?= =?us-ascii?Q?kBoplG9DQkCnJG9c36QLecLS+743HyQabatbYaz8bi3M722CxurRxlz6R+8d?= =?us-ascii?Q?0aFW1GgcHw1JUXVYp94KbfPixv9oMCGS0sSXyRH2I+Wv1pPLeUFi8eA6RN+L?= =?us-ascii?Q?pNiVmRP+Ch1K1tsAY2gUi4hGtVZakWL754EuVx7gtRXY35M8U6L8bEQtUwN0?= =?us-ascii?Q?VnKZogK001GA/Bn1RUCPz/4COUsVIy3u5dOd+bN+l9qrg0ed3MEFVulDomm8?= =?us-ascii?Q?Cm04J1ecRor98fChA4ZBPJnmy2jQCI7JYY2y3YxFm1897BxNsDfmV769V+DR?= =?us-ascii?Q?EnjzXACjB7C1QiBPnrqkqWtOyKv3icBqPIqNZ2RS0f7W09u2YjdlyTXWK3MM?= =?us-ascii?Q?fguO2zj+kpsu+KdUWoRAf1OLNMEVK8X3YhJzks1NdJV8HIt8OlwX+/hzEcLj?= =?us-ascii?Q?4A=3D=3D?= X-MS-Exchange-AntiSpam-ExternalHop-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-ExternalHop-MessageData-0: 1cm/+7yanq4yseokEhf8IEuMRpB/F8rP7FKoDe4P96agIprqOBnLtsjAKz8TH66VtX1u4URMzuEAZvyQ+gk6TnZ54F+4QB7ti69GnqDsXc4tsxs0b2lQszKY1WN7V6mLZ40sanPOTf3uA0zE5pHGFMpe7liZj7/hlc7uIzx7g+HyOsvKhJP6h4LpyGsjAfWmPz5OaJQpgtWfG6FAlBX8XiiWOnrfdrfik755THfISEqP29mK4ATeHFzzAvDRYEJMUbHisSxnYkBXf9zxZW1iBR9g/Uua6rGJ0JqfWk+6RDcZKSe0n82zB1b19lMAc5RQ3+K3DexMwAIgesfjx6BTo4+ns8vMZMg7zi1zBMKu4xp/6J9gGa65csLRG4NXvevZhX21PYjtgrw8Ecrr6sDl4/E36oeeG0Nr7jX3fsGTjZKPPmq+Xr6Y9U0wpkA6+nGMdxibsAMU6zgdFv2wb9dJKr/jnVAMI2tNjD5anzQSO5Yx761GD4qpKCkX0x5L3tBCMyl1fHIMoRiyDpMPQOQz7Uy5HGESMzV+JV7SftS9A7uhprqNwv3EkihgWVzf2K6qNXm9UA1F2siPLyS3PbU9cqq07yFlDBft9v7MsPgDAXo= X-OriginatorOrg: oracle.com X-MS-Exchange-CrossTenant-Network-Message-Id: 953761d6-17e6-4081-628e-08ddc3a4cff3 X-MS-Exchange-CrossTenant-AuthSource: DM4PR10MB8218.namprd10.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 15 Jul 2025 13:37:58.7949 (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: T7g3buyZHW5Y/ESv8XoF2G2I0bAeKguix/TINpP85mDgZ1//67oCboGkLUH0PxW3EJLuu2WZceHWmmKzEFNUl2LSHf0YqIsoPSW9ChW8bps= X-MS-Exchange-Transport-CrossTenantHeadersStamped: MW4PR10MB6370 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-15_03,2025-07-15_01,2025-03-28_01 X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 spamscore=0 malwarescore=0 mlxscore=0 mlxlogscore=803 adultscore=0 phishscore=0 bulkscore=0 suspectscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2505160000 definitions=main-2507150124 X-Proofpoint-ORIG-GUID: sPVmSGJ1AlZT4bg1oieUdG-cFDpJoDX7 X-Proofpoint-Spam-Details-Enc: AW1haW4tMjUwNzE1MDEyNCBTYWx0ZWRfX2xL2Yfjqa/Xs aiC9/ylmZJ2p8CDfRQB6xIbq2ueBSFqDgEqRL0vOfnHBRtya7QOU4tVgVqo3TjiOSSbwbX3JY0l PGbYONEPXdKgDmq7PYczAeIhBkqO5rRu/V52yX3hhU6EggIAy2FXEl96ROk33hrJoZ2plKHcxJ7 ommJiZqwDPu2IJ7oqPKfGubLMG1lJUL3PHvZwPGRH1QH4WeDXMDix2gZH4UyHPaeI/F87CnkzRh Z3JO1+TD/j6qhltGif3kne29Nd7MeO2aPdPMwMXJXztFsEjJ2/GxVkOWtraQJWokxLXrGOpE/hN qyt4ZKw11elBxJ6XB+Po6YQqH6924fJxA3dX7TpQoOgsnL9FbCDd65tV5ZarahSbVQMQJXjaiXY 23oBDyCfKduI+Au7lVKKHu1rm5LjJV0n5ptwg55Aj/fzjJY/HNglUvVz0IUdxwn8cWpeuXyk X-Authority-Analysis: v=2.4 cv=Xtr6OUF9 c=1 sm=1 tr=0 ts=687659ba b=1 cx=c_pps a=qoll8+KPOyaMroiJ2sR5sw==:117 a=qoll8+KPOyaMroiJ2sR5sw==:17 a=6eWqkTHjU83fiwn7nKZWdM+Sl24=:19 a=lCpzRmAYbLLaTzLvsPZ7Mbvzbb8=:19 a=wKuvFiaSGQ0qltdbU6+NXLB8nM8=:19 a=Ol13hO9ccFRV9qXi2t6ftBPywas=:19 a=xqWC_Br6kY4A:10 a=Wb1JkmetP80A:10 a=GoEa3M9JfhUA:10 a=yPCof4ZbAAAA:8 a=bYyZlYpX74AIGI5vcOsA:9 cc=ntf awl=host:12062 X-Proofpoint-GUID: sPVmSGJ1AlZT4bg1oieUdG-cFDpJoDX7 Content-Type: text/plain; charset="utf-8" The logic can be simplified - firstly by renaming the inconsistently named apply_mm_seal() to mseal_apply(). We then wrap mseal_fixup() into the main loop as the logic is simple enough to not require it, equally it isn't a hugely pleasant pattern in mprotect() etc. so it's not something we want to perpetuate. We remove some redundant comments, and then avoid the entirely unnecessary and slightly bizarre invocation of vma_iter_end() on each loop - really what we want, given we have asserted there are no gaps in the range - is to handle start, end being offset into a VMAs. This is easily handled with MIN()/MAX(). There's no need to have an 'out' label block since on vma_modify_flags() error we abort anyway. And by refactoring like this we avoid the rather horrid 'pass pointer to prev around' pattern used in mprotect() et al. No functional change intended. Signed-off-by: Lorenzo Stoakes Reviewed-by: Pedro Falcato Acked-by: David Hildenbrand Reviewed-by: Liam R. Howlett --- mm/mseal.c | 69 +++++++++++++++++------------------------------------- 1 file changed, 22 insertions(+), 47 deletions(-) diff --git a/mm/mseal.c b/mm/mseal.c index 794d1043a706..e0fe37623632 100644 --- a/mm/mseal.c +++ b/mm/mseal.c @@ -15,60 +15,35 @@ #include #include "internal.h" -static int mseal_fixup(struct vma_iterator *vmi, struct vm_area_struct *vm= a, - struct vm_area_struct **prev, unsigned long start, - unsigned long end, vm_flags_t newflags) -{ - int ret =3D 0; - vm_flags_t oldflags =3D vma->vm_flags; - - if (newflags =3D=3D oldflags) - goto out; - - vma =3D vma_modify_flags(vmi, *prev, vma, start, end, newflags); - if (IS_ERR(vma)) { - ret =3D PTR_ERR(vma); - goto out; - } - - vm_flags_set(vma, VM_SEALED); -out: - *prev =3D vma; - return ret; -} - -/* - * Apply sealing. - */ -static int apply_mm_seal(unsigned long start, unsigned long end) +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); + VMA_ITERATOR(vmi, mm, start); + /* We know there are no gaps so this will be non-NULL. */ vma =3D vma_iter_load(&vmi); - /* - * Note: check_mm_seal should already checked ENOMEM case. - * so vma should not be null, same for the other ENOMEM cases. - */ prev =3D vma_prev(&vmi); if (start > vma->vm_start) prev =3D vma; - nstart =3D start; for_each_vma_range(vmi, vma, end) { - int error; - unsigned long tmp; - vm_flags_t newflags; - - newflags =3D vma->vm_flags | VM_SEALED; - tmp =3D vma->vm_end; - if (tmp > end) - tmp =3D end; - error =3D mseal_fixup(&vmi, vma, &prev, nstart, tmp, newflags); - if (error) - return error; - nstart =3D vma_iter_end(&vmi); + unsigned long curr_start, curr_end; + + if (vma->vm_flags & VM_SEALED) { + prev =3D vma; + continue; + } + curr_start =3D MAX(start, vma->vm_start); + curr_end =3D MIN(vma->vm_end, end); + + vma =3D vma_modify_flags(&vmi, prev, vma, curr_start, curr_end, + vma->vm_flags | VM_SEALED); + if (IS_ERR(vma)) + return PTR_ERR(vma); + vm_flags_set(vma, VM_SEALED); + + prev =3D vma; } return 0; @@ -185,10 +160,10 @@ int do_mseal(unsigned long start, size_t len_in, unsi= gned long flags) * reaching the max supported VMAs, however, those cases shall * be rare. */ - ret =3D apply_mm_seal(start, end); + ret =3D mseal_apply(mm, start, end); out: - mmap_write_unlock(current->mm); + mmap_write_unlock(mm); return ret; } -- 2.50.1