From nobody Sun Feb 8 02:21:22 2026 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 5502636164C for ; Fri, 16 Jan 2026 10:28:38 +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=1768559319; cv=fail; b=RH8CWzRraIClf6Sq51RTyKrSxzJHBeQ7cQ3xAcQ1XKdp+oM3li6ARjtLmIY211oj4ccWsiahpEZw3RhcWK5QhPzazeK/uydTTc0pUZ6vc/CBORTNPupwU/9ccXFuDPB2IFC6ayRyYYs1xDgbpILQv9/d23TUMKZKhkNAAmKrl2I= ARC-Message-Signature: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1768559319; c=relaxed/simple; bh=JmUgDCTlaSuLzND9mtKTimNiPr+chHd95mPYFo3s6TM=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: Content-Type:MIME-Version; b=GmS1cUGdR6aTGqDE3kpFp82feAgPewtsyJkbNb94NvNyNMM56Svl4DEzU1vzQp5eggW4VXnCt/IPTeRiN0urY0We/LGhEFtRX5fZ/zkv12XY6Pgjyo4qVC9bXMcpYSiA8RytVh6tUyGwCJDcds33eA5FWgjRY3MPykVHD4hHg8E= 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=UCU5t6mI; dkim=pass (1024-bit key) header.d=oracle.onmicrosoft.com header.i=@oracle.onmicrosoft.com header.b=THLYtFVB; 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="UCU5t6mI"; dkim=pass (1024-bit key) header.d=oracle.onmicrosoft.com header.i=@oracle.onmicrosoft.com header.b="THLYtFVB" Received: from pps.filterd (m0246617.ppops.net [127.0.0.1]) by mx0b-00069f02.pphosted.com (8.18.1.11/8.18.1.11) with ESMTP id 60FNOFqH1431572; Fri, 16 Jan 2026 10:28: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=vCwhsCAbVWvkWcsHZfG1NjhpJ9liIgn+fCwIi6wkPuA=; b= UCU5t6mIWfGNp1alxrwQ/0whLugDQl4/zDB6vypC/hDFKBNxeqzZ7TbCVHM+h7Uj kYqtMZffWkyRIBclNzR9EN/4D40I27ioVt6GIgANykVql60VzqkZTqmQaokmYprt VfpN2Z53t8JOfE1uWUVdsVcdkqlrZtC3Z07hlIWIb04y8UuG9DpUZilrA0O/d5zF /0+IeDll41I4/RClYWLbE028IzGohghQ3GiSQuHFEO3XlDUh+bdUJjitOKfY0EVb k3MbPxtKHxorhIfxFxYAQ+OIDY4IImPwWHECl8OiTQm4v9DvnZOKaT4aQAGddEEm jEdcZr4RxQWEvL8/dph1Gg== Received: from iadpaimrmta01.imrmtpd1.prodappiadaev1.oraclevcn.com (iadpaimrmta01.appoci.oracle.com [130.35.100.223]) by mx0b-00069f02.pphosted.com (PPS) with ESMTPS id 4bkre41sh2-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Fri, 16 Jan 2026 10:28:22 +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 60GAG4Xm029363; Fri, 16 Jan 2026 10:28:21 GMT Received: from sj2pr03cu001.outbound.protection.outlook.com (mail-westusazon11012001.outbound.protection.outlook.com [52.101.43.1]) by iadpaimrmta01.imrmtpd1.prodappiadaev1.oraclevcn.com (PPS) with ESMTPS id 4bkd7ph50w-2 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Fri, 16 Jan 2026 10:28:21 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=B2Ea83DeIZ94CI9Fjx7n3lGhS/N1HrnnejBB61vlMP+qtfg0YxvqZiXeIju9zLU7mvsuR/JJfwMtI06ZKghgkqwfju5mH9aMtqmmZQC9R2twSzufaF1vuC5WikqV4OIYDDMJzfw+wubwHLwspJZEpSU+n2xrDQu8MpOQslt//aGH9weg163KAyrnzv/zBEAtOpVveJGLDRlfq+VjNQiPghul70PWAH7MXvo/qj6HsUzu2q/Kmfm4JWYBsi3uXjOojDW7CRoHTwFG0IIYZFuFXZah8OTySzrKFmZpobm56phaXsNCedVfj0AZwOxQHEsZZRBVLUSyxNIlYigH3/g0PA== 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=vCwhsCAbVWvkWcsHZfG1NjhpJ9liIgn+fCwIi6wkPuA=; b=kG2DIWPXIcFFH5ck6EgGLboQg0OW8v3/r1QyCLxrjd16r0gkOYPXNT9YS3uGpgqSRhUZqSCDzIzh7UZFjsfHbFbqWszO845atfDEfzhO3eW8MQH2oJ+/qGLKFIQj863g1FbFaYNOtkR1BKp+lrvwWriKZ6oPoy0JAmKsTcilooWPgaLBs0naFfWDhNTQzKLoDPDBVB1yfhsjOKuvEZiN6wX/oqkOj6rOaHOubUdyBF/Fz5EYIO0oHRTpagujYHt2O1PPdT82oi+TX/r838pRLeXKoazCtR3IqJ0sKuSphFjGX2ySEo+P7Qb7x5NOh1t7rx9/QnPFawbuMjg64mnSzA== 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=vCwhsCAbVWvkWcsHZfG1NjhpJ9liIgn+fCwIi6wkPuA=; b=THLYtFVBJFsRrCBP+ouzhkfbj2hfXlzRqNgNcAJmE7mG7i2xZWCBEgRjU5LqzztjXsNeGiONIyHnSLAGtbSAt95B4QiBwADVDsRn4L056AF99Phlc036Pt5hQ1Jq6df8qhvJZlnKTZwuvBQ6lcHaPUrjC0hzPLAD4yvTzigWGBU= Received: from BL4PR10MB8229.namprd10.prod.outlook.com (2603:10b6:208:4e6::14) by PH7PR10MB6084.namprd10.prod.outlook.com (2603:10b6:510:1f8::10) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9520.5; Fri, 16 Jan 2026 10:27:58 +0000 Received: from BL4PR10MB8229.namprd10.prod.outlook.com ([fe80::552b:16d2:af:c582]) by BL4PR10MB8229.namprd10.prod.outlook.com ([fe80::552b:16d2:af:c582%6]) with mapi id 15.20.9520.005; Fri, 16 Jan 2026 10:27:58 +0000 From: Lorenzo Stoakes To: Andrew Morton Cc: David Hildenbrand , "Liam R . Howlett" , Vlastimil Babka , Mike Rapoport , Suren Baghdasaryan , Michal Hocko , Shakeel Butt , Jann Horn , linux-mm@kvack.org, linux-kernel@vger.kernel.org Subject: [PATCH 1/2] mm/vma: add vma_is_*_locked() helpers Date: Fri, 16 Jan 2026 10:27:47 +0000 Message-ID: <500845052f79ef0e23aba79fea767a42bdddc447.1768558900.git.lorenzo.stoakes@oracle.com> X-Mailer: git-send-email 2.52.0 In-Reply-To: References: Content-Transfer-Encoding: quoted-printable X-ClientProxiedBy: LO4P302CA0040.GBRP302.PROD.OUTLOOK.COM (2603:10a6:600:317::15) To BL4PR10MB8229.namprd10.prod.outlook.com (2603:10b6:208:4e6::14) Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: BL4PR10MB8229:EE_|PH7PR10MB6084:EE_ X-MS-Office365-Filtering-Correlation-Id: 45e77c47-8ca7-4c07-faf5-08de54e9eb34 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|376014|7416014|366016|1800799024; X-Microsoft-Antispam-Message-Info: =?us-ascii?Q?JAWzxiKmsOayniVblJ8GYMeZsup8APihX7uuPS3yGK1vsrl5S/OKOS74TOKl?= =?us-ascii?Q?UBdVVwJjCkRc9Q/gA7vpjFheZQ+SgU5ka4UKdSfBBsZl3gqj3MCK5+F2wAs0?= =?us-ascii?Q?LfwSskSdfOaW+mDOM+x8ihPhdVKQfkoEGqeu6WLlGJDO5gig3tBUa1yzZjSE?= =?us-ascii?Q?y6N9HVVLc7Cbuy7g7g1vNIwwDdNYV/qQdcPExY3lVxYEknYIj/9sG3nwSec9?= =?us-ascii?Q?kdiwLyzP86Az7SA5IWzO2nIE+ZQXBInhE1o8n4uBOPe+/5APmc4MJrQvdrgu?= =?us-ascii?Q?GnHgbuaTG8847K6LZ3VzrJZxGYdSzVn8gKmUtwkM01TjCHxBA8bUcwWqWAKH?= =?us-ascii?Q?o0PiPPZWPL+tozxYarc4QCwkerZoBSI7twJTODLLv+4qSmCTGSQZPFDNcuvq?= =?us-ascii?Q?rjVDrs7Y9ioQgF/9wQtj3W00gZgzzy+/iAdEiirf56CFYQmPUrudQMhzgFWy?= =?us-ascii?Q?iyyAQGnKWJBHQWTRt42xYhGQX9PaFPaDJPi/jD1XixpgIm8bV6wu3VuVVUGh?= =?us-ascii?Q?pkX5AD5VU/7gt1XpKCvp04hedcw+mCoCgWJYf1/1nzuOlfd9+CkMIaXP+FaU?= =?us-ascii?Q?mAFBgj5fVugdqvPkhcCEcVUe6LQU5ZhVmVsNFZtNEeoOepnFg7NzqU3QKlob?= =?us-ascii?Q?ITtzm6/M9hIV7BYVRAmLLBuSZauciTXetFQmUaZL7BkFsLe822ROnauyUKad?= =?us-ascii?Q?3C0wjKljAi4mE5dcxf3ji+SYLkU4FpPuUN6Qwrt+kEsflgyamxLqr+16S9WM?= =?us-ascii?Q?ud5AxoBPz0IbAW1ZfNzGbxLcTPFImTobrygZl6IQw70+RfcfzsS8cYXK9ATm?= =?us-ascii?Q?Ootzu/jqyIb/vsBqRknqqoIih7mZliq7D1RNbx19ZWj8aSPzWNb/cGcXoK5v?= =?us-ascii?Q?aN08ZS79pCmaV9Mtf5O/bAuydpF/CxJlgWCOkhvnqhvW3Hufa4HCZKZGA4Wu?= =?us-ascii?Q?v6XIpk/28ICOr93nk4buD4VZ4LxQvEVPQf/p6drpVYHg3NG3gwHRCNHiuY+t?= =?us-ascii?Q?cllL0VkayTwLRFLxJuzyhCYG9qqvfTgaoUKKxBcor0pSwN6jATRp8AFUPc65?= =?us-ascii?Q?9uXNYHaCHfDmlrBkltVcmXjRTyKDWyIbKlJ+Bp/Qkquy7uXrkJTE2BeT2mHK?= =?us-ascii?Q?2/CalEcQO36xQHxdXx4TGsGOXIyKu8ek6THvpQ63N2WoImnRa4Eaj5Bx0YYE?= =?us-ascii?Q?DeUgpx0IgiziR3PjtHcSUrBJPbdiTWCrlL/pfZmfwuBiiizt8aRtEKJdYnhw?= =?us-ascii?Q?RNGreHiBvnoBxMIM8BcECTrBNAxeQA9Vbx6sHIfUIb8lap57VJtczZykgB1F?= =?us-ascii?Q?CLrj9wIigbuaGV9wU+elM3O4+uVnwaoAiMzZN2MakJI92h6DsT6ISR5ZNx39?= =?us-ascii?Q?0KTYr5OhJ5RRLFpljTcobPiKdDEPuDKJvOvS1Q4X7ERSbxT0ZB12i5fJ24tt?= =?us-ascii?Q?gWWirYs0+LhT4Jq6UnMcVY5axdLqXssiWB+X5xYYQyDLWWyBsOjv6zQc4OOq?= =?us-ascii?Q?VW+FLxg7P0tX8dSaUPGFZVihP2zKoq2vFvJ8tvNyod1XYjlkZz40mXKkYqgc?= =?us-ascii?Q?zdYiAEYwu0KQD7ytBBQ=3D?= X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:BL4PR10MB8229.namprd10.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(376014)(7416014)(366016)(1800799024);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?qyN3I10YjVkNRm8q5FsaWdDoI424oPVchPFK8PLC7DoC/7i6oE/t9w+XH58m?= =?us-ascii?Q?8393eaNNSNO9SfWqYOrHTjbYuBjy0Dl3d0BWA96meR+epi15jg3OrM/kHwgl?= =?us-ascii?Q?P52RWZ2kgV/4k1/uGdHdBpGmDFT9u0n56HOyrSD273QlI7vErUVC/uCjXAeD?= =?us-ascii?Q?87YJr69/GARUD2wcy9qzPAWnKzeCOOLrHO9sEOcBXE6eTn7en11qrIS7UjX6?= =?us-ascii?Q?X3GfpVi4XEuXBlK9dWNy/VAwlWwnMt+IpWKl97Rj5G/ZGlNoYIDPCPxyEiSM?= =?us-ascii?Q?2G7WzjhGNhbGUIkPRglly9UhFq4zU2vz30Nq3WxdI7LlWvo1CU+M627JNMcC?= =?us-ascii?Q?Ib7PLtAt3v/LpJTIPuEnSRFkZEYeU0ymHXDPYLQEGekVhpcOrtD+R67CJ9h3?= =?us-ascii?Q?nYTXXoTItgvT6Azky43erv7x+9/KKEwzpzbWJ2nI98Kppmgo+BSxIiP2jtEp?= =?us-ascii?Q?kwGmC64ND3MCW8ip8+Ucka63J8oL/X/1FNC3RumY1R7EuH/Mq/ykRtzFPnv/?= =?us-ascii?Q?2tD0pQoxfLVhsBxOCbI/3ZrjQBimM9a6Ye60e4SnsQVJYvgqNgtKviqGg+Dm?= =?us-ascii?Q?AF51uVsrlyedOHkO3h65PlrfoIDdy4d4loER9PFkWwt8J4hp2+QCKkoMQLWG?= =?us-ascii?Q?+pdtvRoTwxuAErY/RWr7K7dVkzGMKdAur4IlQ+4qGxhzzfmNZsf0yXFd9FI0?= =?us-ascii?Q?mLQFhkutz5uH89X8ekUXlAW6jX9+fWZcjwMbpRYa5VzOJIRBaQwku3rFxMv4?= =?us-ascii?Q?USwPNtKmx8xSjAWyN3crENW3SB9JQLj4rP6zP0aVaVFIN8wC24MvFURC8kjd?= =?us-ascii?Q?OAmUcCsJ/P490FxxBbzToPuYdW+4/9xJUIe4d2bKGKiJuMGyLmDLQ6h8O3ZU?= =?us-ascii?Q?hX/C6HH3lWXY4jJq2CJzPhWQOFXU9xWAeSM8WzWyFhJsXYTI7U0SlfDQoro/?= =?us-ascii?Q?+g8Wzx+OUj9PnV69D4A/5eoSrnshMTNyer6xO3U21M/rP3jj8pE1OsbNeRzX?= =?us-ascii?Q?YhGK4QDhAnfuR0g/wwMvhL0SNz0LO2ZgtRH9zRXSgrhGQQmNJPskj6lP9ljP?= =?us-ascii?Q?Bjo4T/tX8Mq3unJmXSoj+WTR2LNJk0H0ZePnzE9D1Ttj4rZskNRJT2FFH6Jz?= =?us-ascii?Q?osQuI9IPT7YdNUIPV7ZipMDi3rOSIq9Ip9s8cuGrWory58XWoTshaWOtm1MZ?= =?us-ascii?Q?OCpRPf0yG2MPZLTcj4ou1+S2zEQQKdd7p1Ji7DhZZHAllMyUumtaNnsffrpK?= =?us-ascii?Q?X168RRdjB3lJwopDl+8HSzBS9NLrhYyw8TNDHDOtao0Ed8dGQR7zhctqPBg3?= =?us-ascii?Q?NOL7w37v/emrE4jQoOmN4wME5ZQCGvS4s348MQbyubcG5CY74jGs8ioyCGiP?= =?us-ascii?Q?8YJU1Jy0QBGRx7V6U1uGhHIx+AFTDruszbie6VJesQ52dZhzqUDanhSKGaL1?= =?us-ascii?Q?1ENgDZJi8FNMEDsw1sI+p/J/7D1/LFlCFH/Bhzch7V39xa5Zd4/SnUapPqot?= =?us-ascii?Q?9AuK7Gjtqr1v1Z0Llh9IYc+rctC3MNG+2ZppEcFn4HsNeY+OzeOvtS7zaUkI?= =?us-ascii?Q?UgiDthXIi5fyvAVo+6g+Ok5MwUcK1IUrk4x2GeQY8nnEGk6CBhPUEsbkYQds?= =?us-ascii?Q?VkNJlDRvicLbXu/UOBS6QsT2zjbZxOjLkvISZ6AlVznLAqBtVb2xNLCUR+xf?= =?us-ascii?Q?f8PSA/siv5FLe9cqX69cH/cLA8psa6pjcAG3xa5Sd3z6FJPSJWHIn7m8XUVF?= =?us-ascii?Q?iXTcjhAcckLgEdY6I82r4JEQWsG9avU=3D?= X-MS-Exchange-AntiSpam-ExternalHop-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-ExternalHop-MessageData-0: 8Q130FgODxZ8EeoFnnffmpghMT08r9zEKHwkFN4CPfRavyScTsDhCOQWgFmXFoVJGlxRYj+Xd/C2drO/wdahF5OGSGbhe3SR3NA2N/1DvrPx4reXU7m54ffTkbMACj8/fOztU7jAuGU7adiS9GB8gMwirjZzm6FzVw15M/qd7T+Kn70WctRysp9ofJIovgbOZrHB5vFxtGW8EoxgVAC12jYpMZZscngLwFWG5nkLn2tLX7DHuG9oFMrmqzIcJXmcUNxj6cMT/B/3ndPI6HVI1pV2/YNNEENfsjLCkB0CuUXsRWTrg9PojwjyoBQqNG1XFP/U792tTuKHSK2wPu1JXaId7X5DZCgRLRGEnI/V0p0Jq47DLip7IYnsBx4H6qTjBA63mQx30B3F9nYrGqizkn32iSPtMJ8d6A8/SZ2nnyyRkhFEZd920LWB7L6E69u6EYgu50cqihbI9dL+1B88EOuct2BccbvLAv6EyDkg9UtRVujcquOYfvCwUVt3OOOrGsoX6tor4M914IGustqLR+VNTWkCoGBRNzksnv1aIIoJKnX0ghb61UIfihbsBB5lFRSU66RcBNjMChwsnl98GcOm+3H/kb5BUllMxuwo+fE= X-OriginatorOrg: oracle.com X-MS-Exchange-CrossTenant-Network-Message-Id: 45e77c47-8ca7-4c07-faf5-08de54e9eb34 X-MS-Exchange-CrossTenant-AuthSource: BL4PR10MB8229.namprd10.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 16 Jan 2026 10:27:58.4218 (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: zkga77QJ6YZ05ey58rxcF9nb42wq8fC2rCub2WoqT73XUoQ1vm0iwvK5VRiA6Rwx0GKJg8S7yuO5s7TC9g+w7RauJXB0Rvvj71DNfRh0JGg= X-MS-Exchange-Transport-CrossTenantHeadersStamped: PH7PR10MB6084 X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1121,Hydra:6.1.9,FMLib:17.12.100.49 definitions=2026-01-16_03,2026-01-15_02,2025-10-01_01 X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 spamscore=0 malwarescore=0 mlxlogscore=999 suspectscore=0 mlxscore=0 phishscore=0 adultscore=0 bulkscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2512120000 definitions=main-2601160078 X-Proofpoint-ORIG-GUID: cdLnykWp63aN3HPw1VwbKKXUoZ6BI_S5 X-Authority-Analysis: v=2.4 cv=YKOSCBGx c=1 sm=1 tr=0 ts=696a12c6 b=1 cx=c_pps a=zPCbziy225d3KhSqZt3L1A==:117 a=zPCbziy225d3KhSqZt3L1A==:17 a=6eWqkTHjU83fiwn7nKZWdM+Sl24=:19 a=z/mQ4Ysz8XfWz/Q5cLBRGdckG28=:19 a=lCpzRmAYbLLaTzLvsPZ7Mbvzbb8=:19 a=xqWC_Br6kY4A:10 a=vUbySO9Y5rIA:10 a=GoEa3M9JfhUA:10 a=VkNPw1HP01LnGYTKEx00:22 a=1XWaLZrsAAAA:8 a=yPCof4ZbAAAA:8 a=ifxR59YiP-webHxj34sA:9 cc=ntf awl=host:12109 X-Proofpoint-Spam-Details-Enc: AW1haW4tMjYwMTE2MDA3OCBTYWx0ZWRfX35djrMXwBHl0 fgHn2ZUT28X/tkoxwMfhiOEqNFl3BhjehCvBxBmh8OP4U+SHXMGNUvBMvukKXWKG2BwVX7h83ot lGavhz/WvTOvEg2Le3t50tam18Pw16Rb81/hAOoDfkGuurZ7Vt0PwTor822Q0ttdRnNxJDXeUjc OAh+sKocx1/nLxzm0jw5T4vC0vRYtkAqdtZbp1wrS8PGnX2Cj4IhcAJXMV0k+XayFx5fSWC6FSu CutJAFyiEi1l6Pq4edUDqc3JoFH/u+2P0eCzyMO2T+UUZVgRujZ19JfFZhyYyvCsJ3iEq3pYNrU V4xqcHKmObUOQzun1Ismr5q2GxI/n+S9JjuMO49f6cFfkqSXk73xmaZhIWQDjL8iaguCTZQwdE7 tpfc1lfVA8ujUiZhTekovlDDysv29zp9ylg/df0zICo0fQ5je4NT/zn57lr8z+0+tfDhmckUOBf ytsBiIfOO6sX69zSOMrSgNw4P2t4Betdccg3Aeto= X-Proofpoint-GUID: cdLnykWp63aN3HPw1VwbKKXUoZ6BI_S5 Content-Type: text/plain; charset="utf-8" Add vma_is_read_locked(), vma_is_write_locked() and vma_is_locked() helpers and utilise them in vma_assert_locked() and vma_assert_write_locked(). These functions will intentionally not be defined if CONFIG_PER_VMA_LOCK is not set, as they would not make any sense in a context where VMA locks do not exist. This lays the groundwork for a subsequent change that allows for asserting that either the mmap lock or VMA lock is held. Suggested-by: Suren Baghdasaryan Signed-off-by: Lorenzo Stoakes --- include/linux/mmap_lock.h | 24 ++++++++++++++++++------ 1 file changed, 18 insertions(+), 6 deletions(-) diff --git a/include/linux/mmap_lock.h b/include/linux/mmap_lock.h index b50416fbba20..cd51e0a43c76 100644 --- a/include/linux/mmap_lock.h +++ b/include/linux/mmap_lock.h @@ -236,19 +236,31 @@ int vma_start_write_killable(struct vm_area_struct *v= ma) return __vma_start_write(vma, mm_lock_seq, TASK_KILLABLE); } =20 -static inline void vma_assert_write_locked(struct vm_area_struct *vma) +static inline bool vma_is_read_locked(struct vm_area_struct *vma) +{ + return refcount_read(&vma->vm_refcnt) > 1; +} + +static inline bool vma_is_write_locked(struct vm_area_struct *vma) { unsigned int mm_lock_seq; =20 - VM_BUG_ON_VMA(!__is_vma_write_locked(vma, &mm_lock_seq), vma); + return __is_vma_write_locked(vma, &mm_lock_seq); } =20 -static inline void vma_assert_locked(struct vm_area_struct *vma) +static inline bool vma_is_locked(struct vm_area_struct *vma) { - unsigned int mm_lock_seq; + return vma_is_read_locked(vma) || vma_is_write_locked(vma); +} =20 - VM_BUG_ON_VMA(refcount_read(&vma->vm_refcnt) <=3D 1 && - !__is_vma_write_locked(vma, &mm_lock_seq), vma); +static inline void vma_assert_write_locked(struct vm_area_struct *vma) +{ + VM_BUG_ON_VMA(!vma_is_write_locked(vma), vma); +} + +static inline void vma_assert_locked(struct vm_area_struct *vma) +{ + VM_BUG_ON_VMA(!vma_is_locked(vma), vma); } =20 static inline bool vma_is_attached(struct vm_area_struct *vma) --=20 2.52.0 From nobody Sun Feb 8 02:21:22 2026 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 4DF3336164B for ; Fri, 16 Jan 2026 10:28:38 +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=1768559319; cv=fail; b=Xd8GcMvhI7h9pEifZbkyl+sS0KZwCPoLrsjrokfuv3HfKDeMcRhe1fQ68EtEPWhm084jNHJ7JaQdcCd/qSYabXtPjQyRy6N1XzisQuBA9PzVVW6hA3RUITnZELBVkrXNWy22L70mh++yHugVqkiSeqnbsY6OHjJms2zZ2jZ6wHg= ARC-Message-Signature: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1768559319; c=relaxed/simple; bh=MZkEahNPB6/XpSRC1DHexHFwiPl1MlUE1o+9/frsmUI=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: Content-Type:MIME-Version; b=nHqMGxyyeLxYIO6UP0hF3sz5RDDljDCLcuaDIa48Ds04AgMVeRX3GV9UFTg6swnwfPRWFlzD8z1Cd+NHqySxVSIXNAwsj9z/NyxC46a0AKCv9RMEKzZPYvsweNbHQkhzIi0iKNGjHO6ReG48G5h5RWgW+N+OJBeHQ3zfKVcUZDM= 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=kY4XDTw+; dkim=pass (1024-bit key) header.d=oracle.onmicrosoft.com header.i=@oracle.onmicrosoft.com header.b=duHXrtKv; 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="kY4XDTw+"; dkim=pass (1024-bit key) header.d=oracle.onmicrosoft.com header.i=@oracle.onmicrosoft.com header.b="duHXrtKv" Received: from pps.filterd (m0246627.ppops.net [127.0.0.1]) by mx0b-00069f02.pphosted.com (8.18.1.11/8.18.1.11) with ESMTP id 60FNNjRZ1431774; Fri, 16 Jan 2026 10:28:24 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oracle.com; h=cc :content-transfer-encoding:content-type:date:from:in-reply-to :message-id:mime-version:references:subject:to; s= corp-2025-04-25; bh=AbrnJVi24Plnj3t9QQxunZoQhalkIBHPiTuVT+Usw+o=; b= kY4XDTw+XBNrSoF4dmpKTsjsqi6OCZo/GiXRw4JsGlkU7EaeT6vdKhgo9H69s9Qo cEdxk7aQj+L8Wz/SD5GkyPFviYEYYrONiEoGrj4gUPtSAl8Ohy8aihHVcSzHesIs nitZmUr1xzJvqZB059T7u7k2hlgczbgDjzhC4oEfcDUPxbywu9GGQnAfsA/VvtGY NPZcIUkQA3smUvBtuPSuaaSswN3aPvOJhfvLAb6nBMwx1MdgPwm0i8CZGxhV4Ner rNvItPqi9ClyVXmAVRa5nfmdstaJyxJp/3odjSjkSQ4Z+NnEckn919FMHNymv+iJ ThgIFYmIiZjr5gUp8KergA== Received: from iadpaimrmta01.imrmtpd1.prodappiadaev1.oraclevcn.com (iadpaimrmta01.appoci.oracle.com [130.35.100.223]) by mx0b-00069f02.pphosted.com (PPS) with ESMTPS id 4bkqq59rhv-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Fri, 16 Jan 2026 10:28:23 +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 60GAG4Xo029363; Fri, 16 Jan 2026 10:28:22 GMT Received: from sj2pr03cu001.outbound.protection.outlook.com (mail-westusazon11012001.outbound.protection.outlook.com [52.101.43.1]) by iadpaimrmta01.imrmtpd1.prodappiadaev1.oraclevcn.com (PPS) with ESMTPS id 4bkd7ph50w-3 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Fri, 16 Jan 2026 10:28:22 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=FVz2tmMU+4oLB0Xw26iApjpCzX8Hs7TeQRucW38CLyDTaZzBx30c7OrAznu/RK0hVbWxWQ/vdXokT3Xe0fYa8N1r/5yXJOKb1hvLwCD+Q+Xj/3+/VXil0tekWAbhGitcEuiJLyirs19BjBib+uh0pv+g89Z3BMJzBETdLykrkqESPbOuy2/s1YDYyif4Q61NO9K41JRKuxeVos4hMVeacbxbcnU01Kq50xzmYXW3GlzvM3ROuTca3xp1RF/hVddvQ4oGA/7IuScUCqASdmDic39QwxEyPkT2UmPl1cw2d8Zq1Eq7Bbow74nBmb4mwPeBGN8bMJ4WhKqHP9PMCZVHBg== 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=AbrnJVi24Plnj3t9QQxunZoQhalkIBHPiTuVT+Usw+o=; b=elzBFwkQEgZIZV4AkNBBXgjMaigRfbwCF09I6qUbVUgeOsPGnPdw/9KsKs5PUHamK5t59s5uNBI9+/M+RbZrRSk43BXZEMyrWMSXX3t2K6k0TY4YHwAKzTz5Haf/xQs7rApIT0s+jgm+aGD+seXrlI5egw9QTwXLrGgi5rY11rs0aREJebR7JU9XzZ7qzPmd7Tiq4nlAIiSm5Zca/JqoDqwqTNDtNcyIoK7cD9gwJLhQtMGH7xtXcDUI9k0UIVmIS0fC6NuOkcGjcAUs/3i8+2WMgDMrN/Wxv8fLiMZ+BdUIrANNuDtbQ9dSWcFiybqwrmfIZfaiU2m68ru6YBHreQ== 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=AbrnJVi24Plnj3t9QQxunZoQhalkIBHPiTuVT+Usw+o=; b=duHXrtKvsGbXGJXUjckmg0bpX+ZpYnHUHyLSKt3ZrEiE+nzzo9doFTUPSPxkqjqmxLoe7zcwZZ2V5xI1AvI7qEZZKBl4xywjyoLIaMvampNw/mk61jjj2YA7YP5lgRoO8+IYLQ1B0IQ6zCxK4xZ+ctrtG2rfv0s3szxFQairiuM= Received: from BL4PR10MB8229.namprd10.prod.outlook.com (2603:10b6:208:4e6::14) by PH7PR10MB6084.namprd10.prod.outlook.com (2603:10b6:510:1f8::10) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9520.5; Fri, 16 Jan 2026 10:28:00 +0000 Received: from BL4PR10MB8229.namprd10.prod.outlook.com ([fe80::552b:16d2:af:c582]) by BL4PR10MB8229.namprd10.prod.outlook.com ([fe80::552b:16d2:af:c582%6]) with mapi id 15.20.9520.005; Fri, 16 Jan 2026 10:28:00 +0000 From: Lorenzo Stoakes To: Andrew Morton Cc: David Hildenbrand , "Liam R . Howlett" , Vlastimil Babka , Mike Rapoport , Suren Baghdasaryan , Michal Hocko , Shakeel Butt , Jann Horn , linux-mm@kvack.org, linux-kernel@vger.kernel.org Subject: [PATCH 2/2] mm: add + use vma_is_stabilised(), vma_assert_stabilised() helpers Date: Fri, 16 Jan 2026 10:27:48 +0000 Message-ID: <0ad01ca9836e803bbf487716d2d750aed56c008f.1768558900.git.lorenzo.stoakes@oracle.com> X-Mailer: git-send-email 2.52.0 In-Reply-To: References: Content-Transfer-Encoding: quoted-printable X-ClientProxiedBy: LO4P123CA0055.GBRP123.PROD.OUTLOOK.COM (2603:10a6:600:153::6) To BL4PR10MB8229.namprd10.prod.outlook.com (2603:10b6:208:4e6::14) Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: BL4PR10MB8229:EE_|PH7PR10MB6084:EE_ X-MS-Office365-Filtering-Correlation-Id: 1f48c3f5-2b34-4a1a-9fbe-08de54e9ec57 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|376014|7416014|366016|1800799024; X-Microsoft-Antispam-Message-Info: =?us-ascii?Q?Xz3rMPkzI9xSOuUIfmWGpSXI1PMZZOalVyn5Jekme52liwu/igoysznlFdnk?= =?us-ascii?Q?SDepG7rHBazgWH7wLbqV1d74x1TPJ4fGnJ5LSRXjiVNfDfvAqdBb6gNlPVB/?= =?us-ascii?Q?A0cpEUA2xyq5GCUoffJsY7Gpve4emMiSMEi3MlnriRm95dVm1LDLrbXCDQE4?= =?us-ascii?Q?k0hLL8m3OJfezZe981x/GdSnxuIwnuP1dHIwLITzGWKUa6SnYoSIHC2lQ6uj?= =?us-ascii?Q?OLAR5JxSKYSvGlxB1PJ6rvj9H8/uSGJ0INDeNQL3LklIB5oj42twOk69J4Ac?= =?us-ascii?Q?HwFvcWgB6IazE12FexrNhLYTmLYSDSCIjWvLqw4t99oYpEpcTWkkCHt/MZkN?= =?us-ascii?Q?2Rk9PYcLQ/yiOKFt8iGcsA28VcaxYTqK+qCdTiamkJdUy6N9Tpm2h0LzLIaf?= =?us-ascii?Q?I7zNZ4C3x6e+VvEpwUq9zaW8Fep+UPdzGebYYOVh1ybFHcEpGgcM7jcMrlIr?= =?us-ascii?Q?myRtvi5Sg4/1TDznLHeE4DgQuWjhQf//DOrwA/TddEQkDRa7HozXQw1LXgtT?= =?us-ascii?Q?Co+znD1J06JNjL689aDFPl+dwGHF0bQiU7amwzK4CugfH7Qe4UF5CNO9JdJZ?= =?us-ascii?Q?Hec2QkhseDSA04k5pcOySwYlsa+JJuqaIQ29SFCD95AdFYtrHRTrIuMRtM8K?= =?us-ascii?Q?PdM+IRyY1gn7CLo9QZOkPdwWosGk2iwMV+NypjJuVPRweDVnnx4/aFFaD1yQ?= =?us-ascii?Q?mIrDxkN3dCJlRA/rFuJPp93qnp8Xbv5amW4vP2d7PA6XYB+nTxg4vZ6y6JFb?= =?us-ascii?Q?7gUMchKhjg8GFCWFNGvv3KouOg6V1WT6Z46vH54Ka4lFrujq0qXCdGD74tuZ?= =?us-ascii?Q?MEBZs13HH6yuOYEu/zpLsDl82vu9DpvUAeUnHFQSGOK0FuUb0uyKjh5Mm3Dg?= =?us-ascii?Q?QCUOpUwDJN5JiRIpSrmDlM+Rf/pQWK5ioyGHNBSLVMaXRJw6MkpEHxnW0uev?= =?us-ascii?Q?Eue2dJ7A9LnTa51yrRSNXhrBuPOCAIirgIl+RjhFZ2w99pK/PS874RsNyGOX?= =?us-ascii?Q?eBcngvse+vGk6+LqlHIRWVXVD9XAWXIfAtepu2aO75yWbPNryQIysXhZxNfZ?= =?us-ascii?Q?d/2Y2mcJBoHEfM08xmaxMBSPRv47t/oPks8IrD8pD2l3wqST3L/DR70SAcmb?= =?us-ascii?Q?4mMMaocRlByWX9aQ5sFeLKwR/l/C5ytxn4JWcSQUg34WSJ0/6zQtNPomTSl0?= =?us-ascii?Q?T6SDh76Q70SYeuZkyBJ3d+DyGmRPKpTGOggqNbdymTckGiDoCdIVpGMtk4dq?= =?us-ascii?Q?FpijPn6LdjFNDx3xmSRE7NQYW7NIaHBCYFxiBTylWnM3HzrjKwtCV64AqNbK?= =?us-ascii?Q?Mu+vV8lDyTTa8GkuOoZNz/1iatCTR++D2SkvTH1uPO6YKcb4oxnNstXtZUbB?= =?us-ascii?Q?jN77aKNbpUXh97ILKegQr+Qw13pwmU42U3XFexCdCzs0fmepAPExke7YglRq?= =?us-ascii?Q?2h54BBKYriak/51YztI0qyqC/tAcn3d3e/ru1hAzyDz7pDoHSfKjGBIrnznt?= =?us-ascii?Q?5acb/craIfFpYZAlp1r3VWyKUIcOzq5a48QmE+Y+tI2rHT2qsmOZ12nqlv82?= =?us-ascii?Q?AE3dDWzHzDvcEOVlA8o=3D?= X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:BL4PR10MB8229.namprd10.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(376014)(7416014)(366016)(1800799024);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?69xMkxL5rltiFYpnBCa4G3Fdl47h4PGiUicXktMVkbIJcLunYICHiM0UhXX7?= =?us-ascii?Q?Im/gt+pfXJ0VJkCJWQac9MyfpcHItysnJtJd0qO3FJSx+LSQPb9vjuU8hlWu?= =?us-ascii?Q?ceF9oizC4xzd3ndgAsyoKin6jBRx7nYYlek41q6n2srr8vD1FmV3V9vzn3Ua?= =?us-ascii?Q?J/65fTVE6AqW1MgZzpKko92siAkA1JeZfognY4tAIgCuHurDUahsJiYm75w3?= =?us-ascii?Q?9e+gyy1A1CAp3D3gqUzgf7ktrzMY0vdyCUu1aK9AJ029uZfxcxJKBjU/n2sB?= =?us-ascii?Q?hposdBMPsD4ZDZSHoBLWGs066rTg51+NPKY0RF2z+qK59NCrrmDoGEi7SNlk?= =?us-ascii?Q?j6qXPh54qfNl5MxlnDijA6z3e9AatGeTCRoC93vdCAfWfpFSPesrmpHhSXzR?= =?us-ascii?Q?WALBg+XnPStgGZCeoI8/FTVf0xLN5i5cB92WiLMJjKfTBx6IFsI2NR3DxZHf?= =?us-ascii?Q?oJ5yN9CyBbW7TYd+VPqwAqCmQ8G9orIyHNUQNj/exGXn0lNJsHV2m0rZNs/F?= =?us-ascii?Q?CU1+bzBmP00wk+tnDyarIxyGZXfpDUjcXiK6TpwBnTbNVoPT0ZjIsRqTkv3w?= =?us-ascii?Q?WIddcxNnaFWL2owDb2q90wU7v1zTZGxFnEF1IPOydl8Hy6TuIrrprQ24fyzD?= =?us-ascii?Q?e04wVbGIrgxvMjPdiYmFC7VN9I28+0hKzmssJLbNm7Bl51724uP3lbHq/nuK?= =?us-ascii?Q?ocTHgB+woImoOyPRtYg3xdlPkm4p7v3ho/pHPgcnwS8tTYTBCoencl4ABfKR?= =?us-ascii?Q?8lwWnBULjydbUyDwYhqEyWzi9mZLeZ3W3FgvW9YRAvVC2kvmfKQ3I/auhqB5?= =?us-ascii?Q?Xu13J1aR8hQV7F8EQUnL/Ff+VGZTy3UOWCM/k58exYd1j8jSba9ZibKGTUCv?= =?us-ascii?Q?vwjKuoEffUu65Egj1zXTMXbUdTmfPmw9Z5hHfUpKUMaSm5SDzOa9zXb+1NN6?= =?us-ascii?Q?m7MQb3gaf6mp7cGBEZXOYMVWOD4/LGbNQ1vOHwXKtbDL5Jq+E6ggAIBMpHVw?= =?us-ascii?Q?FjhbT6T7Q5rcDI0n7+0qHVeJLqUGBcDkBxSh3k5Xxi4XPYerAmvptd9g8Q4I?= =?us-ascii?Q?mWV228MCVOXH1F40XUWJ+7pv68OIE+JaNpNk3CwsnQbCf/vDBk3a6kP262wo?= =?us-ascii?Q?eArueq/buREH0OSEhN5SrtISvzLHfhj8sXOfbdQYJ70FN8MQ5Uo9QeCvLEON?= =?us-ascii?Q?M0DePJsn2br4DMh/Bk/ZX8lqKk6gcZIgJFDFTQc1GSCGaoJS+wMSK5VPZE3R?= =?us-ascii?Q?BJvPCKaZE/eDldf3GZCgyYxRgoVIY2vKHQOgjK2Bt+oTznOUpmrCVhqA3hbN?= =?us-ascii?Q?jrcmkCP/bZkASIm/A0SPAjVu3BQ+B3ef1WV3uiCt9xzryeCSUH4McoU/VisP?= =?us-ascii?Q?33v533dbUgauBvwgWoa2llZTYI7+ce1DUaE4b7oLwU1DKr9J70F9g9HIJSnY?= =?us-ascii?Q?uqJ7Xu5ZLJgl9l11s5u17S6WhGDd0jYEIcWrpRNtoOpqjCmW6nWM1bpsGKv0?= =?us-ascii?Q?ZGvi+INnVMxEjofk+QkKHTj2F3J1aGekSoGVcon4TuFoNL94nP30pPkzRmtO?= =?us-ascii?Q?VB8G7wfN/vJC5F1uP8Up+18cVjxmDaEZ0aP0p88ROGYVN3yUcQIldQdEMMPV?= =?us-ascii?Q?p6oQYhoKlcDpnwkvmk9uGe/DOEgwdN6LgtnEr+F001yKQaA9MmtRIU3jc59t?= =?us-ascii?Q?cc24cKPdioP8I93Kg9XXREz8H6r/61Ppqc1pSkwxt4c2qeeff1dESdx5fPhu?= =?us-ascii?Q?UUugw6H6dhrNBYM3SP2N0IDAsul0N3w=3D?= X-MS-Exchange-AntiSpam-ExternalHop-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-ExternalHop-MessageData-0: cldcuhXBiuEdshxNrsP+FnXDjX9+MdLxd8bpZdS2GApA/kcaAwEc93yGeaMQrW2e+mwLARhdxyPAGBQZu41PTdMqJlUEJZUcYMzpb+Z1pWTKOXtpxciCSi3joeEtssrexCCtlLv1/D3EfnQ2Y0YsvPAuhq6ytTYWJbUmtRVhEwsw1sl9U4vp1OSb1dPH9ybi0XBO+hH9ILmbW5EBNStgeMO6tAbzfKzBhLvXtYWrIqrqjdDTgtQI4BP51UPVvGvnFOdrpNwM/nQnTwSUsW9h12683bVmpd/0T10hSW8cZSlQziOJ86/uKA//2n30o7dwkgkKeppIIfqzV91UxfaPnyyGXJ/0BmW7imkElux9mq3NI85a1GQwLZk3xwYKEmhopsR0N/TsxN/FOtorgVZkWJ3iAchhrVpvLKRfGsP+iWWbsSpgn8N560K1d7R3wr2eT5XvtUdbvTT6WMouRpX3kRFOB1I12wbxXRiiWS86KmaWhJdOqDWkMO8t4h12vRjUdgwMvfBDGaeFWZIa1hg3ph4cQXJEOsnIC62pBjrcMkAMWuL+wHfQTAoQo9RJTQoFzy9p1puq03JWyNDjc//xPTamEiN9zhCZZBhCWFV38ts= X-OriginatorOrg: oracle.com X-MS-Exchange-CrossTenant-Network-Message-Id: 1f48c3f5-2b34-4a1a-9fbe-08de54e9ec57 X-MS-Exchange-CrossTenant-AuthSource: BL4PR10MB8229.namprd10.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 16 Jan 2026 10:28:00.3896 (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: gqbGp5qvy+lvGcFzeJ3z0WUWf20QZ8+wT4Wh4vN2W81cDYdkT/AYG46LeRliSavAhkHhof4wWogAUGHt1IudpS2cDarOH36IEHPiWv2yOsw= X-MS-Exchange-Transport-CrossTenantHeadersStamped: PH7PR10MB6084 X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1121,Hydra:6.1.9,FMLib:17.12.100.49 definitions=2026-01-16_03,2026-01-15_02,2025-10-01_01 X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 spamscore=0 malwarescore=0 mlxlogscore=953 suspectscore=0 mlxscore=0 phishscore=0 adultscore=0 bulkscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2512120000 definitions=main-2601160078 X-Proofpoint-ORIG-GUID: D6p5f9j0U0O4Ukwkmmfwe3UoAUpH4Aic X-Proofpoint-Spam-Details-Enc: AW1haW4tMjYwMTE2MDA3OCBTYWx0ZWRfX2ofEQLuNKPY0 6PoblsV5BJyMkXtzs4qbGx1RLUaPvNeG35D2eWbf8wBwyc3vZTmq1zkmwFVPl6GRiwLi0mr3wep xCb8zHq1Q72aBfubwxwsLi/2wimbPhgYxcDN+iCTje1oxIW/zjCYL+iQB7mFdeD55IKpnHYZNM7 SXlaPZNsqSSH6O1cGrU5XmdZjwsnNTR4uSxrE2Tb1/5QOR5OXkxXDW1shQzxDxUEFD5ueMPWK6s tHh4xbRYUenFoyGlHElIAJlz5zOq1oUwg4zse+eW1MTei/h7HDABKkmvR0nhdCtOW/Ug0Ao8Swa rN5JjROdkRbtJbOXPTnCmw8dm4doX49JNY8500vVgp5Z+4FkPg1rr1sfsxQHi2esF2R8EBBm7/C SEBuJnPkjN3xvPbVt/r3soXUbdKzJyb3CD3KG8maFmce9aVusI5jgdWyUdlsW1GZiAIiejPRlTy 3pHHFyEj2uc5JRwIag1gOFdPxG/s19/xsWnlsALs= X-Authority-Analysis: v=2.4 cv=J9KnLQnS c=1 sm=1 tr=0 ts=696a12c7 b=1 cx=c_pps a=zPCbziy225d3KhSqZt3L1A==:117 a=zPCbziy225d3KhSqZt3L1A==:17 a=6eWqkTHjU83fiwn7nKZWdM+Sl24=:19 a=z/mQ4Ysz8XfWz/Q5cLBRGdckG28=:19 a=lCpzRmAYbLLaTzLvsPZ7Mbvzbb8=:19 a=xqWC_Br6kY4A:10 a=vUbySO9Y5rIA:10 a=GoEa3M9JfhUA:10 a=VkNPw1HP01LnGYTKEx00:22 a=yPCof4ZbAAAA:8 a=mkSj5z2EsP19l_LKqfEA:9 cc=ntf awl=host:12109 X-Proofpoint-GUID: D6p5f9j0U0O4Ukwkmmfwe3UoAUpH4Aic Content-Type: text/plain; charset="utf-8" Sometimes we wish to assert that a VMA is stable, that is - the VMA cannot be changed underneath us. This will be the case if EITHER the VMA lock or the mmap lock is held. In order to be able to do so this patch adds an mmap_is_locked() helper as well as a vma_is_stabilised() predicate. We specify this differently based on whether CONFIG_PER_VMA_LOCK is specified - if it is then naturally we check both whether a VMA lock is held or an mmap lock held, otherwise we need only check the mmap lock. Note that we only trigger the assert is CONFIG_DEBUG_VM is set, as having this lock unset would indicate a programmatic error, so a release kernel runtime assert doesn't make much sense. There are a couple places in the kernel where we already do this check - the anon_vma_name() helper in mm/madvise.c and vma_flag_set_atomic() in include/linux/mm.h, which we update to use vma_assert_stabilised(). These were in fact implemented incorrectly - if neither the mmap lock nor the VMA lock were held, these asserts did not fire. However since these asserts are debug-only, and a large number of test configurations will have CONFIG_PER_VMA_LOCK set, it has likely had no real-world impact. This change corrects this mistake at any rate. As part of this change we also move mmap_lock_is_contended() up in include/linux/mmap_lock.h so we group predicates based on mmap lock state together. Signed-off-by: Lorenzo Stoakes --- include/linux/mm.h | 4 +--- include/linux/mmap_lock.h | 31 +++++++++++++++++++++++++++++-- mm/madvise.c | 4 +--- 3 files changed, 31 insertions(+), 8 deletions(-) diff --git a/include/linux/mm.h b/include/linux/mm.h index 44a2a9c0a92f..8707059f4d37 100644 --- a/include/linux/mm.h +++ b/include/linux/mm.h @@ -1008,9 +1008,7 @@ static inline void vma_flag_set_atomic(struct vm_area= _struct *vma, { unsigned long *bitmap =3D ACCESS_PRIVATE(&vma->flags, __vma_flags); =20 - /* mmap read lock/VMA read lock must be held. */ - if (!rwsem_is_locked(&vma->vm_mm->mmap_lock)) - vma_assert_locked(vma); + vma_assert_stabilised(vma); =20 if (__vma_flag_atomic_valid(vma, bit)) set_bit((__force int)bit, bitmap); diff --git a/include/linux/mmap_lock.h b/include/linux/mmap_lock.h index cd51e0a43c76..d87a07608295 100644 --- a/include/linux/mmap_lock.h +++ b/include/linux/mmap_lock.h @@ -66,6 +66,16 @@ static inline void __mmap_lock_trace_released(struct mm_= struct *mm, bool write) =20 #endif /* CONFIG_TRACING */ =20 +static inline bool mmap_lock_is_contended(struct mm_struct *mm) +{ + return rwsem_is_contended(&mm->mmap_lock); +} + +static inline bool mmap_is_locked(struct mm_struct *mm) +{ + return rwsem_is_locked(&mm->mmap_lock); +} + static inline void mmap_assert_locked(const struct mm_struct *mm) { rwsem_assert_held(&mm->mmap_lock); @@ -253,6 +263,11 @@ static inline bool vma_is_locked(struct vm_area_struct= *vma) return vma_is_read_locked(vma) || vma_is_write_locked(vma); } =20 +static inline bool vma_is_stabilised(struct vm_area_struct *vma) +{ + return vma_is_locked(vma) || mmap_is_locked(vma->vm_mm); +} + static inline void vma_assert_write_locked(struct vm_area_struct *vma) { VM_BUG_ON_VMA(!vma_is_write_locked(vma), vma); @@ -339,6 +354,11 @@ static inline struct vm_area_struct *lock_vma_under_rc= u(struct mm_struct *mm, return NULL; } =20 +static inline bool vma_is_stabilised(struct vm_area_struct *vma) +{ + return mmap_is_locked(vma->vm_mm); +} + static inline void vma_assert_locked(struct vm_area_struct *vma) { mmap_assert_locked(vma->vm_mm); @@ -444,9 +464,16 @@ static inline void mmap_read_unlock_non_owner(struct m= m_struct *mm) up_read_non_owner(&mm->mmap_lock); } =20 -static inline int mmap_lock_is_contended(struct mm_struct *mm) +/** + * vma_assert_stabilised() - assert that this VMA cannot be changed from + * underneath us either by having a VMA or mmap lock held. + * @vma: The VMA whose stability we wish to assess. + * + * Note that this will only trigger an assert if CONFIG_DEBUG_VM is set. + */ +static inline void vma_assert_stabilised(struct vm_area_struct *vma) { - return rwsem_is_contended(&mm->mmap_lock); + VM_BUG_ON_VMA(vma_is_stabilised(vma), vma); } =20 #endif /* _LINUX_MMAP_LOCK_H */ diff --git a/mm/madvise.c b/mm/madvise.c index 4bf4c8c38fd3..1f3040688f04 100644 --- a/mm/madvise.c +++ b/mm/madvise.c @@ -109,9 +109,7 @@ void anon_vma_name_free(struct kref *kref) =20 struct anon_vma_name *anon_vma_name(struct vm_area_struct *vma) { - if (!rwsem_is_locked(&vma->vm_mm->mmap_lock)) - vma_assert_locked(vma); - + vma_assert_stabilised(vma); return vma->anon_name; } =20 --=20 2.52.0