From nobody Sat Jul 25 22:33:06 2026 Received: from PH0PR06CU001.outbound.protection.outlook.com (mail-westus3azon11021103.outbound.protection.outlook.com [40.107.208.103]) (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 1CC363655D4; Sun, 12 Jul 2026 16:57:23 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=40.107.208.103 ARC-Seal: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1783875447; cv=fail; b=rkNejG+wTm0MybFErH0l/qB/L9ObC0rKgKVL5wzNfL+yjeLnIVyjB81aGRdQBJKQhTvOfeAhc81BWFGZTYio/H8TVu5tEp/ULHmchR8PcJodVsOzqUNpOyPrPpg+UOuIC04iV8oo25jeiaZqSfr4kxis3M8XM5dki/CogvAjuBI= ARC-Message-Signature: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1783875447; c=relaxed/simple; bh=fC7/UjpUBETYpcNwgSUH/OIoKeGj5zNm5XGDJIx7sFc=; h=From:To:Cc:Subject:Date:Message-Id:In-Reply-To:References: Content-Type:MIME-Version; b=Cgy3YXmGUAI7bjc2k7b1WSavBqhk+9HuHNJ30qjYnPBvdTIYVYqR8kSpB6/FnMP7YZhl8gnFL9oxPuuXUP03zuFtQn35OsAQiFnj5OGmyt8BCsYyE7AmrMXTIy4QiFbHzYPHKdgMrFV7NP9WzZugSBm5B5KjTybzCUoPz87s7b8= ARC-Authentication-Results: i=2; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=thelustrecollective.com; spf=pass smtp.mailfrom=thelustrecollective.com; dkim=pass (2048-bit key) header.d=thelustrecollective.com header.i=@thelustrecollective.com header.b=gnVM8ZEM; arc=fail smtp.client-ip=40.107.208.103 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=thelustrecollective.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=thelustrecollective.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=thelustrecollective.com header.i=@thelustrecollective.com header.b="gnVM8ZEM" ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=Ys/PFojuK3IcvHYxic/i1aC2nqZP9b5ucF2ivanqCjH0EvOMRIbYSFuT9BrwDgXhEVToUqzKqjDI6nJudiUifEDbP4FthBzx+mz5epZ4qDaLpsFikAUvfj6ie9rDEtqrnsnY7JfyJnSUlvPuEvJMLPXFpndUrQl5U11OpMRN2ZiMTdT0UNdlpnpcy6JyTM51OQOp9Aa54tPWliZTXmR0kyUg1hn9Yg4hO6dFYDPYGZ1QpwrZNoXvGxBtZ158uH1JG0Jl7n2V3swsVKY4yozQjpRYkD+75/9yTHw+upe68xVbB9yW4Oq4MTa9idINGRj9xswtVzjy/pcvPvnPO484bg== 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=SXYZbtylJ0maHI/y3r5JjLHzVcaXwYFwSUY9PbIPyFs=; b=Jdd+Bpgu8eN2vU32jahocMYiWIX4kX+XoLFjR5tlgIR7BIoHleGf5xpJosTBLctnqsDaXBUjM0pTCjY2s5e6cEuAXtosptG9skh5g288JV8puTQcTNmaFwiMZBPg4dCpofttu92kP1ZeWu77nfVqAq57yxfTVhMdwaZ2kVkH6NXoZ62zODxM6YRUVuAVxXhDx9ors3H072J84tDdhPSW1vCqFOlZam//gIjJPOfAGS7S+S5c+eVQwfMoP1f1AHfWABJ61MoroE3pQtZoYktMH8+l3C7uugtwaffWEIhbgW8HoFIzeMTfGqRG1mLSEc9hQRBE2qQpVAg6gPmQuS+2Qw== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=thelustrecollective.com; dmarc=pass action=none header.from=thelustrecollective.com; dkim=pass header.d=thelustrecollective.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=thelustrecollective.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=SXYZbtylJ0maHI/y3r5JjLHzVcaXwYFwSUY9PbIPyFs=; b=gnVM8ZEMmh2+CLZwa9ZhfHEWZ+7ODFQC6pn1Bkj1+BPzaaq3CR2zk+KPXMYDSjTBsCxAPKoEKH4Jrnym8tNTji+Vc/7SMcYC5qIPsVAATZ2aIIm47f1aiEaFsQFyfJy06DTw6OzPlgsidfZ+UFYl1wDDOo1xvOGy3G+nwIrseAPCs+EU1NewMmQ6F9A7AKxWdfadhxwFW/P64Qzh+Psx7uzU//4eC3Wf2Ap+IRBMc6aHmJZ/HPhtWiT6JHP2KYzLrTqxIWDzwKMmodBjOKKiwKW+UZBJhUABx4DSofQmqHPx2tf7H7En9umkMfWGBwF/tqp9wlcg4Gd7DUTaUiLavg== Authentication-Results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=thelustrecollective.com; Received: from DM6PR04MB4682.namprd04.prod.outlook.com (2603:10b6:5:24::20) by SJ0PR04MB7488.namprd04.prod.outlook.com (2603:10b6:a03:329::10) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.21.181.23; Sun, 12 Jul 2026 16:57:19 +0000 Received: from DM6PR04MB4682.namprd04.prod.outlook.com ([fe80::fa5e:6e7f:2655:bfee]) by DM6PR04MB4682.namprd04.prod.outlook.com ([fe80::fa5e:6e7f:2655:bfee%3]) with mapi id 15.21.0181.019; Sun, 12 Jul 2026 16:57:19 +0000 From: Timothy Day To: linux-ext4@vger.kernel.org Cc: Jan Kara , Marco Elver , linux-fsdevel@vger.kernel.org, linux-kernel@vger.kernel.org, Timothy Day Subject: [PATCH v1 1/9] ext2: fix ext2_xattr_delete_inode() context analysis warning Date: Sun, 12 Jul 2026 12:56:02 -0400 Message-Id: <20260712165610.366474-2-timday@thelustrecollective.com> X-Mailer: git-send-email 2.39.5 In-Reply-To: <20260712165610.366474-1-timday@thelustrecollective.com> References: <20260712165610.366474-1-timday@thelustrecollective.com> Content-Transfer-Encoding: quoted-printable X-ClientProxiedBy: MN2PR15CA0062.namprd15.prod.outlook.com (2603:10b6:208:237::31) To DM6PR04MB4682.namprd04.prod.outlook.com (2603:10b6:5:24::20) 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: DM6PR04MB4682:EE_|SJ0PR04MB7488:EE_ X-MS-Office365-Filtering-Correlation-Id: 0b5d7773-4dcd-413d-c27d-08dee036a293 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|23010399003|376014|1800799024|366016|6133799003|56012099006|18002099003|22082099003; X-Microsoft-Antispam-Message-Info: JWILGKLJ1YuvyUJZyp1mk2aGy2NWPSdX27ZAPsy+vZMGjbbg0mdpDzSeuideBpzf31xw1SJDvw1Xvim2FcQxlyE0twclHn+wc5pc9OsxpF3xtaGbu0f6zmGYXXGK6BufUSBjricofyNpQsRnzV9KtB0pqvdfCb/m+lOMMshaDmZbETQYC29rcQa89FfemJAhRhJJ6T7V2PnFhB9cgXR1Wt/F8PKcVcFI7nCocK8AxUuN2HFFrAHexfEMBg445gYjpF7LDOntqdUNvXiYAatyM7Y+HFeiyHUFoqMuksJTx+2o+0JAyUj636BLxEICopOzi4n94p4GaT/p3PIBlRNrToHJrs0pJ2jHt3Q0zRY/d9kTZT/SVHurXM4Ad0LWmDGWWKAwmZFRLGnSpwT89n2k46YxZUprrIM6Z6yEFpcyaRZ7r+1qlhaD9+6mwk73u3wh/NbvehttDxYN24EYovGHof6Rd4vTWhl9WVg/h9/YXP9lX4g+Gkr3UDT7lmcnt7EpjxjFNoJT1kxsKsi4J/2tgXfJt0qz6qb8aEHlNWoL1UjWpnajb5JKIHcpMscfM8DndC8qU/8SSXO57b1vC1MK/mu/T+7AdU5eD4tQAtW9PfHBzIWUsJvSduieKU/DpR3AgIlCFnxKOIPtzYZ7DqDRn4CirSIsX6QkTIn7+OH2/Dc= X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DM6PR04MB4682.namprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(23010399003)(376014)(1800799024)(366016)(6133799003)(56012099006)(18002099003)(22082099003);DIR:OUT;SFP:1102; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?O6AVV1RFk4f5WGcXIcmu3tMOc0OPi9Ysp8JnseDlTt4TPejSwiFHLbdgBNiP?= =?us-ascii?Q?J4/RAilvxhSDO+SmKHT6P2ICCyzlu7QQdhlVCfjSDbwJdafk7NAUeb4INM8L?= =?us-ascii?Q?jghGdUe1wIm/iVa3iNUoyE2c+UMX+Y6lMldfnd1QgOzQFtSSvZoWawDYUlz0?= =?us-ascii?Q?5xLbZbMSyr5yZKznyVkN/1wT/RpcGVM6oUY7UPZmHMipYb1jzTg8hJEeEaTr?= =?us-ascii?Q?vQOyQeenq1/qN8kF7+uzrE9iZ+z4OsBv0PoIQcCuFHLRxRxaa2diEYgxicIr?= =?us-ascii?Q?XeoUc0lNf6HqI7tQGKohnBOHFvJZh3t7U+n/VtAQM89cag7hyEqM6beX6s4k?= =?us-ascii?Q?a4MI8OT4RCem1DPwU6r+tN273imSoBDvKawk4pxC/ZIfofTzfBbKJKTFRiWT?= =?us-ascii?Q?xPjKy4uI1Vvq+g8tYykNY0yEVc3n7v9v61Ur20mKamjkPoG3XcQOntsFB+5K?= =?us-ascii?Q?IOJ0yiE+l+hUeu/Chp2uoSwCps+Ws/uX1VZfKoekqsXXDErvgSmK2G1EEsK9?= =?us-ascii?Q?ZiagJEsReJkaWdfl+7qckZ3Lcez/G3rI7grBUh9LTSVVB1O3qucB79smTuzl?= =?us-ascii?Q?dW+h+k2DOHjjG8SELZIrf/tcIA2KlCD2yFpBWQZvhjXNuuJdyAF1e2+7vaQn?= =?us-ascii?Q?7x41Che+rhZ41DMeWN1mFxZI3C4aYxf9OfImKNYh0lRE8DQpc5xNz0kNMhI8?= =?us-ascii?Q?Hm4I73gxlf52VIHL7BLLAJhH9LGfO4Yh+SfU6S+rVhxPv4hpqfpTSlrsyFAB?= =?us-ascii?Q?kIY7yXaC1gJ2dwj39XhhhPYuYiRB3XDzfFsfY9fgBvd6FF49lFqvlCKOqaDX?= =?us-ascii?Q?eX+Ur/nES/aZkn04Mlrt11F2XmOdU6fKxGGuLB86CYthHqBmxPcrvoDqcd00?= =?us-ascii?Q?KYzB0mNMAtpBZ3U232YzHe8Zw9/7RbL7l2dXZUn1IhS9r3ZdYq47U12l3mT2?= =?us-ascii?Q?Ab+F7saNZzMoi6aU52BVxLOae7IkOdR7cgQ7Pi02nUasNyXqQoDA7K6z3mUH?= =?us-ascii?Q?T17SuQE0STcLTNiRBGmWg9syiyQ71ouXgyrTIJMVuB3pkBDpwaXr1Lll6WtA?= =?us-ascii?Q?VNI7gdXey3xXJEooVTpyEER9PeWfbZWVolgZ7oNvaQYyr8o2UVPJYtuNlPpA?= =?us-ascii?Q?rKwCXuw+gV+oeQln6sfp4ivePnM1ZzQoQy2aVcqaKcq5ZqEB/ikEaiyuNPI4?= =?us-ascii?Q?Jt2AjOOAjAGYmmhsLhqEmN4mgzXYfAHwt+7DlxYn+VMC98HQDaOgwvlu4rbG?= =?us-ascii?Q?IzcSzlaH/wP+6t0KUa4XSyzc1G52LGOH0bE4NN93hflxRIwxq3IZkFlvQ1Rx?= =?us-ascii?Q?kn+gPcMcg7WuO19nXjEmYa4J2+AQ81kNi9h3jqg7gsqx89MZdh3zo3Sg8fbv?= =?us-ascii?Q?8XJcaygPe3weghcJL3KNRLjzatMz40TecIWd77Sdrv0918Tn2Ol8xJvzBbnL?= =?us-ascii?Q?frTkJsXC0oB52BKuuwTt/U+ieJlUqOsekvBcBNtLvKxYUMY4tdaM8WQ0Ki0a?= =?us-ascii?Q?EqUIwt2ZS/mKU13uXbtBUhrJQ8oPVOuWqcm3gtnN9QXrmIs3dlKvdJc3wPbN?= =?us-ascii?Q?+RZ+EBEJLVV9z5GJxTTdGCeCNVORJtQY81tm3z2M7KorTiuJ0dWlt9o63vVb?= =?us-ascii?Q?oA0x8RvKcVFhtEjOmXJKELZPpq9K7Vq724j8VEzhs9zyUldxygGuB5YHdsKl?= =?us-ascii?Q?VJj2RTs8VSWXeaSaEy6IFEO59EfiIzVxajaAFJIYLEyiA3Fc6xKv/6nv40NM?= =?us-ascii?Q?vjb7s1QRTnzRecTJm4cG2z9ULz2rt2E=3D?= X-OriginatorOrg: thelustrecollective.com X-MS-Exchange-CrossTenant-Network-Message-Id: 0b5d7773-4dcd-413d-c27d-08dee036a293 X-MS-Exchange-CrossTenant-AuthSource: DM6PR04MB4682.namprd04.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 12 Jul 2026 16:57:19.6598 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 4c9dec06-8f2c-4233-98d5-ca3cb36218fc X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: XvMBoY3fvpGCYVaaNvCZm9CPxhFaET4+pIaE7VXszcE8QEpX2PCzi6Ij/7rSSd2/tnZ+3H4dPbx6Izwcm6eucwRAChOgldbJFQs/5HURhR4= X-MS-Exchange-Transport-CrossTenantHeadersStamped: SJ0PR04MB7488 Content-Type: text/plain; charset="utf-8" Clang reports the following warning when context analysis is enabled: fs/ext2/xattr.c:829:6: error: rw_semaphore 'EXT2_I().xattr_sem' is not \ held on every path through here [-Werror,-Wthread-safety-analysis] 829 | if (WARN_ON_ONCE(!down_write_trylock(&EXT2_I(inode)->xattr_= sem))) | ^ When WARN_ON_ONCE() wraps down_write_trylock(), it adds an unlikely() annotation which hides the conditional acquire annotation from Clang's context analysis. This triggers a false positive. Pull the trylock out of the macro to silence this warning. Signed-off-by: Timothy Day --- fs/ext2/xattr.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/fs/ext2/xattr.c b/fs/ext2/xattr.c index e55d16abf422f..e5ed27f2ae733 100644 --- a/fs/ext2/xattr.c +++ b/fs/ext2/xattr.c @@ -826,8 +826,10 @@ ext2_xattr_delete_inode(struct inode *inode) * here to avoid false-positive warning from lockdep about reclaim * circular dependency. */ - if (WARN_ON_ONCE(!down_write_trylock(&EXT2_I(inode)->xattr_sem))) + if (!down_write_trylock(&EXT2_I(inode)->xattr_sem)) { + WARN_ON_ONCE(1); return; + } if (!EXT2_I(inode)->i_file_acl) goto cleanup; =20 --=20 2.39.5 From nobody Sat Jul 25 22:33:06 2026 Received: from BL0PR03CU003.outbound.protection.outlook.com (mail-eastusazon11022104.outbound.protection.outlook.com [52.101.53.104]) (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 386D02594B9; Sun, 12 Jul 2026 16:57:25 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=52.101.53.104 ARC-Seal: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1783875449; cv=fail; b=QEG1OHqq5jmYAzzhgh5edqLKfhcCRB2gnAcpEFp2a5CvPHW5qKduKcV21abfpQdyqoFpjfW2FekVXffLXj7+bITJNfF/Q5NgqY/mrodfxptVomnUFgnu+Q55+XZ9/cBhCspyqx20GLepPlyOyObXUJ+f6sJTdxYcXMKTzspdKzo= ARC-Message-Signature: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1783875449; c=relaxed/simple; bh=ZxEryreiJnGlprW1LvgTRLUZ0wA23Lkt5geqtfD0qgY=; h=From:To:Cc:Subject:Date:Message-Id:In-Reply-To:References: Content-Type:MIME-Version; b=hAhw/mzLlTSs+coFThb2/PztXA1z/nFl1p13FcH+AXm7DZZfUU7kSwjI/bky53ygIi5OKuU08vxg2oK2qx0K78ZIw92wPBw2AWEeVvsN/tMDIolCjX2cSaRz6B+MMG1E61xd3OONXpS2xjIBxRyjIRjhSHkWwlvKuXIu3swsuPc= ARC-Authentication-Results: i=2; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=thelustrecollective.com; spf=pass smtp.mailfrom=thelustrecollective.com; dkim=pass (2048-bit key) header.d=thelustrecollective.com header.i=@thelustrecollective.com header.b=EsWbqi+j; arc=fail smtp.client-ip=52.101.53.104 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=thelustrecollective.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=thelustrecollective.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=thelustrecollective.com header.i=@thelustrecollective.com header.b="EsWbqi+j" ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=NPfH5m6DMv3dTcz3+AsNABP57wFuNPAuqMAkGVkrvGHlIifpGXyVH6pa8Fn0WiByAud4bktsuYqFcyzUpJPEQe7No+1ZHu+FBdj/PfPQicMpAnn6u/uYushy4u0fNUWVtBly7Fo9SvY3/xPHJdpOBrDDq4qbHtRLprwHQnYJ7lPtXdin9Zc6UWb3P6xGSfOQ834eQSqouE9CBqe3nsMb7xETAu/hXWvxMwG8dUgyb7mGb4aI0mFpTphiH7GkGM/TdKWFvQC9ZhIl3q6cTHP8xUHHBHnSzmHTh9KKBnTIT/Pp57cUIssihZZqA/llQEM+j6ozZ8/tUzKSEpUDXXE+yw== 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=sUoB8Su27kjC+Nur4TCWZsLjuXKfaq2oJRGECKkljKk=; b=nAGB7C/DRgCQP9W0Ix28bgTThUC1fy2jZFOpXtqBqOP2URUfgZSvFsQELFIHdX3Qo5rnADaaWY+guvOVoN947b2DTpVKIcsSiPZSg6Gaz2a7rGrrDeZ1akxh5SpvCOV/wbqIoZrHnzofEnI1ovMORDP1Z3KsIPk0kd2MV1PvF88I2T3LuddVEI30FiPD/8PFasxfHtNFINAFHLVxgfPtB3kSntAdwuOIJ5JX1zGE5htAajfeEQgS4dqr/21vgYchvSiHK6ELSZB/8w1V0i19cIeCQ4CGFf3leBDr/QaTXIFhQLPngpoAPFPHeTqHz2zwIkZ0mCtXggfwu423AXeq+w== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=thelustrecollective.com; dmarc=pass action=none header.from=thelustrecollective.com; dkim=pass header.d=thelustrecollective.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=thelustrecollective.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=sUoB8Su27kjC+Nur4TCWZsLjuXKfaq2oJRGECKkljKk=; b=EsWbqi+jjzrLtQ5oJIJ18zohCuv00MeIjLM8PIf57GoJu+dUOs97Zyu0Nz22w1ryW0QqjT9E9Fyf7aANhVPe9w6wJl9UQesPCx0HON5/l73WAmKeX76JHiERsQOGCOCKtkpg94CjCMdkZmfDwnWuN3riSClqXu2ydM7z66DMeS81uobnfYKAh2shjxbt3+IFWPC5XBJ1qgVtWyO1O1CMZxBZv6h9J7f6zSNvecquz02XRkyEvV5jRdz4biMDSr5f3OPRmk+2eEy68RN4XV38gP39XMonFf8thZDviUVqlqXdghYttlOB6YwUWNbbMH0WMO60zWL4ZonUXsLMYqk+iw== Authentication-Results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=thelustrecollective.com; Received: from DM6PR04MB4682.namprd04.prod.outlook.com (2603:10b6:5:24::20) by SJ0PR04MB7488.namprd04.prod.outlook.com (2603:10b6:a03:329::10) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.21.181.23; Sun, 12 Jul 2026 16:57:20 +0000 Received: from DM6PR04MB4682.namprd04.prod.outlook.com ([fe80::fa5e:6e7f:2655:bfee]) by DM6PR04MB4682.namprd04.prod.outlook.com ([fe80::fa5e:6e7f:2655:bfee%3]) with mapi id 15.21.0181.019; Sun, 12 Jul 2026 16:57:20 +0000 From: Timothy Day To: linux-ext4@vger.kernel.org Cc: Jan Kara , Marco Elver , linux-fsdevel@vger.kernel.org, linux-kernel@vger.kernel.org, Timothy Day Subject: [PATCH v1 2/9] ext2: mark s_next_generation as guarded by s_next_gen_lock Date: Sun, 12 Jul 2026 12:56:03 -0400 Message-Id: <20260712165610.366474-3-timday@thelustrecollective.com> X-Mailer: git-send-email 2.39.5 In-Reply-To: <20260712165610.366474-1-timday@thelustrecollective.com> References: <20260712165610.366474-1-timday@thelustrecollective.com> Content-Transfer-Encoding: quoted-printable X-ClientProxiedBy: MN2PR15CA0062.namprd15.prod.outlook.com (2603:10b6:208:237::31) To DM6PR04MB4682.namprd04.prod.outlook.com (2603:10b6:5:24::20) 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: DM6PR04MB4682:EE_|SJ0PR04MB7488:EE_ X-MS-Office365-Filtering-Correlation-Id: 1f67b0f0-72db-41a0-a8a4-08dee036a320 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|23010399003|376014|1800799024|366016|56012099006|18002099003|22082099003; X-Microsoft-Antispam-Message-Info: E9dUw4UIqWzVFE+8on81wUc7m6OwLH//S5RmWxHlnbOV6umUjPFou/72wsa/YNHlmBjTP+VQceYmPkXjrZR78eIRYoFZT96RXZcrYH50fxGAbWumJ6tLoFhLzIpUD+f/7J/Dvk1h29agoEuQA2TqRHsv54HnD7YvFmzb8a2D2bn9CmnR62E9otepJgOgZKhkabZVPmQwFTykVMvGmuw/Id0M+TU9+gzDQuWPLMHNgMVj8t9WfmUl56wrk75wwVPbDFBjHuMfs0vFw+8Sq26TB4FO8eAI7eJ1FLqmoTf14H2SOO+qcIUPMsAyz36yqeZSDgoLrUQA+yewZXuxXqHUJdNkRYIHcmA049p/qia6CFlEAv5aD9M1jTif5Qawkf6+lzfsIIzWtPDEwWdOG9/9i2kL368TPFJM9CU8psR4lnMpuiPdCIrgFdR32QqJB6SvLemOC6/BuojKwwU8EAAAtukGXIQeQJz47Ft9JzBT3EdWaEr/dG95df17GGlUTLiOQUI5Cc+HmLaxzK9y0tj4C5dkK36LflNUogsR0uI26DFVNj//hhIuvBxMNwNtoby/tjU7dQJmzanNVFJzMOXJhc2ykyiNtOGTuP7DFq39EzTvousDjRno9kdgCKrEiWNn/ER5zJXHWQUZ39ub5yJXcjVUsWC0KQUharLwg4ZWU34= X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DM6PR04MB4682.namprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(23010399003)(376014)(1800799024)(366016)(56012099006)(18002099003)(22082099003);DIR:OUT;SFP:1102; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?F2MzTblItKhDNrgSwn/fDb9qDGKsyTSh9xiWJU+vcQOc2/1x4Xo8SwBrt4Qb?= =?us-ascii?Q?hYaUQ1INZ7+xFGfArNIT+rOSnV0LKx/4jnfd9cdIdnqxBl9Hn2dWggTYz0iR?= =?us-ascii?Q?Dhezn+TnYCSC0l9HSGlVzcidyBrmjdN9KBVpg6Tk0+CH1R21r3G8k2J4nGqf?= =?us-ascii?Q?2OtHAvpr5IoJVEgjTscihI9DE+hMdD/HRwp1HZEDb+UtxxvnWZGlIkbgiZ29?= =?us-ascii?Q?loMo5x1UcK1IX8cb71rhZXH3hmLd02rdC6LzgR3XV5sR6rn+lmQn6c32yw2C?= =?us-ascii?Q?nbNdZuhTfC7TrMQZvvUH9NqnqgyUpfrdobKyKwo8Lb1f/tAB5nkc8g6THK+S?= =?us-ascii?Q?hURCjeyUYalQkc8NQ1V62SBLaQlhG5OfLra1VBe48XjaqbzUpCnvIeyPFESl?= =?us-ascii?Q?2lzRtHVEK6Ye7q0ecnY+xCBPesYay7VAM9eik1Ezl1exco5Do4IoKvRwAfHc?= =?us-ascii?Q?/XuXCgNanlNC0iQUGDjn53/awAG6+3i7WrraRXLHOhevt0efcCqUzqhPFJQo?= =?us-ascii?Q?D/FPFR+wLF6nBNchWVPgb/WxrC3raKKMH65vNI9goEu9sZzX3SlvMWYi0d2c?= =?us-ascii?Q?aNO7NM9slzDkkdbn5nDQ4EI158fx3mJY/vvlKtDMOM15hbGCDQrjYUOZb0wv?= =?us-ascii?Q?JD5FcFkTc4Shv3PWXJSHb1LUAsTniAAlUwxgflYAGU4yeWeK59Mai8BDJWpR?= =?us-ascii?Q?AgbiNEzCBWB352E8jq8PL27Df4jirdGGcEMJ5cY1YNqK7TA+OkGfeXNLwJRf?= =?us-ascii?Q?iCZmJ7XxlSs0RKJGhJkaEqduwQ2/HwU1pDjHRMC4r7Xom50EAdYvv4kgFM/r?= =?us-ascii?Q?DkZ9olXCP4GBEtCevInOyXtkWafS33YLV2xxgkHPdUzn5X4gvObYjqwf2jYm?= =?us-ascii?Q?xkG4kgXmwQmq5QQW9rbkQoUVvWiOfRpkJPYsk8q0HCt+17V2azw3feS2ssyX?= =?us-ascii?Q?NLT64/pCbBXqVwsZwBkKdzeZRUxlB/ROKm/LpCL/aH0u5H5uCrwvV2jok6fA?= =?us-ascii?Q?5nsfd4PvYTEaN/Nt0NDqtvCzqAo2yk5jmEDfkBHgDBpXlckv8oMQR0NX5p2i?= =?us-ascii?Q?GwIdIYLZO6OdqXU8HlB/p49Y3V5n28WNQyR+LkNR5hb7R+OnN8a8yKpuE8++?= =?us-ascii?Q?MNjv22b4tiNXWpp98/bg46evWNYKeqbZgcCxZINiPPNbe3c2gjthQsYuNATs?= =?us-ascii?Q?ESIkqd87e+5pa17dcmyFaIG8JhCENtsu6UogPcV0nncbWoQQg//9+SEHmDZl?= =?us-ascii?Q?ozw3PbuiA46gpp+slwThk/9OCzxXKHKBwH0J/dEbzgSJegMsTo/p+GR6bQ+W?= =?us-ascii?Q?14WD4KR+b50RLAm7ADh+uhgL6j0HgBBvHB0PCjPZw++4Z1WgMETGCe6BvuVO?= =?us-ascii?Q?jbsipGr3vmCnCPWofOVOL/sz+LSqU4TE0YQOydjQcE3hrs/ZX1bbQO8KnMHy?= =?us-ascii?Q?VcxAFWk8vRZn0MsNWvkH3qoo1MoiTZ0hEky9aEskRdww6/Rm9y7Jh8tUr51v?= =?us-ascii?Q?XF/teC4OPCp7/qNyez1Wrq3VNLJbwF6CaayPqPiz1NPUdD8vXP++44xi+lvG?= =?us-ascii?Q?E6vt30dPCvRLe9rTYHRSRWjfHrb3pEG9aE+MIPg3R+QSwjBovSQZ9M8N5K4h?= =?us-ascii?Q?P2YUXF5ucjBgK8BR7QN2wwNr/aV+SQaLuMF9NX0xY25+EJBrhyzV2XE8j86A?= =?us-ascii?Q?kq6jVClX2hUJmOIwRhrHkYCDhJ6YjLj6kp+Tewn5fzCbs32fJq3rL6gnNW2n?= =?us-ascii?Q?sFibFVZuA7PS9WeM1ir8VCrbNeP8Nbg=3D?= X-OriginatorOrg: thelustrecollective.com X-MS-Exchange-CrossTenant-Network-Message-Id: 1f67b0f0-72db-41a0-a8a4-08dee036a320 X-MS-Exchange-CrossTenant-AuthSource: DM6PR04MB4682.namprd04.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 12 Jul 2026 16:57:20.3883 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 4c9dec06-8f2c-4233-98d5-ca3cb36218fc X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: WK9OzQfDNLA+GO6GfAE8LtbvhaWNxrQgHmqT2tL52UdV9vgedDZfiChzT/Ilq+m2byOi4F21woD/SoytZGRnaNwU8l3X9OgPNE+TE7wTJXI= X-MS-Exchange-Transport-CrossTenantHeadersStamped: SJ0PR04MB7488 Content-Type: text/plain; charset="utf-8" s_next_generation is only ever modified while holding s_next_gen_lock (in ext2_new_inode()), so annotate it with __guarded_by() for Clang's context analysis. The only other write is the initialisation in ext2_fill_super(), which runs before the superblock is live. No concurrent access should be possible. Since the s_next_gen_lock isn't being taken in this case, wrap it in context_unsafe(). Signed-off-by: Timothy Day --- fs/ext2/ext2.h | 2 +- fs/ext2/super.c | 4 +++- 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/fs/ext2/ext2.h b/fs/ext2/ext2.h index 79f7b395258c2..e851d2a6be662 100644 --- a/fs/ext2/ext2.h +++ b/fs/ext2/ext2.h @@ -93,7 +93,7 @@ struct ext2_sb_info { int s_inode_size; int s_first_ino; spinlock_t s_next_gen_lock; - u32 s_next_generation; + u32 s_next_generation __guarded_by(&s_next_gen_lock); unsigned long s_dir_count; u8 *s_debts; struct percpu_counter s_freeblocks_counter; diff --git a/fs/ext2/super.c b/fs/ext2/super.c index 3999f8f3b156e..8c7f3772917bb 100644 --- a/fs/ext2/super.c +++ b/fs/ext2/super.c @@ -1125,9 +1125,11 @@ static int ext2_fill_super(struct super_block *sb, s= truct fs_context *fc) goto failed_mount2; } sbi->s_gdb_count =3D db_count; - sbi->s_next_generation =3D get_random_u32(); spin_lock_init(&sbi->s_next_gen_lock); =20 + /* concurrent access is not possible before the mount completes */ + context_unsafe(sbi->s_next_generation =3D get_random_u32()); + /* per filesystem reservation list head & lock */ spin_lock_init(&sbi->s_rsv_window_lock); sbi->s_rsv_window_root =3D RB_ROOT; --=20 2.39.5 From nobody Sat Jul 25 22:33:06 2026 Received: from PH0PR06CU001.outbound.protection.outlook.com (mail-westus3azon11021103.outbound.protection.outlook.com [40.107.208.103]) (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 4B2463655D5; Sun, 12 Jul 2026 16:57:27 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=40.107.208.103 ARC-Seal: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1783875449; cv=fail; b=ANkG24D5Q/9DZNAGvegCM7zhLCQsBMnsu8YJz5sgTH9Cj9WiDPISJM1ytZ2vbvFb2VQ8ut6SprBApzJf7ltYzJF9Gj/2VR9YoeSluZKs95zBu4v782LiokTQKsn7y7umD2JHJepPqndiJh1j+XkTFpPCuKoY9qVIP9Y06MU1VNQ= ARC-Message-Signature: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1783875449; c=relaxed/simple; bh=Sf+nKHnr9RJWUQ0mFM7CZNl64vzYvyNcbhHXa1SNAjQ=; h=From:To:Cc:Subject:Date:Message-Id:In-Reply-To:References: Content-Type:MIME-Version; b=m3HoKwVu4dqXJrHYNSb1p8Csa++Yv1Og1lAKT0fKN6JSgtJDxKSmK2La8ptHFR/L7MKkBJy68WHoE9sBkSE8QR8MtmMzdsLrqPZQun8icEsrWbIAEvpcq71aOaVTAK1KFOaDeTMKnMvve2/zYnwSbWdjZjBr5tsF6233Xe+2Q2c= ARC-Authentication-Results: i=2; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=thelustrecollective.com; spf=pass smtp.mailfrom=thelustrecollective.com; dkim=pass (2048-bit key) header.d=thelustrecollective.com header.i=@thelustrecollective.com header.b=bvuq5hK8; arc=fail smtp.client-ip=40.107.208.103 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=thelustrecollective.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=thelustrecollective.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=thelustrecollective.com header.i=@thelustrecollective.com header.b="bvuq5hK8" ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=g61KHAFalhzRYmVjwTaQFoIuMoXROtqJ/G/yHEvg5b5eQCefFKdK0sI7bqPssmUkyIbGZmPN+9ZcZw2BVpE94XassarLS9z5u/U7PgHhBNX2+iRyNqp290JOJ1a3k8uIgyr3Xuf3yxSpExq83K/p5TgpNzloJozDgVJya2wJld1Z6aXM/3ic9jOi59xx8JjefpXOirwxkryTWf92nsPu/7N0F8P9KuGhR1dsI/lUHb+Sp1qvgI1lEQ+efwU8TO2mb3fwNIEJIvCfTk+HAKZCGryjkaQ8QSZeyKNbOGS3N6VGfGFMrCx2Hw4yLG3vL+QUiw38V4NwlPotOrHUe+UIpA== 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=/5DCl5oJWFakbpn0ejXaAhyNKN/kJuyP3/0nJiQtSBs=; b=N1LQuRgXCiHHbWZgUegQhR0u2ImjTk60Am1ZSzB03S3Y4ZHSR8F6N0sjFZUwV04I3KZeS7VORIgNwcluqJUI/13OnE+oNo47XUMakP1dVRQakBkmswipXwlEMyKoTlADfVrVqyR+9B37RW06Bv01iSbm6+q9RC1Ke3Agc5WEWaLOsgG00a+rBi/8oQDIrV2MmAIi1gGrYlOykL536JqYtVnjwBfnWBFLzXZZUrcvrS6RSz8LqwVy/Agtov3oPaRGRR+1cso2IcvGl2VVoFMnRnJadFrq7EySRYJq1epsT4Wlw10fhoN4Dzs74z+LG/htrIQhJ9O8RJntZfPQZ22vHw== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=thelustrecollective.com; dmarc=pass action=none header.from=thelustrecollective.com; dkim=pass header.d=thelustrecollective.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=thelustrecollective.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=/5DCl5oJWFakbpn0ejXaAhyNKN/kJuyP3/0nJiQtSBs=; b=bvuq5hK88vxXNuERPrlhz1pP6MMZ6kB5b2zXShpEDa3+zEakPEinJpWDjKKqHyiT6htRBejNkRhBvRXn5s9SLGxKb9wW0Y9vWF2Xi7JGi1Lu5K6hzq3CztBiPWP2rxuXdjHfUSE2WnYJL0tiwbT3zLaNKhU+tkDcP4dYhVo3DybGEsWhvU34afSoslMneLOk8de4+RyVn981sFaIQL/Xe9HYtEfxyu56eXYQJHP6NXauo3Rujx46dTyLTxPzygczOVp/bsiO1u6EfOHcnCxhWCl0l/rtp25udAlAWSrSsImQBaUENvSb/iQdnd38irNbpEUoPV1cHn+9ZdmMvq8jNg== Authentication-Results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=thelustrecollective.com; Received: from DM6PR04MB4682.namprd04.prod.outlook.com (2603:10b6:5:24::20) by SJ0PR04MB7488.namprd04.prod.outlook.com (2603:10b6:a03:329::10) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.21.181.23; Sun, 12 Jul 2026 16:57:21 +0000 Received: from DM6PR04MB4682.namprd04.prod.outlook.com ([fe80::fa5e:6e7f:2655:bfee]) by DM6PR04MB4682.namprd04.prod.outlook.com ([fe80::fa5e:6e7f:2655:bfee%3]) with mapi id 15.21.0181.019; Sun, 12 Jul 2026 16:57:21 +0000 From: Timothy Day To: linux-ext4@vger.kernel.org Cc: Jan Kara , Marco Elver , linux-fsdevel@vger.kernel.org, linux-kernel@vger.kernel.org, Timothy Day Subject: [PATCH v1 3/9] ext2: annotate ext2_update_dynamic_rev() as requiring s_lock Date: Sun, 12 Jul 2026 12:56:04 -0400 Message-Id: <20260712165610.366474-4-timday@thelustrecollective.com> X-Mailer: git-send-email 2.39.5 In-Reply-To: <20260712165610.366474-1-timday@thelustrecollective.com> References: <20260712165610.366474-1-timday@thelustrecollective.com> Content-Transfer-Encoding: quoted-printable X-ClientProxiedBy: MN2PR15CA0062.namprd15.prod.outlook.com (2603:10b6:208:237::31) To DM6PR04MB4682.namprd04.prod.outlook.com (2603:10b6:5:24::20) 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: DM6PR04MB4682:EE_|SJ0PR04MB7488:EE_ X-MS-Office365-Filtering-Correlation-Id: 814be1a0-801c-4b47-a820-08dee036a38f X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|23010399003|376014|1800799024|366016|56012099006|18002099003|22082099003; X-Microsoft-Antispam-Message-Info: LUXq2IKS0B4g6PJD1110j5Clccj2N/KiG/AkoSffaRhT0LoLobKF4EgUi29bo9PRCiNGqPT111wFO2l//htwcc0mqgfMidEmGCBRNQStcTO7nkU6VNAipofMduAn+BF+cgfB9uvWF2UqlUQIREn3NgOUVZN1yw3JVeH45AQG79vbBnrc9CxEB3crpB+s501bMn7OkgArIZac5OcBaDT0ayXbMePJP7zSyDHyf0TiyHeWQXKlw5KeYYs5TA6wmo4PpAJa+dA0gCE5a1K9gljt20qraetvmFo1LV8LS5p6hxncTlR3ngzg7QZX1JBAI3DZ1hfzY3TwkCUgqbd22SMnwQ9pp6rS3QYj05YhKlSSx8j3WHECFdojPu5EKu9EqNeHBb+dVRXNwOnrsz28P5k3w3PiLKSTrO+39dATFvYEufamfIH6tfb/nCFUYdLDRHParYHuMi/ZYnV9ng5aD4plHfMdFQyTEkcCULrzXd5AVWdqom14e1+fqndtbOwFYLiKkuzxHsGmIQpFReewWdJs93RBEjurKmfTdXXgULhD1mxNFYLOI952JkNAHrtbD6ic4BQTLeJnYtYQWUGJI53ENjDXa6L7DxNOihv2eLDq/QjUB2CrH6zU6pSk46LZboJK5fwK0IlnUhBdyHNLVgoKpxF998KXAgZ0blUig8hNQwY= X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DM6PR04MB4682.namprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(23010399003)(376014)(1800799024)(366016)(56012099006)(18002099003)(22082099003);DIR:OUT;SFP:1102; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?GUiIZOO3STE81cZQXIdbplARWrWpoZBFai/4Mm3wyjyXFnDbhp9OIvROjiWg?= =?us-ascii?Q?wl7FyeoUtOYW0ixp+aeGbhTRoLhl/7RTS/bV+2P8U0OZU14K//5eBzQpT5nk?= =?us-ascii?Q?94zAsdc9jGvUCeZzslrI9Z0g0V7ohDDRenW7i9kE5xwQEohfi1diOurNlSC8?= =?us-ascii?Q?t+ph3T2G53eW7tHS6oRwMzUtrP62IFuJxP+Wt6cgNNGCruaVvlPgW+L49ucO?= =?us-ascii?Q?668Goc87EUNEw7c0w5Wrp1EMFNDctaOj+MhYR4W+Mj1rCVxuNp0cJs8JJpSj?= =?us-ascii?Q?87YxBFVQ19Xwe8+T3g5RdswOCZs+5bYmi1Yg2b84trk0EOFnJib8n18Xsr9A?= =?us-ascii?Q?/d7AeKZcqTq7ze6s2rybawcGhFwYVazo6tbuL+k84OSDNUFRfQV8GrbLq6WO?= =?us-ascii?Q?rpPAKeTCmkziTFUtawdQFQ/VzhC9+aV4tAVW+3heM7YHff4Kpu5fSXAMl5CY?= =?us-ascii?Q?tbxnEHt7tXLfmWxmawvyrYxEilgEmxuUq/OlBJAIKo1RRtV/DXLpmoTrjcoX?= =?us-ascii?Q?RqhF10ywsKBmn5DtG6SIWypdA7NX5GiRnwud8fD+JCUC2HG/RAhdLF0aNS5I?= =?us-ascii?Q?zXgJAc2oFKXizSSLY2bQOz2fZYEiW1NUWCAHrazGSE404p6ZiwZ2EcL5jC54?= =?us-ascii?Q?97zNhJxYWEwGJli7SojhtiwZe7dA0wTaN7wumbtycfcFXlvIJ1WIMxQyyw53?= =?us-ascii?Q?es3JXqiYam2JxJmtsNwOkPEv1TvvT+OO1u4/m75Ng0nLEE9GmYoT5JlHRt1+?= =?us-ascii?Q?NbXqJ1d6Dkx/n8PWX04OKj2Rx0WOr19U1hQ+WdUu2UaoxpIuy5E8V7mk9drt?= =?us-ascii?Q?o9fK4DLooyT8vt97HLVBwk3fd60/xaCWciLqSRy+q+BwwuQdicSzpSbZmL1a?= =?us-ascii?Q?m12zv1d4wlV3+1oqPOc2RGjyAw+7JIo0/rMEgTG789uGIPV8zmNxqGZdgvqV?= =?us-ascii?Q?9xDoiY9ArbvgGa9LUz5WBvz34PK2rvAXzU0mc2NjQUUpfpcu1YlGSpTs26ft?= =?us-ascii?Q?YA+8bhuVsUSj3uH77RL81Bj8Zm3r5MCmJ9SAZXCAYurrnyoQYZ/F+MkaIx9X?= =?us-ascii?Q?VXyPoaOuujt+FHByR/b4H245JOUY9Qg8IH8wK+d4Rp+IywFBRYLfzIaehPqX?= =?us-ascii?Q?bOsiPGJdS9kbj8Np8s3a/b7iexfEnR3BjiHA2g3fRGXbsBhCOK5BAcYTnNae?= =?us-ascii?Q?fpXCcv1bLNPxTVmxtS3/il780Pkpk8mIIj2yctpuhp2VrkFXHRLUeH6LHIuc?= =?us-ascii?Q?JQDH3InrvmglSeV9FbA3QUeVVG9eAStzADD8Nz3BIXq7RwlhVODX0z2nFMn2?= =?us-ascii?Q?pYDfj8NoJ9ZYP5asqiWyDT2dQMtOdSecBH7FPYoiS7qcnXSrXPE3VgbWCvlj?= =?us-ascii?Q?2qrZ12lzN/53W2ldTL5NPynG5kxTj/hRKea+Ykmen+j8filNwNy4PfzhV6Vh?= =?us-ascii?Q?8tA0DRlssJyHd9QzPLo84t4gaqX+SiTnFCtDhr4IkKSmGLNZAq7Dku56spX+?= =?us-ascii?Q?Z64VI7VyBHePTjDQALHZsgPtNxs1oM7+Ebe8+/lH2NSkf7m8ropmMmVaMXQO?= =?us-ascii?Q?avyDyt7MrrFsX7cl/zLkhZ7bZF8jC3KkRLHmMddlAXo9wkQuiKojFwGHwx4p?= =?us-ascii?Q?1iJVxaOKD5YwIDZN5MwToaERvLwuGy5hUriudZnXEFlFqPuGN0xa1vg54g24?= =?us-ascii?Q?J6DBJ00xQGGGu0DsGGklJyveWKo3/pEjLag0w3fh1spQvo0vXdFY3qxJWl48?= =?us-ascii?Q?6uS9y2D4me4sBe5nJw3KV7F/1ORHhoU=3D?= X-OriginatorOrg: thelustrecollective.com X-MS-Exchange-CrossTenant-Network-Message-Id: 814be1a0-801c-4b47-a820-08dee036a38f X-MS-Exchange-CrossTenant-AuthSource: DM6PR04MB4682.namprd04.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 12 Jul 2026 16:57:21.0954 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 4c9dec06-8f2c-4233-98d5-ca3cb36218fc X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: robUxf4xzB/zWqw3kt4nrPYgSlTExJOyGVX+FM/WvYADCXN7/Uk9CJRoMvWD7EAj/oTd0WpGOjbkWb1r73+GQbt20rDjEI8d7BoWQpoHK44= X-MS-Exchange-Transport-CrossTenantHeadersStamped: SJ0PR04MB7488 Content-Type: text/plain; charset="utf-8" ext2_update_dynamic_rev() modifies several fields within 'struct ext2_super_block' and is already documented as requiring s_lock. Express that with __must_hold() for Clang's context analysis. Both callers ext2_xattr_update_super_block() and __ext2_write_inode() already hold s_lock. Signed-off-by: Timothy Day --- fs/ext2/ext2.h | 3 ++- fs/ext2/super.c | 1 + 2 files changed, 3 insertions(+), 1 deletion(-) diff --git a/fs/ext2/ext2.h b/fs/ext2/ext2.h index e851d2a6be662..c8bf2e69675dc 100644 --- a/fs/ext2/ext2.h +++ b/fs/ext2/ext2.h @@ -760,7 +760,8 @@ extern __printf(3, 4) void ext2_error(struct super_block *, const char *, const char *, ...); extern __printf(3, 4) void ext2_msg(struct super_block *, const char *, const char *, ...); -extern void ext2_update_dynamic_rev (struct super_block *sb); +extern void ext2_update_dynamic_rev(struct super_block *sb) + __must_hold(&EXT2_SB(sb)->s_lock); extern void ext2_sync_super(struct super_block *sb, struct ext2_super_bloc= k *es, int wait); =20 diff --git a/fs/ext2/super.c b/fs/ext2/super.c index 8c7f3772917bb..f742b9b6b017a 100644 --- a/fs/ext2/super.c +++ b/fs/ext2/super.c @@ -127,6 +127,7 @@ void ext2_msg(struct super_block *sb, const char *prefi= x, * This must be called with sbi->s_lock held. */ void ext2_update_dynamic_rev(struct super_block *sb) + __must_hold(&EXT2_SB(sb)->s_lock) { struct ext2_super_block *es =3D EXT2_SB(sb)->s_es; =20 --=20 2.39.5 From nobody Sat Jul 25 22:33:06 2026 Received: from BL0PR03CU003.outbound.protection.outlook.com (mail-eastusazon11022104.outbound.protection.outlook.com [52.101.53.104]) (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 C60A8364EB2; Sun, 12 Jul 2026 16:57:29 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=52.101.53.104 ARC-Seal: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1783875452; cv=fail; b=iSKTKsNmiV/eOSeTEPw0CA6l6bb3M9l3s+WLc/AZQw6oq97w31cATKa4lO05Elt1YpZ6eeeYvld6ZZWuAkP0SS3O10hf2TZ0A8bzClj9cGreoN7ezm2yW993qWz+X76gGQRIZsrOTe4/CGF12YZAPbEKSHm0UNA+BXbSaX10IpE= ARC-Message-Signature: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1783875452; c=relaxed/simple; bh=rACTJe/i4mTZHSBJXvaVN8M2TIcK7bvDYkfjREX1q2Y=; h=From:To:Cc:Subject:Date:Message-Id:In-Reply-To:References: Content-Type:MIME-Version; b=bi4xJLyhzLDwLmzAZiPhERB9aKl6i6z4CfRJEB5IOHpqrcfaS4GEbQvpj0rI9G/H4H9bjL277kJoNEnKYyVyksepMjG6FJno1xosL5d4AcVgp7OC+u0Psbq1m4mED2HYDoLKlqVzzCJYieLI1iWWAqlgBBW+FrzGT9g2s+bW7LA= ARC-Authentication-Results: i=2; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=thelustrecollective.com; spf=pass smtp.mailfrom=thelustrecollective.com; dkim=pass (2048-bit key) header.d=thelustrecollective.com header.i=@thelustrecollective.com header.b=z9Oo20vY; arc=fail smtp.client-ip=52.101.53.104 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=thelustrecollective.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=thelustrecollective.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=thelustrecollective.com header.i=@thelustrecollective.com header.b="z9Oo20vY" ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=R1en8rvs9bbN2UNf4nXlxOGSpBOJaUc2u1v/mMOs8uwcO+m+1rHTF9Wu3LaIKRlSC9sKWhUW5aYXOlydJnGLm1H2Nu8c3QY7VSHoWDZaZmnGoc2JfZNuNmyAzWI1yW3hzoRAqf7iJafzEk4EUOmZVsNVM9KyEo2ToZrl1jG8eaSXGJM1Emj3vNPFD1WHdBFXGyZO1BA5SO9Fjxq/a1rXZbQakm7jYdvk3u/WhzAYvb4DMn2bhZ5kq6UtiTmYY5NWMcRQeDjW5biB9f0ZhqnsDtsesPZgqGC8W2M9AlV32kRT0rW5bLW9NfTcgzIWXPIA4jLlYowewbexdPCtewluIA== 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=aTYP8/sITv/WBVytnlj/RVp9EXiQAdjKBl1CAQ4thuI=; b=SEG1oNpkxzV5+Wqt3r0upmde5JZY6VxdoAgKFfzSFNfKK3tsryzWmGpAX+TcI+WbX42/R85QdbfRtqR9C9tcxVyNAkIRadkcF8qXPI4EnbvSY5jvdIkaapbjb5niecEob1ON/MjF1kmXXtM+m9cz3zZ6LhbIo3YjBE4i8wdsmq7TjJ0s//Y3t5u1tm53hF1UFpV2YdnTpmaPcqybBeJTs/I09EkdRWJbwHZucDXO8/cQPjl31QzGeC3KS7ChaGORizPTgMzFAn205lMbZtFdUg5pywrCV9qHm1aP95jX0ue30vFoJKQUrlOdOpb7t1pIkk06cNbgj1URUXSbs/r8Vw== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=thelustrecollective.com; dmarc=pass action=none header.from=thelustrecollective.com; dkim=pass header.d=thelustrecollective.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=thelustrecollective.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=aTYP8/sITv/WBVytnlj/RVp9EXiQAdjKBl1CAQ4thuI=; b=z9Oo20vYwwVOEwBFZCiVmHhOdCbS1Q7ekTzxsg8K5+TjKowz1Xz83y84EK/1FPKVilNZxQI/egrVfGmjp/1Fwevg0HhXDq/rWtP9GXpxESpEQVpO1SikP9fExsVN2laNCCJo4gfLuE30+IkcGTAhIcmMy6RV4G7JVox8kcfmKBAV736KMcs5EOGpwiPUhW+ozewe1aAWqNIsUASfyEIKXW8tEzEnIbxTBbOtrth5Khgrpjzgq1TQe4p8wzILSdYammb34SJKPoBl16YhNooGZN+fQFJSv/TDhYBY5dXNanRT0zXC3XLH6JETYe32SXgxMykQsLNNBxXDuSBbqvuevA== Authentication-Results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=thelustrecollective.com; Received: from DM6PR04MB4682.namprd04.prod.outlook.com (2603:10b6:5:24::20) by SJ0PR04MB7488.namprd04.prod.outlook.com (2603:10b6:a03:329::10) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.21.181.23; Sun, 12 Jul 2026 16:57:21 +0000 Received: from DM6PR04MB4682.namprd04.prod.outlook.com ([fe80::fa5e:6e7f:2655:bfee]) by DM6PR04MB4682.namprd04.prod.outlook.com ([fe80::fa5e:6e7f:2655:bfee%3]) with mapi id 15.21.0181.019; Sun, 12 Jul 2026 16:57:21 +0000 From: Timothy Day To: linux-ext4@vger.kernel.org Cc: Jan Kara , Marco Elver , linux-fsdevel@vger.kernel.org, linux-kernel@vger.kernel.org, Timothy Day Subject: [PATCH v1 4/9] ext2: mark statfs overhead cache as guarded by s_lock Date: Sun, 12 Jul 2026 12:56:05 -0400 Message-Id: <20260712165610.366474-5-timday@thelustrecollective.com> X-Mailer: git-send-email 2.39.5 In-Reply-To: <20260712165610.366474-1-timday@thelustrecollective.com> References: <20260712165610.366474-1-timday@thelustrecollective.com> Content-Transfer-Encoding: quoted-printable X-ClientProxiedBy: MN2PR15CA0062.namprd15.prod.outlook.com (2603:10b6:208:237::31) To DM6PR04MB4682.namprd04.prod.outlook.com (2603:10b6:5:24::20) 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: DM6PR04MB4682:EE_|SJ0PR04MB7488:EE_ X-MS-Office365-Filtering-Correlation-Id: 4ea2b5a8-3d17-425e-586a-08dee036a3f7 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|23010399003|376014|1800799024|366016|56012099006|18002099003|22082099003; X-Microsoft-Antispam-Message-Info: Tm30iYnB9YVXkPbpvVj35cPwahmvsmOy4jqK1w7Y5JNoJ9QvaE35c6mIrypskRKWlqvqJUqzcdu8+ZtvzUgNkHvhA9HOdHuYpt3ibM1KBYmnMUgN0+BkikOZxdVyZicX5gaOgIXYHlPzlTZ9LY75kINfeK3Wdbza7YQrd45+qdkLSAqmjyjNyt0EvVn4OADUkf0VA3J8n0j0J07DSA9DJyphEamwN53XifoYBSmi5otUV1YiKR+JNwPXhFab/jLnRQ95jK+N4JSrn2QEQdGtz/Vo5J67ok2Z3icToGH8H7VgMPF/KjHhWWGurS9L3GHe5aRZaONLU73iFpu7hABn2E6r0lWE3iZGNXfO80EpBhhhorfiym+ah8leO+fbcP2tu3c1hxnken3VpKg5rVyQBP0MfX7h1DUcNUPc/v1UMtQtQE6pTtsENSUAlm9UM5r4bVlrLNQwFyiMSzI79nAuPcBwI0wwkTCc3bJqSxsSuRhds62DfwnHUAZ9d0TiaIJxd8tSFxzwwQYLOfho5ZlKhPUetjUxZjcY/N8syrkaoqym/JKRPt1923ZfCGxEgO3jQaedIl1pF4GAcsoa/zgJ1iM4z3DC5QwbSrDc/Wl8kS16+Oy110gh1/Ez5x6j0nOpEaLtXoFCmiN+knmGs/A/KMzohhKKLjl8E95nCVSwejY= X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DM6PR04MB4682.namprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(23010399003)(376014)(1800799024)(366016)(56012099006)(18002099003)(22082099003);DIR:OUT;SFP:1102; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?QA3aP0Hx3NbUZL/QkWPU/1X8mLodyHeRfzIkB/bSwaB8BjaCWgd1hUorqfY0?= =?us-ascii?Q?+VltKoTTsbJgOj3Q68IreGqIqfxX+1rGBsP3H/Z+cF1JTPYRhkah1grjNDnm?= =?us-ascii?Q?m0f83A7gBZaRl/38CEb4lqPq0gofmbzhB1u5o/FLCwBmHhgtR4yOkkOPHaPL?= =?us-ascii?Q?SBWt+c9uQ6BPqxVk0VAJvgTcQVhicnWxBGkESmnp7e/JBHo4rck9+P2tyEww?= =?us-ascii?Q?O0fCFHkcPE59NKTaHpmMjoUCI/nkuE0nK0CYA91rFvly8/D6txqf5WgHBO43?= =?us-ascii?Q?7k5WsxsrxBKEKhrUYM/D5apHwky0GvSUiDKtOsiFPAN1LgWZEHNR4jEDhKV1?= =?us-ascii?Q?14M/7E7QkXGSOFYgZn0ZeYU+O2OM2svnY8oAHi0jDIAv6/OAtbFG2sdR1Ndj?= =?us-ascii?Q?X8xfjvlH3LYMxfECNrKKMBYOptVv91wqKhIZYds5DrnOHgepNseOKVN4r0VZ?= =?us-ascii?Q?QmhObwNEoRpFINOELbteUdLtc8S84eFohC7K/xTF07geJujHkpCFjaeorpB7?= =?us-ascii?Q?gk1vk3pfWPvpYIAmVseQIHwyACHmf79zknqvhx0YSatZrPgWcO0ds8lEw5d5?= =?us-ascii?Q?T5bJWmb0xdspXPDBzTvP2RPrUu1C1ZoAppvkwj8rC591iCbSSQ6zS3OGQ5VZ?= =?us-ascii?Q?xyCjx60f62YTaejNHsJRUK8VIADuSMZEckbnlQYE70OVCFimyeaR/cun2MV5?= =?us-ascii?Q?ROO85pIf6ElZrD3odrRQsMce5W7dsVE6HPdSV/pql6lUepQMjhyNcB+BiZ1Z?= =?us-ascii?Q?fAHA0JgvqQS5A3NA3TJAMZ2iYH1gB5pb9QE6EYhOz0Sx2eXHBqo0cST4b4xV?= =?us-ascii?Q?AmlQT6VKv76zO/EQBqpmyLr2hChPqodzPRx2hsAuDyymAPTT12wB1yhDtRPm?= =?us-ascii?Q?pKcvjFtWUfiCoIJNQvP6kaf1ARkDCILa41WTUrc1C3/ONEaZivJ4x+5rfomS?= =?us-ascii?Q?hcta0QUvMStkJA9B3+SDrk4kYduh4rVKve+Y+jZqZOJdzVyJ2dC156ZANcTg?= =?us-ascii?Q?uou80pe107WXJpWTS3uyflwqP1cU4RDNuF4A1e0wCuY9OIIJPPkmFiV+5TgG?= =?us-ascii?Q?0Nc2LLhUK0sUiO7p+2f4ZlmWxjMU9IgDROcySfi5iize23phF7DzfeSyi7jt?= =?us-ascii?Q?Z0C/7+s1tkiwjcuHhJ+BzLd8S8tsuIdvdAChtLEtcEk4Q4DGbuEoquoqFSJF?= =?us-ascii?Q?P8MjsGBbWS8CGWVBYwb+r7kauPuDHnK/c11DL6cyVFnFIwxUjUoIwoVpyMDY?= =?us-ascii?Q?RgTJgrz1E7bUvh7hmd7wgKOqjUdrKD6rj8RoHlc4qOQ5+a58C7YTkymbzHnC?= =?us-ascii?Q?d4ntz7vHhrCJkNGGuRZd7VRepJRsP0ZS/PQdNG7o9a+9JTv/0HDIMkoq0Itr?= =?us-ascii?Q?CMOJBLR40YnMv3+FRRO7lt58+WnDw+Dul1zvjKUltZiTRkYxa4bBApZDtLh4?= =?us-ascii?Q?s8ywbpjoGnrjqjGnKdqYsZTkLTMDh5ZzmaljcRU8NnCPXroBBDTHuhAgPyn+?= =?us-ascii?Q?yOF9wgM68K7NDEaXNs5GE6cslyZsV1xVi2C57p6xA1SLxH1ug5zxGVAWjSYx?= =?us-ascii?Q?fUSzgsS+EcPwXku5JG2wghWNWEdMNvJKa9xmC58bkrAAEbV1WZDTCeKNi3k3?= =?us-ascii?Q?BzI9n2dwwXJbgXMZPpzGwn1H03Rmcj47i6Dzfn0LHzCQSDFBxdRhxtb5sLRm?= =?us-ascii?Q?S5Rd6u5m2/isHzsudw72UoSj6V7IWsxzBklY9xYnR1NW7WGGujEum91pKYnw?= =?us-ascii?Q?jX3JMEq2yxyRYGo81nnC2qLkQgTpetY=3D?= X-OriginatorOrg: thelustrecollective.com X-MS-Exchange-CrossTenant-Network-Message-Id: 4ea2b5a8-3d17-425e-586a-08dee036a3f7 X-MS-Exchange-CrossTenant-AuthSource: DM6PR04MB4682.namprd04.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 12 Jul 2026 16:57:21.7862 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 4c9dec06-8f2c-4233-98d5-ca3cb36218fc X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: bLCG36wms3XyJAyRgSaE3DnpHRUCjZjFGudM/s5UMcLe5xGPHyXj8JodDWeJ/ujZ9X0ZeAtyE4Lqib56xB7exjgln/ypxauyYrMstHrVNh8= X-MS-Exchange-Transport-CrossTenantHeadersStamped: SJ0PR04MB7488 Content-Type: text/plain; charset="utf-8" s_overhead_last and s_blocks_last cache the filesystem overhead computation and are only ever accessed in ext2_statfs() under s_lock. Annotate them with __guarded_by() for Clang's context analysis. Signed-off-by: Timothy Day --- fs/ext2/ext2.h | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/fs/ext2/ext2.h b/fs/ext2/ext2.h index c8bf2e69675dc..ecca898653eb8 100644 --- a/fs/ext2/ext2.h +++ b/fs/ext2/ext2.h @@ -77,8 +77,8 @@ struct ext2_sb_info { unsigned long s_gdb_count; /* Number of group descriptor blocks */ unsigned long s_desc_per_block; /* Number of group descriptors per block = */ unsigned long s_groups_count; /* Number of groups in the fs */ - unsigned long s_overhead_last; /* Last calculated overhead */ - unsigned long s_blocks_last; /* Last seen block count */ + unsigned long s_overhead_last __guarded_by(&s_lock); /* Last calculated = overhead */ + unsigned long s_blocks_last __guarded_by(&s_lock); /* Last seen block = count */ struct buffer_head * s_sbh; /* Buffer containing the super block */ struct ext2_super_block * s_es; /* Pointer to the super block in the buff= er */ struct buffer_head ** s_group_desc; --=20 2.39.5 From nobody Sat Jul 25 22:33:06 2026 Received: from PH0PR06CU001.outbound.protection.outlook.com (mail-westus3azon11021103.outbound.protection.outlook.com [40.107.208.103]) (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 EE37C364EAF; Sun, 12 Jul 2026 16:57:29 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=40.107.208.103 ARC-Seal: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1783875453; cv=fail; b=oZnLVZecT0tKgVocW8yLh5cuUrUODt9RQ/2zpoHTWUNZ5iNf7wNhwHG4iCeQ6ig21uddRCamYvK68OSzqifa2yvmU+318itWFU9GD0sJXcIj5s1pn0lidEwGUS3LvSYVWhoSIJ5xT77vUsjBMGcu7Jgd7Z0SPnIM7P2CVqwX4kA= ARC-Message-Signature: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1783875453; c=relaxed/simple; bh=gTEgyssGU1YZKZolRKsRaFR6dfnIJ0LOxscLaIcyMks=; h=From:To:Cc:Subject:Date:Message-Id:In-Reply-To:References: Content-Type:MIME-Version; b=qmc4e89C1LtGEhfPrPnwCXebnChH2oNpl+5n15xiXk0xW53Pf3S+UOiEueNd33Rydul4+cYst7nHSduH/KNWQnNhySxkcVxzAbBQjjjHWO0VV61ngM4b8Er9bODv3MgiT4Qz+xDZFJqVDGod9dxeTzcO+PBZ9jIXp+InaW0eH68= ARC-Authentication-Results: i=2; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=thelustrecollective.com; spf=pass smtp.mailfrom=thelustrecollective.com; dkim=pass (2048-bit key) header.d=thelustrecollective.com header.i=@thelustrecollective.com header.b=b3dOx+eM; arc=fail smtp.client-ip=40.107.208.103 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=thelustrecollective.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=thelustrecollective.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=thelustrecollective.com header.i=@thelustrecollective.com header.b="b3dOx+eM" ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=ro1ATN9KhelJc2PDC4+yP73a1Y6YuNmP1UMY3tRZhlRMZ+8KEf6O6iFmPEJbp54zhAaQV0h11AVYQDKZ3hlRdyfj+/a2MTE0Qfr7reOXUTcaQjzx98NLRxNZW1yxZEp3i2rS+fujemmrSpIwY9W4YqU+sy5sVssH8XiugFc9/VQKoTfIxdcpv7s2rfxIW2v9lve0t06UtjD6NbsLuLpXKaWEzrZ+nzV3tFrqxWkzE8leJ7CBH3IB7FW+sX8iJzQ9L/RQIn/kxoE6dni49m0IHWhay1HCAcu9HFdsoMM3LE/6+rHEdgiYRPTXR5P//tmDm3ZdkInFC0J7ZuU5gKVGRA== 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=SqhEkUqc7jFgo+k2AjYjr4WS57UmPfkUGmjSg7HOcTc=; b=L/A+olGjvE1rXL1IPoL6wVNArcP67NqMJYZdWvmHs2XbnWM4kXPT3iE3pwmPv6hnPekNbG/nWE5vKTiXMjjaCbL5zpopoePloSAk44ctNcE7+eJmeVmNVQ3goWi5XBi2L+mnUJIJO9mX4pVsBqlwk4JF8eOe6RhOK7lvVVGBSL2yaiHF5fu2peEC9q7U3RI1QKvAjs4qk5sgpN1ZVw/vRcWnPXHhUjIWUHtyYrCtEeosM8lFXZRp9HnBYTk9kWKMKycGtGE4eJzRYHd+v4jTEM634h7lxDvTFuPT1Wsj6pTYnBEQIy8tLfqf4cZuE+zQm4nK2kPiA8lvFGgNoAalkA== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=thelustrecollective.com; dmarc=pass action=none header.from=thelustrecollective.com; dkim=pass header.d=thelustrecollective.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=thelustrecollective.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=SqhEkUqc7jFgo+k2AjYjr4WS57UmPfkUGmjSg7HOcTc=; b=b3dOx+eMDFpPZAAbuBsUb1zPRkKzD4L/4zNwx9/zMW5JfD27ANoRduwkrG/z3hPtn4xEc1eBvMxbAqqjWAH5S3nDhxV4NaBO44waozfuO0qr5FSmZJtRsszq4G0NR9+0/sO66LZ4SQZ7WQWeJsJSQTe0tInXWEET7RL71fMh/s7W9K7nGOJjwTo8Ns3RXnTibLFqKaFa3U4w2IlO/kbbYlHgVg5NQgGvdx00UKLEYgxR8aeeBGfU4/3h25wZV10UfM5v6Nw36KuIniEwrr6MbJzKfYO09yFmdcVP3k8RncDBUpEK7/DtaFcnv/5Vubk4YW1my67h1BlL3pHup7oXmQ== Authentication-Results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=thelustrecollective.com; Received: from DM6PR04MB4682.namprd04.prod.outlook.com (2603:10b6:5:24::20) by SJ0PR04MB7488.namprd04.prod.outlook.com (2603:10b6:a03:329::10) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.21.181.23; Sun, 12 Jul 2026 16:57:22 +0000 Received: from DM6PR04MB4682.namprd04.prod.outlook.com ([fe80::fa5e:6e7f:2655:bfee]) by DM6PR04MB4682.namprd04.prod.outlook.com ([fe80::fa5e:6e7f:2655:bfee%3]) with mapi id 15.21.0181.019; Sun, 12 Jul 2026 16:57:22 +0000 From: Timothy Day To: linux-ext4@vger.kernel.org Cc: Jan Kara , Marco Elver , linux-fsdevel@vger.kernel.org, linux-kernel@vger.kernel.org, Timothy Day Subject: [PATCH v1 5/9] ext2: mark s_mount_state as guarded by s_lock Date: Sun, 12 Jul 2026 12:56:06 -0400 Message-Id: <20260712165610.366474-6-timday@thelustrecollective.com> X-Mailer: git-send-email 2.39.5 In-Reply-To: <20260712165610.366474-1-timday@thelustrecollective.com> References: <20260712165610.366474-1-timday@thelustrecollective.com> Content-Transfer-Encoding: quoted-printable X-ClientProxiedBy: MN2PR15CA0062.namprd15.prod.outlook.com (2603:10b6:208:237::31) To DM6PR04MB4682.namprd04.prod.outlook.com (2603:10b6:5:24::20) 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: DM6PR04MB4682:EE_|SJ0PR04MB7488:EE_ X-MS-Office365-Filtering-Correlation-Id: dce41c4a-3d29-4d85-27ef-08dee036a45c X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|23010399003|376014|1800799024|366016|56012099006|18002099003|22082099003; X-Microsoft-Antispam-Message-Info: rzVa/FCs+BDhGZsLFi2OEh9QKce+fp0/a/bmrgYIxiat6HRMQ2mQg8ciCzEqW60U5p/m0DRZvSR7ozd2JOyH2cS05zxI/NqXBRG/l97g8k00DCRxAsByi2wU783RxMwcKyYRASubsFIJ3P5v/9NFmqStTpaZlDAvuCOQErGWVyVJOFLOiveL++DCBSKvHtddTh8FE9GKkyaZEkl89V82LhIYfqK1Bgau2zDlOtxVJ/3En21uVEo+SP0zz2nJ8WcmapJtKN1jyl4k413iEXXv5nZZxYWO8UstX0a9agFLF2gxSMmyRtX0ExHjA+yBp2Kb5VqPTgXnAPW4+VLUhImPt5twY6xuIiyAtHxX9SqF3w2tqG//bee8X+io8EGq2cOT5lngBbwrQ2ODpL3tWmae2N8aLLxLNWma1YLAPX+JplUJo5wgGq7zyguQqsPIiFxFYUILAtSB+uCN6W+h7V4OpMTJohGP4mfubG3yGpV662SeUwEvxi6xDDMHyuprpwlfvXkT23I7jJlruAjcf4h6bFHOzOK1H04cyhbn7b/0A1+pbFNu7E2EWXDam/klglF0CEsROVHZ4p5YfGEpF3DdE+dWZN1/We+xm0Hae642ES4WIr0iFoHFUTcwd8pzy1zGg/XGagUFS+kNlU2yEwD3ThEEXqE83I6zgMCDJYuwqSU= X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DM6PR04MB4682.namprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(23010399003)(376014)(1800799024)(366016)(56012099006)(18002099003)(22082099003);DIR:OUT;SFP:1102; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?2q3PAP3usbn4mUaHfe3i3KeyR6OsPRoVwBEvTcDyL7/8dF3aICoYZNJg6YfM?= =?us-ascii?Q?oG2Q7+g1oCw/aqoIbi4hL/MvKix9RlK10W6mhYLT2SCKDvu4K50N8MTLYg/8?= =?us-ascii?Q?a3BUikWfitnFCBdOZKAIdLm5op5pFsEnHd4RndWKXsMs7IT5uBHq71SlB55l?= =?us-ascii?Q?xLz6MjyZUzNZi0lXf7EfXUX7SqmGWL2ca0muaeFGhn9wkzHZ5OzEeggGPwWN?= =?us-ascii?Q?ckXo5RLD0Su89/STeE4kf9+BSZWXxXuAh1S4vNchd3/1GwL8Z29XDkKGUswN?= =?us-ascii?Q?uhrIwP5/15NnPJMbTkWSzkAzUgZtyGUlOTBsJnHDO2r13u2IyZhc0sabsUFy?= =?us-ascii?Q?ME77wqjA+RKqImbqhaDwSvCC5UtqN4kk5TCiTm4EjVGOuBMZemICG8VB/OTN?= =?us-ascii?Q?8Yhg8MwX5OStru/+CLoBwK1a3xeQ+63/tVzAeMWd+Yz9dt3iRipwwoQfVYDc?= =?us-ascii?Q?1PViNP/ezFIC1zpwdSyoF12zJJdDaCAnP6+y2WHLi/UoBifWTFyXNQoHWD60?= =?us-ascii?Q?XOJ+ZoOaacsWqdVvvr0oNZ98S5dI7W459K9ZlEt+lgEp1HypgTBSvHA2M0/T?= =?us-ascii?Q?uFQoQGJPImwgM2Hb6uRFRlvGoJ8cnuY1Uf0Wp+zPAix5U9w6NaP3PpEZUSl5?= =?us-ascii?Q?TbaK9VJcG/dJeHlkRqWzNF/dh4M8XKhNiwEJIUKbrzCEg/1X7laMn/r3Cdmk?= =?us-ascii?Q?pLkk8ZXPpfxo0kgZZvuFqwQfoIxiwuIpoifyeDDidnuBI/XIyG82BeBYzFaP?= =?us-ascii?Q?/+7vQgvqPVHHXtUAZs4hQUfqyHAZXYGtg/zBBvml0OF5WcBTrxNMtpElUkZs?= =?us-ascii?Q?geRKXD5VLwejTIjdHxJOxcCQzeOWI69YWn2iJyq+TOrjxa0Uh4iGpMSN3y51?= =?us-ascii?Q?YZGsvQhN8bBt9cPlaJj1hUYJSwarqgYVLW2NeUjQlVT/TZdbj5ft6kii7k4p?= =?us-ascii?Q?BimocSog/6/Z1NVtuBfFLDYhTtHfYn3HkRJUWgFuII4D/FDdlmtVlhHOAbDQ?= =?us-ascii?Q?S/VAs24cDEZ+UkNUM9MgGqfVcRVPuAojBP+WWlzVwwC6aM0z07eqyC8pcqUU?= =?us-ascii?Q?jZILzLx7fBhRMZnKkVlH7s/Q2cwVZKERnGz7mTTTMvGL9bHI4puEXFvlXBOU?= =?us-ascii?Q?FSSjwKD/x9KdxhcDxJS1A3nBY2wKhinWUm4UKja76S5vK3H/SzIsRhvB3ylb?= =?us-ascii?Q?zTUqBzPmNY63fSJpoK8CEdb5PbMzWIPFv/dejdeLWs+z48Sy+cCOL70xU6HE?= =?us-ascii?Q?rQNmmzvtEV/dZHiuqHF5l8pUIVRTXksX9SWz0eY6HepxAvkxKn5ulmV8P8ix?= =?us-ascii?Q?guqgrBJxGTjGmBf62AmdRMzPg8u3TAuxg/PxByFsOy/PjON/LdupNA2VyH07?= =?us-ascii?Q?HDes8N2aviPGEZbYRtQVI7xLuymUsT/kt+A7lQuqRdcr18cnbpg7T6rSFgrf?= =?us-ascii?Q?rZJzvUcy6R+nQ7J7kEkgysHYXRkdg59VMc5WYGgQyF3PrJHD5oEzH91LxRoI?= =?us-ascii?Q?shvFFkaL248iq0Nf1FGSQaYvv4BRf5z5H54l2myISJoH3GlYkJGcK0oTFaoF?= =?us-ascii?Q?T14P5nNiaTk5wBDH9tne97jjkXIKuf4BjwzF8Tssgu3G+mq0+oqG8KuwTCDE?= =?us-ascii?Q?WqtRZNic2Vu83WPFFa8CmRnpNZ+59i1sTHoftkNU5m4qphZ1sD4V/s6Z0icb?= =?us-ascii?Q?X+P0Zo+40ui5phHdLhFSqPaRG4vEAA0bgvYOFE1OtNOctpkQSRxrKdmjmZp+?= =?us-ascii?Q?PnOqtx6wCKzxCVqocluPM43U8ejKl8k=3D?= X-OriginatorOrg: thelustrecollective.com X-MS-Exchange-CrossTenant-Network-Message-Id: dce41c4a-3d29-4d85-27ef-08dee036a45c X-MS-Exchange-CrossTenant-AuthSource: DM6PR04MB4682.namprd04.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 12 Jul 2026 16:57:22.4699 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 4c9dec06-8f2c-4233-98d5-ca3cb36218fc X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: eDW4JcX5Rh/C3gxxtNQGubxrTW7w6YN/oScaQn5EO6Dev7UMlKcvsdprODianoNd/e7GkMzQ2UfqpfFf+EPusKiZlhSkt00Df2EffCc6ewo= X-MS-Exchange-Transport-CrossTenantHeadersStamped: SJ0PR04MB7488 Content-Type: text/plain; charset="utf-8" s_mount_state tracks the filesystem's mount/error state and is protected by s_lock everywhere it is accessed. Annotate it with __guarded_by() for Clang's context analysis. ext2_setup_super() reads s_mount_state and is called with s_lock held from the remount path, so annotate it with __must_hold(). There are two accesses (the initial read in ext2_fill_super() and the setup_super() call) in the mount flow. This is before the superblock is live, so no concurrent access should be possible. Since the s_lock isn't being taken in this case, wrap them in context_unsafe(). Signed-off-by: Timothy Day --- fs/ext2/ext2.h | 2 +- fs/ext2/super.c | 7 +++++-- 2 files changed, 6 insertions(+), 3 deletions(-) diff --git a/fs/ext2/ext2.h b/fs/ext2/ext2.h index ecca898653eb8..4c30d6f5c9726 100644 --- a/fs/ext2/ext2.h +++ b/fs/ext2/ext2.h @@ -86,7 +86,7 @@ struct ext2_sb_info { unsigned long s_sb_block; kuid_t s_resuid; kgid_t s_resgid; - unsigned short s_mount_state; + unsigned short s_mount_state __guarded_by(&s_lock); unsigned short s_pad; int s_addr_per_block_bits; int s_desc_per_block_bits; diff --git a/fs/ext2/super.c b/fs/ext2/super.c index f742b9b6b017a..a5a5285dd5784 100644 --- a/fs/ext2/super.c +++ b/fs/ext2/super.c @@ -633,6 +633,7 @@ static int ext2_parse_param(struct fs_context *fc, stru= ct fs_parameter *param) static int ext2_setup_super (struct super_block * sb, struct ext2_super_block * es, int read_only) + __must_hold(&EXT2_SB(sb)->s_lock) { int res =3D 0; struct ext2_sb_info *sbi =3D EXT2_SB(sb); @@ -1035,7 +1036,8 @@ static int ext2_fill_super(struct super_block *sb, st= ruct fs_context *fc) sbi->s_desc_per_block =3D sb->s_blocksize / sizeof (struct ext2_group_desc); sbi->s_sbh =3D bh; - sbi->s_mount_state =3D le16_to_cpu(es->s_state); + /* concurrent access is not possible before the mount completes */ + context_unsafe(sbi->s_mount_state =3D le16_to_cpu(es->s_state)); sbi->s_addr_per_block_bits =3D ilog2 (EXT2_ADDR_PER_BLOCK(sb)); sbi->s_desc_per_block_bits =3D @@ -1203,7 +1205,8 @@ static int ext2_fill_super(struct super_block *sb, st= ruct fs_context *fc) if (EXT2_HAS_COMPAT_FEATURE(sb, EXT3_FEATURE_COMPAT_HAS_JOURNAL)) ext2_msg(sb, KERN_WARNING, "warning: mounting ext3 filesystem as ext2"); - if (ext2_setup_super (sb, es, sb_rdonly(sb))) + /* concurrent access is not possible before the mount completes */ + if (context_unsafe(ext2_setup_super(sb, es, sb_rdonly(sb)))) sb->s_flags |=3D SB_RDONLY; ext2_write_super(sb); return 0; --=20 2.39.5 From nobody Sat Jul 25 22:33:06 2026 Received: from BL0PR03CU003.outbound.protection.outlook.com (mail-eastusazon11022104.outbound.protection.outlook.com [52.101.53.104]) (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 E055A368D4F; Sun, 12 Jul 2026 16:57:32 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=52.101.53.104 ARC-Seal: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1783875455; cv=fail; b=uov57Fd0+6QLLyKvHEggrPd3g3x8J88n6WGMKt2dNPFPltKOTh6sCWQHguiHDizwuf9DEm/wcrSBS+xgh5xiiXchXTD89KUP+HBlaT4BiR6PADQUTkCF2ygIrHICb4wx2zDos5MUpsqciEth92J8oVm4rmTSyI7CMeUhy79fKHM= ARC-Message-Signature: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1783875455; c=relaxed/simple; bh=anIY/j2BzOPzs/dGO02zFFA77WzysjKU7EFaCz3mlII=; h=From:To:Cc:Subject:Date:Message-Id:In-Reply-To:References: Content-Type:MIME-Version; b=q3jXj6eeiS7Ki/9wMBG5TB3SewiryspCAJjdPhx+OqoTp1lg4R1IPHZ7dhoAgo3chYwnyxLGT1BD27y4PXt3p8EqItAhZVYHjTyRlZ7NYZyVMq3gg/uoyQDRrbAhUOcFS/frTS8RwiHbn52Kcek88blExjDWysgTmqjQ8n2GknY= ARC-Authentication-Results: i=2; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=thelustrecollective.com; spf=pass smtp.mailfrom=thelustrecollective.com; dkim=pass (2048-bit key) header.d=thelustrecollective.com header.i=@thelustrecollective.com header.b=GRTqJh3t; arc=fail smtp.client-ip=52.101.53.104 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=thelustrecollective.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=thelustrecollective.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=thelustrecollective.com header.i=@thelustrecollective.com header.b="GRTqJh3t" ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=VChuv3fYK+Pvo0xJFfov0Y8su8IiLcSmIX2PJmKkCdoqvr6Abqc6/Kt7gr+P6zobaogFFsfvaRi0laQJsCZq9TdWcmhOCojl6gM0kdzhiai71delunVEJ+O6CmuhBbR+zDdY0hj6nTjgrjISbKDOEm4+SO6tJJA72iSq/sV8pDfzWlU4Z8lYTCaHb2mMX4yLqbJJZquK2DArc3giHsJwR4XbIJuKp5n3nZib1xXRK70zO0LAsvuFyHbxnwDQkGHxE7wNnRs3AWIo+9H0Td9zkOdhiBv5UKpcfUh6OmvOvonWTgWw8CIVwJLWo8hzcRSETnMC7THdorXD7DjtPDwd9g== 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=79oUgI+nwsBduoMt7eEJ8KtI5jtaeCL8jSKzVYuuowo=; b=FiTrzkRBeVnxKiHGEa79PAhfJ4MecO/2u66o883241ecI5FfF/7HAvHYD1p3f9R/lpSuAnsFWoc4yYoUPuWJcfpyHi6IqASYOwQolLWmKAVne5l1wdqWkevsBFye3yuReTjmg53Kd1ZpJE3F69B3vOb593c+lWa+Bc6uhNuLEqc7788Euu0SWBhqFlxYCzSdF0btQ93nAzpnxhJ5sXMRI1zdjxNsJwY5GxE0AxH0ZI8wQth2ltBBWVfSAnLpBdm+kLD3ynmWsYaLuwrydKMaPG2O6ddIMFvtv0wIFSD/3cFmIY1jgAf4KzG2jio8E2I3hrjQ+yDA2FZPlQYyUl0/GQ== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=thelustrecollective.com; dmarc=pass action=none header.from=thelustrecollective.com; dkim=pass header.d=thelustrecollective.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=thelustrecollective.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=79oUgI+nwsBduoMt7eEJ8KtI5jtaeCL8jSKzVYuuowo=; b=GRTqJh3tQuPnI1IMwefSjYdw2VISwCQ6lLiyal0PFlwbiCa8/EdAtVPelyR6C8KVEl4gXPVUL4Mx/Ba2kTanj1mDRMuoY32IzfravzvO+3q2DJCpEKda7BP/TzhuQnM1zvn91Vd94GRGbsQ4z6LNg2cTqSVodjdoSL46sixl0pd1IARaUn3/hRqkh5e8nrwSAQBErjxfvksPkQ3G5YhOgQKcg+xk1PIV+0+n8yB5y3DGrmiPQUinm8PKTtHSJrl3n02ZotaaHBZqJos0X+ZLw0gGB/6S6+npICl5VTB/2utzZLZvuPYaIU4h99VkWOW+Y4YtGH0jNJDJM0GVjq/YoQ== Authentication-Results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=thelustrecollective.com; Received: from DM6PR04MB4682.namprd04.prod.outlook.com (2603:10b6:5:24::20) by SJ0PR04MB7488.namprd04.prod.outlook.com (2603:10b6:a03:329::10) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.21.181.23; Sun, 12 Jul 2026 16:57:23 +0000 Received: from DM6PR04MB4682.namprd04.prod.outlook.com ([fe80::fa5e:6e7f:2655:bfee]) by DM6PR04MB4682.namprd04.prod.outlook.com ([fe80::fa5e:6e7f:2655:bfee%3]) with mapi id 15.21.0181.019; Sun, 12 Jul 2026 16:57:23 +0000 From: Timothy Day To: linux-ext4@vger.kernel.org Cc: Jan Kara , Marco Elver , linux-fsdevel@vger.kernel.org, linux-kernel@vger.kernel.org, Timothy Day Subject: [PATCH v1 6/9] ext2: annotate ext2_init_block_alloc_info() as requiring truncate_mutex Date: Sun, 12 Jul 2026 12:56:07 -0400 Message-Id: <20260712165610.366474-7-timday@thelustrecollective.com> X-Mailer: git-send-email 2.39.5 In-Reply-To: <20260712165610.366474-1-timday@thelustrecollective.com> References: <20260712165610.366474-1-timday@thelustrecollective.com> Content-Transfer-Encoding: quoted-printable X-ClientProxiedBy: MN2PR15CA0062.namprd15.prod.outlook.com (2603:10b6:208:237::31) To DM6PR04MB4682.namprd04.prod.outlook.com (2603:10b6:5:24::20) 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: DM6PR04MB4682:EE_|SJ0PR04MB7488:EE_ X-MS-Office365-Filtering-Correlation-Id: b7ddd097-344b-4bf3-c4ae-08dee036a4d2 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|23010399003|376014|1800799024|366016|56012099006|18002099003|22082099003; X-Microsoft-Antispam-Message-Info: kg8Ilp9WTve++KGeN5CmR/9nCd1Z2emHv/8eF1RDmVV2DBEJiiGgO7d/7lPgLu+1c2h8i/O7HFIBvYRCDa9BeCFm37YB6Fq3uXcyK3yypLnNaf/sohbq3tm1QD73M3HaSkjt7RMgiEYFuTb8/9ALA/46UFfNZFLotXzpE7Hl2Q5Z17bN/giVOwKrMYV7wcHsdv0Bc1xq8d/M+cPIq6aAh7sp8iD+Qhyju1yPcVUYVV6nKy+mRghjoMV8KM5Sg8MkPaVj3gF1+fIiBaPjlmOQ9QHZ/GMzWRy/86bEDqJiLWxCRx9cB0PwDhxWGkOzvlgwDNpOMbO559hH5Vi2Jib+Rdf+GeOFV4D7UaFi75SsMK6dEua4Hf3csZBnG7xbqnJWqsR58Otol8RtIj6M0nX0kPbnEB2soGSZdt9uV1uVCDGQYI9DRl843GxDU7Wi5B9qOTRxe2z5UnbExS2yslb7+xc8c5Zf9x5gePYzDdfIPgVAq0kOek8d2j+7Sq5wQBg46vJ4o5EQqilD22fv8y10xTWQC7WyLNFD2egQhad9c3xrwFWO3lCuhpFrugwNixKWWxg0lkIMJkHCbC+/OucxKJ9vclS8ztuwuE+Qf6HewTs/fZg3OqxArcFb3w5S+5P97Y/fLeM0BZgaTQgqMxAXhEZuoPGdr6CZBJZ1GmRK3Q8= X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DM6PR04MB4682.namprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(23010399003)(376014)(1800799024)(366016)(56012099006)(18002099003)(22082099003);DIR:OUT;SFP:1102; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?wtdYBP2IQJK4IMx7Kt2X6v3IyehS5DbyEhCo024Hqv3fRNKPP77ZmHdseuAJ?= =?us-ascii?Q?prBlqEUxLiE6EezjNKEV59vv+89Nh7ubb70mv7CgEgDvV7IVJr7tdbUQotsk?= =?us-ascii?Q?KHkwIa+fiBb1/UBz7epUH7RQ2bS6Y6AACiGfocWZvXDXW+T2fI1BlLgvO5Wn?= =?us-ascii?Q?5/WnBWPEIA2UvxpRxj4lrY2JSGT2nmk15y0h/87W92nvkyYmIcoaaKwj68WI?= =?us-ascii?Q?oVsJ2pZfqU9VuDB5dR2Ddjrs4IbEGtAeVpp0Tgues7lHCsM2+KMOpdMM5ql8?= =?us-ascii?Q?pqJR99IfYzZ6kVZ39d/pPEcVs82kMXwRDktgXWpqsCxxxrVM+a6K5B5AWkk/?= =?us-ascii?Q?0zkkrOSSLV39q/XoVgZ4SYcZPYs/AXwB+OKtBlxpIIShnXLzfl1aiDUV5XUu?= =?us-ascii?Q?MQHacJhYoPfnrbo758QOLn2BrUWGITYLqEXPncE3qYpzNKGCUrBEa1/Z93Lb?= =?us-ascii?Q?5LbKzALhmJ3NzCDoKfzptaIVU40kPHsPChGZxaez0tdUsViTbFWj+W9PPq6z?= =?us-ascii?Q?u8rHhg4k2QpZj5A26RCnWnQOQrhnCOP1NM31q2JpOSXjjiYdb43CmrS9SDlg?= =?us-ascii?Q?xwzoXv84iZlBnkCYSoB3P78RghViL+G21EzJzdsSYZguVEpOBRz8PjSSrVJ9?= =?us-ascii?Q?APNl25eDxroDSEaeQP94O7YFtnimv0T62eYIxvoGw8qYO7Q1CU906iKRJeS3?= =?us-ascii?Q?2xyFiZ11NWeMMMvVx/1uIq6XqouUBAIHULA7c5rYp6GZJ6fSfQ7Ufe2VZkVA?= =?us-ascii?Q?ofJvTOORv6cwdikYZbpHoDPZfZYYe2tm7n+CwLHr7MIn0OC/wMo4+uLHbgEP?= =?us-ascii?Q?8MkL7JAZ1kCf+SJv9DNM3Ex0P29lwJrSIdpilzMjqqEM+l2kj6vb0xBektrX?= =?us-ascii?Q?gahxPXtEEGY1M8YrqiokrTRFOToZ6Rl0Y4UxvhRQaH1VsPmrcvtzHYWlSFSN?= =?us-ascii?Q?oqCLL7xLELiHSNQlP68JXoXCnWrMH1ebEBAKZPJN2/trwb9x3vPIcIG4L+iR?= =?us-ascii?Q?lalyHWxzoOz3OGqNsrM+HbhyBCiUZvkkWgPSNBF9hfBHxovz/i2t2n6J2ZOU?= =?us-ascii?Q?2eVGLK+Sb6JWsRgjvau2gM6YgM0B/3t2Qcb5Elv1mPlbVOmt8CcnFK3hdU3J?= =?us-ascii?Q?fo/ItAwaf84+ER+bEQ9MN9BifRiG/4/bxQ2Zg/66ltLB+LswjaPlEXre34WG?= =?us-ascii?Q?LV78EHn/9WApBlcsWhnnOsQUCiB7TAQEstIpTFpA1NX8bKVcskBzyMCFjXWw?= =?us-ascii?Q?jaOZF17/ndktWPagsy97rurJh/9ecWVKXlH3eWJLvrU1lMKkgKndJbbq1qcF?= =?us-ascii?Q?zv/TllUeiISWP9dvE06zmz4qIfPrm3jB+kWw+Nqs0eQPBgbJ7aJkjY/L1zIb?= =?us-ascii?Q?dEJFlZkPBMGYV5aFHd3dQtDKTRafzuqfZK8RO1D8sgttitzhyStzpX1perjF?= =?us-ascii?Q?ZblU6sy9wgXU2hz4oZHevOSsZGmh7coEPQicyVekt1yw8xgWpiu5KcUMByzp?= =?us-ascii?Q?glfH+BG+akucPdtNjT+sBF4Mv7q6nIfM8BGCPVndYqldiZnO9d/IQdIgMKqB?= =?us-ascii?Q?/YZ7oNEST6mBSDuP8Jldvd6YMT4FQVY71yibMY2uVvS7u5LOd9gqz0mEkfDj?= =?us-ascii?Q?7sa0+19EAQpnm9ulEaqIBZ8t0yfkTD5z67PfLTAXcRNsCMpBolFMli1U2pnD?= =?us-ascii?Q?n+P898QIReq+p6Mz756OTAFs8oJ0MnO4JXxkiSylYCfh7mIjEIPA3u+XDzih?= =?us-ascii?Q?lx7Sx9rtALFYzkTHeIn40OwTZ5iCO7U=3D?= X-OriginatorOrg: thelustrecollective.com X-MS-Exchange-CrossTenant-Network-Message-Id: b7ddd097-344b-4bf3-c4ae-08dee036a4d2 X-MS-Exchange-CrossTenant-AuthSource: DM6PR04MB4682.namprd04.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 12 Jul 2026 16:57:23.2214 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 4c9dec06-8f2c-4233-98d5-ca3cb36218fc X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: RTXq6K/8X9o31yPl6BXWb2SWEMLeqnsmdZrmPbLiNpDPY6Ee6Xz/GEX0oW1bYXfl8NjhrACWgAX96lej37i6yYx84tJmKzHFm5lUEgR1baI= X-MS-Exchange-Transport-CrossTenantHeadersStamped: SJ0PR04MB7488 Content-Type: text/plain; charset="utf-8" ext2_init_block_alloc_info() sets up the inode's block reservation info and is already documented as needing truncate_mutex protection. Express that with __must_hold() for Clang's context analysis. Both callers (ext2_get_blocks() and ext2_ioctl()) already hold truncate_mutex. Signed-off-by: Timothy Day --- fs/ext2/balloc.c | 1 + fs/ext2/ext2.h | 3 ++- 2 files changed, 3 insertions(+), 1 deletion(-) diff --git a/fs/ext2/balloc.c b/fs/ext2/balloc.c index adf0f31fbddd1..53c91cb38bdee 100644 --- a/fs/ext2/balloc.c +++ b/fs/ext2/balloc.c @@ -414,6 +414,7 @@ static inline int rsv_is_empty(struct ext2_reserve_wind= ow *rsv) * Needs truncate_mutex protection prior to calling this function. */ void ext2_init_block_alloc_info(struct inode *inode) + __must_hold(&EXT2_I(inode)->truncate_mutex) { struct ext2_inode_info *ei =3D EXT2_I(inode); struct ext2_block_alloc_info *block_i; diff --git a/fs/ext2/ext2.h b/fs/ext2/ext2.h index 4c30d6f5c9726..b6ae29b2e6ec1 100644 --- a/fs/ext2/ext2.h +++ b/fs/ext2/ext2.h @@ -710,7 +710,8 @@ extern struct ext2_group_desc * ext2_get_group_desc(str= uct super_block * sb, struct buffer_head ** bh); extern void ext2_discard_reservation (struct inode *); extern int ext2_should_retry_alloc(struct super_block *sb, int *retries); -extern void ext2_init_block_alloc_info(struct inode *); +extern void ext2_init_block_alloc_info(struct inode *inode) + __must_hold(&EXT2_I(inode)->truncate_mutex); extern void ext2_rsv_window_add(struct super_block *sb, struct ext2_reserv= e_window_node *rsv); =20 /* dir.c */ --=20 2.39.5 From nobody Sat Jul 25 22:33:06 2026 Received: from PH0PR06CU001.outbound.protection.outlook.com (mail-westus3azon11021103.outbound.protection.outlook.com [40.107.208.103]) (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 644D5368D51; Sun, 12 Jul 2026 16:57:33 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=40.107.208.103 ARC-Seal: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1783875455; cv=fail; b=dIW8GUhjScBKjTyw3R5tZ4z3a9JZpUVloP6kKNdQWAKv4Xk0ycMM1C9+gKPJ5wuYIOjK7efKqhTDk5b/W/yF5MrLc37GMFwk0ajn8+qQBHa6+HvBiT48OJ/cyR94Fe++E77oZ0Vzw++MePXAkJ20Q6BkLTb6+aC7vE0q0y+6HuA= ARC-Message-Signature: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1783875455; c=relaxed/simple; bh=w0WXIFHjaF5tdnQ5MjqhMOCeYPge39pH45IqWVDkAU0=; h=From:To:Cc:Subject:Date:Message-Id:In-Reply-To:References: Content-Type:MIME-Version; b=UveU0vHY/0vB/FBNSuiySt4hAArIHdNQkAETlYB8J0guwUeZcXOZ5AuRZ7/JLTEDHd/SybquZSV01HG0HPrE83RPXSs/xKYSMvogSS4MPa/jwHXz1HEIObfHvmvYnHhDWB6ESf/Z4+EDbcrfrLMgnG+PJHp+aOLqNAAuH0qbJRc= ARC-Authentication-Results: i=2; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=thelustrecollective.com; spf=pass smtp.mailfrom=thelustrecollective.com; dkim=pass (2048-bit key) header.d=thelustrecollective.com header.i=@thelustrecollective.com header.b=lGimLSQI; arc=fail smtp.client-ip=40.107.208.103 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=thelustrecollective.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=thelustrecollective.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=thelustrecollective.com header.i=@thelustrecollective.com header.b="lGimLSQI" ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=Y53q0vegzgv9Wj58R9nrrP+MyIKCucV6CYANfkAG91BYDvc6q5HustPxa3PNP1hCgtiPCq78WoSdLhY3TCZx1GhTnj39LfWw0fFt/D+e6I+nPoPBwmPp8K6R+tEgs3FX8bK6Avr45oZjc6cGnJxXd+YRXRWo8yaIHfMGDBOhaTB3/IznA1MddVknZ8u86FqBlvl/gWUTMrsPU+VtX9H4M+9KickgVDWrtbyVtGYBZfin6k8oAIhurxPxy705sACHUM8ozApsCIuj0CJgh1NwEQYYsmoCHufWQlaQ2V/DP/Y+HgIC6BcjMnq7481qnyKPt/P5tKio75kwLuZE/dAqkw== 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=q5D0pAm9auicgv0VLWRxtPfQybwrgBaGrwIwsNCT7DE=; b=cQ3RjQ1AZYUjAkVy/0tuOFvPlHA+g7rx3SybPRRawHbOTPzP3LNrXB9nQqt/j5oeUlcgYHcrt4PW7JBE9x7sSmjtIq8lJwe8blkRDLv2pT1oYRNyu6PAuXgA5KXzYw8ujp0TrYfYrMMHdplnE3zILXQfRVdvL2Z92HkyhzlnvC8nKvZ8piriauz/TO1SCLbOV0uHm96svZeBLOLnKGgNBwhEMG08GCHb10KVePTuU8v/VAjDIffEdJUoJxpU38zgC689N2eqBDleA41zneMlMOPDqijP/FiP/GyrLiuxPRrkNx+2PSk+miMWV640E8tci1i0D68RtNWX0jfripgElw== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=thelustrecollective.com; dmarc=pass action=none header.from=thelustrecollective.com; dkim=pass header.d=thelustrecollective.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=thelustrecollective.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=q5D0pAm9auicgv0VLWRxtPfQybwrgBaGrwIwsNCT7DE=; b=lGimLSQI2NGtjF6u+dOzudzvsHvH+CBf6C4bXPMwxKZTYyC7QxJ65Uj6YJf18MzEvBoCBiiuJrWoE97n50LfslSs7QAbTxNEQtHfLk//FiH3YUPHqYdoYEiDnVChQiT9X0hwMgNLkzCd2r27EM7TQn/P3eGNGAmFpxhVV4x9Rw+wH7DrreClhmtlZECsIgBXo/AQxKGpZFo3bYi3DZprzyq5f5imQTGDE4yuWwXnXbu0l84xy92PhEXr7GHZVOFd3/OZgloYbVVlbbhbwCP7j4efekNcDwPhwpCw4ib/gqPhY1prFk/L30ue+zh+3yeb0V+PuxAB6tHFnWzIajfMug== Authentication-Results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=thelustrecollective.com; Received: from DM6PR04MB4682.namprd04.prod.outlook.com (2603:10b6:5:24::20) by SJ0PR04MB7488.namprd04.prod.outlook.com (2603:10b6:a03:329::10) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.21.181.23; Sun, 12 Jul 2026 16:57:24 +0000 Received: from DM6PR04MB4682.namprd04.prod.outlook.com ([fe80::fa5e:6e7f:2655:bfee]) by DM6PR04MB4682.namprd04.prod.outlook.com ([fe80::fa5e:6e7f:2655:bfee%3]) with mapi id 15.21.0181.019; Sun, 12 Jul 2026 16:57:23 +0000 From: Timothy Day To: linux-ext4@vger.kernel.org Cc: Jan Kara , Marco Elver , linux-fsdevel@vger.kernel.org, linux-kernel@vger.kernel.org, Timothy Day Subject: [PATCH v1 7/9] ext2: annotate block-mapping helpers as requiring truncate_mutex Date: Sun, 12 Jul 2026 12:56:08 -0400 Message-Id: <20260712165610.366474-8-timday@thelustrecollective.com> X-Mailer: git-send-email 2.39.5 In-Reply-To: <20260712165610.366474-1-timday@thelustrecollective.com> References: <20260712165610.366474-1-timday@thelustrecollective.com> Content-Transfer-Encoding: quoted-printable X-ClientProxiedBy: MN2PR15CA0062.namprd15.prod.outlook.com (2603:10b6:208:237::31) To DM6PR04MB4682.namprd04.prod.outlook.com (2603:10b6:5:24::20) 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: DM6PR04MB4682:EE_|SJ0PR04MB7488:EE_ X-MS-Office365-Filtering-Correlation-Id: a2872367-302f-40ce-242c-08dee036a53f X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|23010399003|376014|1800799024|366016|56012099006|18002099003|22082099003; X-Microsoft-Antispam-Message-Info: sn3jekJP/5fARNLblA4tqwxQy6pBzv7XUcsxcxgLQ7487SIYpsS1kJ/mlnMlcLQT1eV+vI6kcPJr+5rzi+mgmF74a6MNqvSgODQRBk4j3mZqE0yLUSzGL/QR8RPVA+N2KkttvrjfGXzgoiLmxBIcHZGjO9ZGLNgzs1O5d3xtJXjTEauOKnBKz9VacX2pO9zV43mmgUJWVkI1zVcwTh5H/CZn3RjIV0PgHZiEL+XydfJdZYQrAc8v5LFa2b2SCGTvfmeOV2DWVH1eLkfxccy6gsa4ua4UCIhkF46gJeMncPnKHtrmYDHlfAWH/r8d0T7x+WKtCVFZOx1OVFCUhcqr5fBrla4NITlI4Th7Xu0zBzL4y/jPw3LfREno81tqedzoUWtQEkPAIBzv3JbcAMWvuBlDQT+rT4H1HIeWD/SyaOyhdOorMRpYpM95hAo8WOqDsWh/T5I77Eyo2yhgoXmJX8GSULqxARfwOZ5q9SmF1RTVkZ4ZopXyAXXaEE4x8qOiuu7aUrq27Cv0H/fIeFG+Z9Uw4Ua6pxG8FpUuQLiGk8932shSucy7fhke+HwAqoY2mr/BxWa9+/OKkPYLqNDp+g0i5HuROszsp+AN5t0zUCS5kOcHGn/H3GZ4UkcR+GD5tmZEcTAxHKILWxndjVbnLikgFXgL6yiSjUWYE6sNLmI= X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DM6PR04MB4682.namprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(23010399003)(376014)(1800799024)(366016)(56012099006)(18002099003)(22082099003);DIR:OUT;SFP:1102; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?FecHa6YPjen6cnzT7HuFc2gX/0BuL09LuuzRzp63ZQMFWszOja3yMXCKVpHn?= =?us-ascii?Q?hG27yL+axTfFMktSp19sZncy+Hf1ELLl17qssjLZHNdkCzR2sMifJoXIKfjD?= =?us-ascii?Q?LjB5ckqkTb0LRxOLSGwd9pz53UMsZlqt01hSucg3+WwCBhqv3wvSihBjOsVV?= =?us-ascii?Q?a3QLml1PbkIKf0Y0mLJrE5Z/kCh+ZJ3qv5MrQrxKPnnO0QjrUGjZ8LAL4PmO?= =?us-ascii?Q?KdhGpozhSwIZ4hzbiGwD8HgCR9LxDWYse+rmuCbo3Ra2WIB9PaLdbFS8t6SB?= =?us-ascii?Q?+m4LAfGUhUs9CmZCIMD1F5GNopbO7d2e+Vr7gNSZvOLiWhWuygkTQrOVOfu0?= =?us-ascii?Q?t6wMchk0ovCmNI1ABNLTjxXaF5tz5o8BIznAb6N13X4ozf6WLMMHAlbPI6nC?= =?us-ascii?Q?fODxzs1Vn23CyptH5J06+FQgkiyXaFccEmNa/Wji9+Od3DpVhdMIPdB8URJv?= =?us-ascii?Q?aZ1bcjv9fKFnHl4LRdTuTxAf+cFPl0btzAGTrgrcbxwIfZepXfKp/LRhGbQz?= =?us-ascii?Q?uYEvBFq1Pv8YJT/SsOApVQl96atwqUgvQpZRkiBqz4UuNpkF+939iNSryIjl?= =?us-ascii?Q?JX/WUWTkHVtZm0UqAEhT5wVuFtWrAUDB+hDkpUZpgO358Rb1+ewy7NAy4kVI?= =?us-ascii?Q?YaZIjArKl53smUtojZ5/et3XP+okE/Jq4qeF3174lgPYzIt68+DRkNsnYMpv?= =?us-ascii?Q?QJ+jAhv5htRDoztwjlXJf23V2eeOSkyHNKj4fEemRJ/0MKvu68RgPOl9MRUp?= =?us-ascii?Q?eKbafJJbB0WdtqNTtL7bPH21McmZRlofb7f+7QWnSbZ02JtYWjTMUvK463ZL?= =?us-ascii?Q?5QjNVhhLuRBtNeQzSpPTJzGIgDL0e467i6sny15vfRTkDPvQVxBhrtoYc7fd?= =?us-ascii?Q?Q0Zox96tiAD0O5F1Q3d1eGyYrjyvGGl3QnmVBdaHo4HWXDVUwbVqPbbbCoVn?= =?us-ascii?Q?byw55XOp/KYGOnUVCr1/hokHawYc+qfQL/OEfSGDSqzQ83HjfBYSmYyDqz9o?= =?us-ascii?Q?Sui+R8bWwU9Y+TPUVQJFL+lmq9gX+Bbt+k5lCrTZZjgP/bHP1Ryh6G1MDoEG?= =?us-ascii?Q?EclP9q/BMwjE5K6AekgfFi8pzSdwG8mvppa3drvrmyJNlyWVbBNzqP6XzQ1l?= =?us-ascii?Q?EBNI3WMguDosIJwRH24sqkXoMbio36zyeRicNAK0dinzvE22JgdTkwMcpDhn?= =?us-ascii?Q?vBrU7pzBJLXw37yr9zISS+XLXBCjOBIn9H6r65ze0Xq/5Eu4T9H0oUdJd0yP?= =?us-ascii?Q?K8ROEoBOaxFTkjfCCc9p+q3mX85urB8N1ptjiLd0BUVCwHzOs+AreEJFqU0R?= =?us-ascii?Q?wiQPI6gjOII5M7S1bpWoaDvUBbJ2mEcmI/ctuR6yV1ZH7IkS+PzTdvuc3sS8?= =?us-ascii?Q?bkLDBWhIav1GYA6wU3ovD9r0tKWvvm5seoYQ9oV8dHEYJoZONf3w+0Ayn2EX?= =?us-ascii?Q?qYX65QprlefeP0dVm2DyIPhMVb94+XS/oKOBXOldzWcOeqmdv3sYlUV2iADf?= =?us-ascii?Q?HfD5cqytE4H7mC+KBYTNjvM6NJvdzeyT7Y8r/y+7O6MG1hiDtscYofUt6EaI?= =?us-ascii?Q?d945NfFfIhpCRE8MR2fOcEVnluPMHLakwvh1//AfAwOHOtfx5c9oaIhIS3cP?= =?us-ascii?Q?13IMelUD3CyLe3DJAbU8Miz+i9uy2dxlt2H6sjGrCPNuAoqcaTPHMm0wNQEi?= =?us-ascii?Q?t/cyRaZRp3tcUk3nT5eG3vwuSG7nPetU5ciVxqleFXZJwgZGKuasbE4cgDS4?= =?us-ascii?Q?WqVy5iKwS0Rbb1W6Q2PdAiJQPYHWuQk=3D?= X-OriginatorOrg: thelustrecollective.com X-MS-Exchange-CrossTenant-Network-Message-Id: a2872367-302f-40ce-242c-08dee036a53f X-MS-Exchange-CrossTenant-AuthSource: DM6PR04MB4682.namprd04.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 12 Jul 2026 16:57:23.9412 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 4c9dec06-8f2c-4233-98d5-ca3cb36218fc X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: bWBYyxmuGQV1utkPMhRI01Mt8me0Ephs4XNvZQbp/ymc6mPBfrhFRT3ovoTsRJL8/bvVXpRWRjme2HtnHRNR/708J3mPep3INNfpJ/QPgKA= X-MS-Exchange-Transport-CrossTenantHeadersStamped: SJ0PR04MB7488 Content-Type: text/plain; charset="utf-8" The indirect-block mapping helpers in inode.c all run under the inode's truncate_mutex. ext2_find_goal(), ext2_alloc_blocks(), ext2_alloc_branch() and ext2_splice_branch() are reached only from ext2_get_blocks() while it holds the mutex. ext2_find_shared(), ext2_free_data() and ext2_free_branches() are called from __ext2_truncate_blocks() while it holds the mutex. Add __must_hold() annotations for the Clang's context analysis to reflect this. Signed-off-by: Timothy Day --- fs/ext2/inode.c | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/fs/ext2/inode.c b/fs/ext2/inode.c index 29808629cce56..f0be5236d04e0 100644 --- a/fs/ext2/inode.c +++ b/fs/ext2/inode.c @@ -329,6 +329,7 @@ static ext2_fsblk_t ext2_find_near(struct inode *inode,= Indirect *ind) =20 static inline ext2_fsblk_t ext2_find_goal(struct inode *inode, long block, Indirect *partial) + __must_hold(&EXT2_I(inode)->truncate_mutex) { struct ext2_block_alloc_info *block_i; =20 @@ -399,6 +400,7 @@ ext2_blks_to_allocate(Indirect * branch, int k, unsigne= d long blks, static int ext2_alloc_blocks(struct inode *inode, ext2_fsblk_t goal, int indirect_blks, int blks, ext2_fsblk_t new_blocks[4], int *err) + __must_hold(&EXT2_I(inode)->truncate_mutex) { int target, i; unsigned long count =3D 0; @@ -479,6 +481,7 @@ static int ext2_alloc_blocks(struct inode *inode, static int ext2_alloc_branch(struct inode *inode, int indirect_blks, int *blks, ext2_fsblk_t goal, int *offsets, Indirect *branch) + __must_hold(&EXT2_I(inode)->truncate_mutex) { int blocksize =3D inode->i_sb->s_blocksize; int i, n =3D 0; @@ -560,6 +563,7 @@ static int ext2_alloc_branch(struct inode *inode, */ static void ext2_splice_branch(struct inode *inode, long block, Indirect *where, int num, int blks) + __must_hold(&EXT2_I(inode)->truncate_mutex) { int i; struct ext2_block_alloc_info *block_i; @@ -1002,6 +1006,7 @@ static Indirect *ext2_find_shared(struct inode *inode, int offsets[4], Indirect chain[4], __le32 *top) + __must_hold(&EXT2_I(inode)->truncate_mutex) { Indirect *partial, *p; int k, err; @@ -1057,6 +1062,7 @@ static Indirect *ext2_find_shared(struct inode *inode, * appropriately. */ static inline void ext2_free_data(struct inode *inode, __le32 *p, __le32 *= q) + __must_hold(&EXT2_I(inode)->truncate_mutex) { ext2_fsblk_t block_to_free =3D 0, count =3D 0; ext2_fsblk_t nr; @@ -1097,6 +1103,7 @@ static inline void ext2_free_data(struct inode *inode= , __le32 *p, __le32 *q) * appropriately. */ static void ext2_free_branches(struct inode *inode, __le32 *p, __le32 *q, = int depth) + __must_hold(&EXT2_I(inode)->truncate_mutex) { struct buffer_head * bh; ext2_fsblk_t nr; --=20 2.39.5 From nobody Sat Jul 25 22:33:06 2026 Received: from BL0PR03CU003.outbound.protection.outlook.com (mail-eastusazon11022104.outbound.protection.outlook.com [52.101.53.104]) (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 D9DA03612DB; Sun, 12 Jul 2026 16:57:35 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=52.101.53.104 ARC-Seal: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1783875458; cv=fail; b=RodMLc9SLbp8yUu2i+dx6cxa5St7o/zYJ1Qo2aQP/Ry1L1z7D8hneKEPydm5D4qPnwJ2Myh7zNTR5mTAGa6TI6TXi8U6oW4E1VvU2zZoEIxP0jmif90pbyLTwxZCDBFXd+ZkFQcSv44kAf+Zq+R7hE4cKD/DSJfezbcHHA/TTiI= ARC-Message-Signature: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1783875458; c=relaxed/simple; bh=U6+Hhpi/YpCgU7Len+8w1PfEFh5y9hJULQS8GBjSb78=; h=From:To:Cc:Subject:Date:Message-Id:In-Reply-To:References: Content-Type:MIME-Version; b=WwYXNnxhJAMVAYCpG217SQkBLotNLf+f34ycKBnzIVfzqLTQHFBuNfEEGN2Xoyqnv5f16+NgCH98EdpTJT/9l2TDIRG2cd/59b+3my9KBgopx6Q9RPN/W9vL6UfGfyCxZzmwRpciZ13vuIV72hes2gOaFl1cYfHWcmwchZVHx64= ARC-Authentication-Results: i=2; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=thelustrecollective.com; spf=pass smtp.mailfrom=thelustrecollective.com; dkim=pass (2048-bit key) header.d=thelustrecollective.com header.i=@thelustrecollective.com header.b=HTV/Nf9+; arc=fail smtp.client-ip=52.101.53.104 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=thelustrecollective.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=thelustrecollective.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=thelustrecollective.com header.i=@thelustrecollective.com header.b="HTV/Nf9+" ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=pMaBmEGwCgVAtQ0XL8nSs4olORpkR9R9IGzJFpuygbrFB4yONHUme1vynGAqJhtKidJg3gffU4Y+jBvRjJleQ6yRDSBJl9OwL9tl636NNHF8/BBSru1J5E2CMPCcUa8E6PKy29XjAA4K1i08+mgpmm/ag5Wuwiy2ZWNS5toRnK5hSGVUZIJx01Wg1Os5yzmHznfD1C9+XmqDCrUjZ3Qc5YMz89ExmusX1ZAo5ZikqnTHBdc3tvScUrvJ7DfFQQhjmB6QI+zvEyIQRXMqGHLtGr6qumef/NgtuKrAm++aUOAvE2HIp4B0Gn37WSvyQUwkxBlybG9jfJYscFm8Xk3lVg== 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=R9JQuet7vaDV1mLmEnGfls18Gbv+0ndrgVNngdlwJHw=; b=N55feJACRWFrKIx3GV5V2LURQ43QqQnAvokIdtSrA9eQF5two/XIIDZl7OD1KFi20Cl46kX5m98oQpgfcidz8RkSMxNA66jnd2A2iIRYCaAOWnLzEfZIwErKde+TDbq3Xbx8t3+HCHAVT/6uEUgeg5HxFHu/JfnGdpm+O1rMouqNgpFdLg+Gf1Emor9npJtnWCw0HyOWBqOFhK6N7C9btCpUTNduJueP7m/efCYKyzL2h1fDkW0qhE0vCUt0ZiKrsJyBKnL2IbAXyYrRaxmGwBxXGEd0lHM71uyBhUtnisf0AQ1wnB8ING7NfBurlCh2ReQZp/XGM+h6UMjITJiJlQ== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=thelustrecollective.com; dmarc=pass action=none header.from=thelustrecollective.com; dkim=pass header.d=thelustrecollective.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=thelustrecollective.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=R9JQuet7vaDV1mLmEnGfls18Gbv+0ndrgVNngdlwJHw=; b=HTV/Nf9+nE0NmDxp7QHHql+lr9s5QjD0hVHbXImEBL3cOVUzlppNTXjfdKC4jQaS9VEV67DQGD4V2j9EDLYFQTHxOf+4TW2NLBknHcZJdBpl/RCHs4f7LMeDGrZIl90BUiyJOX0eEGWkw+gDIJhrVtoBSihhTyuqqaNqpbf+5GtZKSvj0ta0GsAO2etBtXxfHBFirmA4xqK8eTDfMTrv4jM1FZ9MtcYNUNJp6ITP3DRzrHrxYJ2f9aWYjRnEd907TT4mLblOnbeZe5mGddz7YJxdWEkN0rlV8XfjfGXmjt+uo8auxDRjq+b1kk4NOlAUWGNPXSNsHjQBMv0FukPL2Q== Authentication-Results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=thelustrecollective.com; Received: from DM6PR04MB4682.namprd04.prod.outlook.com (2603:10b6:5:24::20) by SJ0PR04MB7488.namprd04.prod.outlook.com (2603:10b6:a03:329::10) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.21.181.23; Sun, 12 Jul 2026 16:57:24 +0000 Received: from DM6PR04MB4682.namprd04.prod.outlook.com ([fe80::fa5e:6e7f:2655:bfee]) by DM6PR04MB4682.namprd04.prod.outlook.com ([fe80::fa5e:6e7f:2655:bfee%3]) with mapi id 15.21.0181.019; Sun, 12 Jul 2026 16:57:24 +0000 From: Timothy Day To: linux-ext4@vger.kernel.org Cc: Jan Kara , Marco Elver , linux-fsdevel@vger.kernel.org, linux-kernel@vger.kernel.org, Timothy Day Subject: [PATCH v1 8/9] ext2: annotate s_rsv_window_root as requiring s_rsv_window_lock Date: Sun, 12 Jul 2026 12:56:09 -0400 Message-Id: <20260712165610.366474-9-timday@thelustrecollective.com> X-Mailer: git-send-email 2.39.5 In-Reply-To: <20260712165610.366474-1-timday@thelustrecollective.com> References: <20260712165610.366474-1-timday@thelustrecollective.com> Content-Transfer-Encoding: quoted-printable X-ClientProxiedBy: MN2PR15CA0062.namprd15.prod.outlook.com (2603:10b6:208:237::31) To DM6PR04MB4682.namprd04.prod.outlook.com (2603:10b6:5:24::20) 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: DM6PR04MB4682:EE_|SJ0PR04MB7488:EE_ X-MS-Office365-Filtering-Correlation-Id: 0b4f6fa1-9f3a-4b32-b5b6-08dee036a5c7 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|23010399003|376014|1800799024|366016|56012099006|18002099003|22082099003; X-Microsoft-Antispam-Message-Info: UtgZYEW1lMNtbtlGs/mdPBfuCvZ/NeEG0jgyJAVV1HKzVb7LMyOLdpTA8VO0Rg2fQPWGGLvxSDHyXm2BnpbbHfEk+5zvUDodZlMqfeL3PJoaVHX9TC8xV3es1mRTz+NVQuMhe5paXq3pyJzRoE/9I5Zu91KnH5czUb0RCzzLFhQwRIGZACW73/ajIGqAIvgONyXj4XbiIgVvxm3gyD6NGF3JzWLacsIeLBHHcUxx0iZFlFhNqPZTR6dvzYHztlOllesS0wJGbq7e5EMLerN6U2xNxNPhCNaJgi7NtvHVhGaUgTx1OSgfgc+ngZTcdvCdfiyiwlhHXDQrC+1vGrsGPTvpNhlru5kt04dmnWd/LH7q38QGoLnqP+1s5kdlFHPF+QRMqf12Ffqa7rUENiy1u9kF5cG2MRU0sVhGVx73ZhNjJCcOnb9J6YnIZ4GKXOor7XKg0M244aRZt/iwA8Xgn3SC+G1EJ/QFGLG21UV+8a1xh2wRK+ZL5HKPc9cTOGlqN5XT1nZF7PKd9rY0usYDgirUWc9gVNe0zcPJ9dwAHLKVwTa/zBMXe3J4JwPZWEuW2awHGHsupZNvEJu6dmZkpQxX2EIccV+KxRoedd5cxuMgkM/WC7vfnirMuwQ/+FT2uQIBNImgUDziqpJjvqZMr56hsvcys1dNpczNeWPp0Wk= X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DM6PR04MB4682.namprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(23010399003)(376014)(1800799024)(366016)(56012099006)(18002099003)(22082099003);DIR:OUT;SFP:1102; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?6M0ViT/Be0/volUC6F4L8kv7BhAtXAjjMFicQUDPAKQs54Jk407Q0+e/Uf8t?= =?us-ascii?Q?RsdLHkfT97+L8HwKQvw2SsmSN53EbcetH8rcjzEKo2+XJ+Xu/dfiVIqmFbmf?= =?us-ascii?Q?kHNZbsJc1vsnJgGxpC+jyTP9tV3za+Ev8lOrssqBciJMQW4aJiAEZF60+ajV?= =?us-ascii?Q?wo50KGy4uOuKIWIjdJzoe+sXLtka3mdmZ5/kSN2PWE20gUpHkYY/8DHU0Mdw?= =?us-ascii?Q?jGgcZyHL6TYIk9YlYt3BacgQ0MbKLiRieifXMM2HGZtmG2Fbsv5mclxI9wWX?= =?us-ascii?Q?yh7Ynr4aMRXEVk5+y6kOvvXVrdGyIrMOB83LEkwNxsxH9b/2vxWCzXV3R/DE?= =?us-ascii?Q?0oJNUpv0h1nHZvTTKI35IQXkkOZO6N2MTZaTwLufuxFm0DWELbnJTsIHhQBs?= =?us-ascii?Q?iVEIx+iHifscUAnzoB7Iqecr6ZLvzXh9Cw/i1E3F3wu1L8ZDJ6h83HMS+1et?= =?us-ascii?Q?F0DH4qNgvRyCESyI2QN4M7yuRr+FboBZI17328rO2JVVTtQO1ns8XyvKaG1l?= =?us-ascii?Q?UlX0MQ+HaSp+uyQlOcWXBRGUvDNNhQ1buit0wGWCYnAuDqLqtREoyFmEDX0K?= =?us-ascii?Q?JRu+8PsknY0LU8bRW02tkQ+naXdDAROKjzBAviaCC8yYT9Enx7ENL5dAeFYi?= =?us-ascii?Q?IaDB0hKPSO5uI2hb/5jP2K91uRvnaJYwKHHzAjNsINUtYQQa+KNJtendBB4P?= =?us-ascii?Q?qW0MTBjw7NqO1yi/mSsUjQigYOlxi9ksnGE2F3DwfEoosgUJ767BTn965XXy?= =?us-ascii?Q?pZms6eikibWFdFsgitlUgOG39v9h4jY/jBwZxiWD/9gcRCxDPI6tUVN9BhzB?= =?us-ascii?Q?5iynTD/hmavC29vWBHEpsLaW757bNtr1Ei6rvweyztqpu9dKXMbw+Rt6vruZ?= =?us-ascii?Q?pfStBwoszN3YxWf+KfSdEQxQiwMMmDrSL1Ri7jfe3PBRmqj4Wyg7opKcFrQO?= =?us-ascii?Q?sFiHFS80ZoCi+dhWKAHLaM6lBeqvcqb9LGkEkLvC4r9IfY8+sxMvidvXHbLn?= =?us-ascii?Q?8LykL+0NIF0nbEj1DFQzPTghMvglcn+ZAMDdqNtA50j9zup2R+U77TQ+PM3t?= =?us-ascii?Q?yiC/kiWOfYw5PRong8U8939jI7qs6Id3RBKkAj2PFzCAlJ2fQB1dJmTYIKVq?= =?us-ascii?Q?6Enm9zN0MgSjZ3MOsNaFyQQvA6GXe2rPTPMwJAwbhytCLZxppI5ucJhqx5G6?= =?us-ascii?Q?8Is8Ok3XQKEJr8f7GrsBimgNZRyWvtxGNLlEPdHFsQpF8YES9/3xoPvjxdk2?= =?us-ascii?Q?KC3pqnRq1vDi/7OooaSgA4RrRacCRJbpn+EkpmhllJfOairXq3uCHUnycfV9?= =?us-ascii?Q?KN6QYJGxyMBhtjxYrLfxq71Ih7wrDFDI9IG4u3yo1did4E2lkBTTOv4XVAcz?= =?us-ascii?Q?k1WC6WQwWHSk7rCBbd0J/cwrwQTILTNuv7qGJDYkyxrqEl9SSeymQnAEuHXB?= =?us-ascii?Q?D69oPw6eO/qF5ZlBsSZJBUlQdG0eDsMn/rTAY63/4PpyRX1s7Thgp6XHZJ2E?= =?us-ascii?Q?lvEcbhm45iXxFPA5c3Fty+mrwlYEh3aK1Dy/AVPqN3QwRfu9PBRwR5QFVarU?= =?us-ascii?Q?MMKHUsiGelBsK5uCImhCVbfejHOq2JFunxJX+1GGVgVte0LQ8l1dxpDS4oS3?= =?us-ascii?Q?TyPt7Om9/WppqvipnBpadf03es264OmDIj+sQHD7ZDiNFQAXHSgTDN6rlq+P?= =?us-ascii?Q?4bFyjAqozKp/PVqwhAXBPGIlHssZBUC3hDyWGkIRI97rUcKEYFEFl5QvYvYS?= =?us-ascii?Q?MWtmXerUMYD4N5cjIPgl9afXAVgxYHc=3D?= X-OriginatorOrg: thelustrecollective.com X-MS-Exchange-CrossTenant-Network-Message-Id: 0b4f6fa1-9f3a-4b32-b5b6-08dee036a5c7 X-MS-Exchange-CrossTenant-AuthSource: DM6PR04MB4682.namprd04.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 12 Jul 2026 16:57:24.8343 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 4c9dec06-8f2c-4233-98d5-ca3cb36218fc X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: YUDfOzBvdEq2HXw/dBeFDDndL25q+ZBtIQpHApa07pGyzG7Q6a8rYUZ3YIGUiEwREgCxNVqpZPiqScWJHH3jcRJhT1fCGj808QUwUTFy2mE= X-MS-Exchange-Transport-CrossTenantHeadersStamped: SJ0PR04MB7488 Content-Type: text/plain; charset="utf-8" The per-filesystem reservation window rb-tree (s_rsv_window_root) is protected by s_rsv_window_lock. Mark the s_rsv_window_root field with __guarded_by() for Clang's context analysis. The helpers (ext2_rsv_window_add, rsv_window_remove, and find_next_reservable_window) that mutate or walk the tree are all called with the s_rsv_window_lock held. Annotate these helpers with __must_hold(). The accesses in ext2_fill_super() are before the superblock is live. Since no concurrent access should be possible, s_rsv_window_lock is not taken. Hence, wrap these accesses in context_unsafe(). Signed-off-by: Timothy Day --- fs/ext2/balloc.c | 3 +++ fs/ext2/ext2.h | 5 +++-- fs/ext2/super.c | 6 ++++-- 3 files changed, 10 insertions(+), 4 deletions(-) diff --git a/fs/ext2/balloc.c b/fs/ext2/balloc.c index 53c91cb38bdee..80acc1e193871 100644 --- a/fs/ext2/balloc.c +++ b/fs/ext2/balloc.c @@ -334,6 +334,7 @@ search_reserve_window(struct rb_root *root, ext2_fsblk_= t goal) */ void ext2_rsv_window_add(struct super_block *sb, struct ext2_reserve_window_node *rsv) + __must_hold(&EXT2_SB(sb)->s_rsv_window_lock) { struct rb_root *root =3D &EXT2_SB(sb)->s_rsv_window_root; struct rb_node *node =3D &rsv->rsv_node; @@ -373,6 +374,7 @@ void ext2_rsv_window_add(struct super_block *sb, */ static void rsv_window_remove(struct super_block *sb, struct ext2_reserve_window_node *rsv) + __must_hold(&EXT2_SB(sb)->s_rsv_window_lock) { rsv->rsv_start =3D EXT2_RESERVE_WINDOW_NOT_ALLOCATED; rsv->rsv_end =3D EXT2_RESERVE_WINDOW_NOT_ALLOCATED; @@ -759,6 +761,7 @@ static int find_next_reservable_window( struct super_block * sb, ext2_fsblk_t start_block, ext2_fsblk_t last_block) + __must_hold(&EXT2_SB(sb)->s_rsv_window_lock) { struct rb_node *next; struct ext2_reserve_window_node *rsv, *prev; diff --git a/fs/ext2/ext2.h b/fs/ext2/ext2.h index b6ae29b2e6ec1..404f4223a6bdc 100644 --- a/fs/ext2/ext2.h +++ b/fs/ext2/ext2.h @@ -102,7 +102,7 @@ struct ext2_sb_info { struct blockgroup_lock *s_blockgroup_lock; /* root of the per fs reservation window tree */ spinlock_t s_rsv_window_lock; - struct rb_root s_rsv_window_root; + struct rb_root s_rsv_window_root __guarded_by(&s_rsv_window_lock); struct ext2_reserve_window_node s_rsv_window_head; /* * s_lock protects against concurrent modifications of s_mount_state, @@ -712,7 +712,8 @@ extern void ext2_discard_reservation (struct inode *); extern int ext2_should_retry_alloc(struct super_block *sb, int *retries); extern void ext2_init_block_alloc_info(struct inode *inode) __must_hold(&EXT2_I(inode)->truncate_mutex); -extern void ext2_rsv_window_add(struct super_block *sb, struct ext2_reserv= e_window_node *rsv); +extern void ext2_rsv_window_add(struct super_block *sb, struct ext2_reserv= e_window_node *rsv) + __must_hold(&EXT2_SB(sb)->s_rsv_window_lock); =20 /* dir.c */ int ext2_add_link(struct dentry *, struct inode *); diff --git a/fs/ext2/super.c b/fs/ext2/super.c index a5a5285dd5784..693e59c1aba5a 100644 --- a/fs/ext2/super.c +++ b/fs/ext2/super.c @@ -1135,7 +1135,8 @@ static int ext2_fill_super(struct super_block *sb, st= ruct fs_context *fc) =20 /* per filesystem reservation list head & lock */ spin_lock_init(&sbi->s_rsv_window_lock); - sbi->s_rsv_window_root =3D RB_ROOT; + /* concurrent access is not possible before the mount completes */ + context_unsafe(sbi->s_rsv_window_root =3D RB_ROOT); /* * Add a single, static dummy reservation to the start of the * reservation window list --- it gives us a placeholder for @@ -1146,7 +1147,8 @@ static int ext2_fill_super(struct super_block *sb, st= ruct fs_context *fc) sbi->s_rsv_window_head.rsv_end =3D EXT2_RESERVE_WINDOW_NOT_ALLOCATED; sbi->s_rsv_window_head.rsv_alloc_hit =3D 0; sbi->s_rsv_window_head.rsv_goal_size =3D 0; - ext2_rsv_window_add(sb, &sbi->s_rsv_window_head); + /* concurrent access is not possible before the mount completes */ + context_unsafe(ext2_rsv_window_add(sb, &sbi->s_rsv_window_head)); =20 err =3D percpu_counter_init(&sbi->s_freeblocks_counter, ext2_count_free_blocks(sb), GFP_KERNEL); --=20 2.39.5 From nobody Sat Jul 25 22:33:06 2026 Received: from PH0PR06CU001.outbound.protection.outlook.com (mail-westus3azon11021103.outbound.protection.outlook.com [40.107.208.103]) (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 808C136A02F; Sun, 12 Jul 2026 16:57:36 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=40.107.208.103 ARC-Seal: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1783875459; cv=fail; b=ujMs0qx7wxEEP/k8/wK9saWt6F0RkSQFjt2beEpid5FnuHI3HE/XvCL8839VfjPSvvUGMVVgzhm/5gcAup85uS36YZxma7Y+PUsXFtalQN20RkWtztAQWPpIab7cmu+DZEjcE84TjU4EfKm1cCR5o55S+qIuZLnd+NBR2DN0+1U= ARC-Message-Signature: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1783875459; c=relaxed/simple; bh=C77XNFfUnUGQ6o33GSWNXHmqUyBJgRzqrewnUR4Sn9M=; h=From:To:Cc:Subject:Date:Message-Id:In-Reply-To:References: Content-Type:MIME-Version; b=i5E5/RmX2UrN2L1lTg+GSNS+QejL1ktCQm/0wUincN0AAW9mpUWI7Lf/px55By6e21piiHufUamVlgTH4WFrNjmvy2ZF/+HyiPr9Xp3VWHUQIrm1VN7RgVik90VFlYRT3KLuCYbN1lOu9xkx1FKifM7PMm0F24okV64gAQ64zSs= ARC-Authentication-Results: i=2; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=thelustrecollective.com; spf=pass smtp.mailfrom=thelustrecollective.com; dkim=pass (2048-bit key) header.d=thelustrecollective.com header.i=@thelustrecollective.com header.b=1wQVOzl9; arc=fail smtp.client-ip=40.107.208.103 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=thelustrecollective.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=thelustrecollective.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=thelustrecollective.com header.i=@thelustrecollective.com header.b="1wQVOzl9" ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=LYjrzEo2gdH575JSyB9mdO+Im/bIk+73dAgVpdIApSwAkHJ/FK47yEBOd1fJrxtFqfoSqzxRAJvRbkcpKy9hY8UagxjFpNb4+sfYWfhqt/3gjg3j7YAJWWIyAJB5TDfLEzpox/1q/NmrRMLnHI9atcZKi2Tw+mRE7xmwwFxQlaTiUcAqwaNV1ZuT8Uk3iK9u4RroxWO5xVIFG4w4Z4ZzYD2Kvs4HC5diwslbFd+Ke1gVz69eygi1kbEIS0FfGLVTnUzYhORAPA5X2bVeojnob+25Np07O1jJhPqCVrSLtY/yrT1jgDXSIYDbpNzJIN4c2/+gFPqE9Ts1j0Js7txo4A== 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=TmvyXashSI8+0X3tFAibzw8cLjTlIaHc9bJgC0f92GI=; b=xsv7TQavS2Zz+QRaQUFxvccZmWkOgQXfJzsLtD6bEFKBA2lQyLqry35ZbR/LXsH4XdjVmk6QByl2JEoZp8BixY1G9asESed3zxQrc4W1f3vs4fup7EtpCO55PrcZ3f1hZGWHiG6o4yAGE3U0Up5jP96AP7ml1nQ1wMrizHOO50PbbhROmAQu5252abfqZJPxVUGKfwDb1I8nt4lKbbBUjgOCp5pAbNMoYnKn+3NYaPAdo23IB1LdbEWgOjhNejYK9Ld8nii2vqA4gab6NtadyEN9xlu0z6VWW1pve63MKX46IGJ5r2EznYN9E50WbHRjh7h9rGuH3GgpwYImcWqQCA== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=thelustrecollective.com; dmarc=pass action=none header.from=thelustrecollective.com; dkim=pass header.d=thelustrecollective.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=thelustrecollective.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=TmvyXashSI8+0X3tFAibzw8cLjTlIaHc9bJgC0f92GI=; b=1wQVOzl9rkBLXUIPdF+GMpKUjnISEv1QbydMScUyi761AUVFAurtwttuBah4eOg/Yna3gp1pDom8pWVpBV0UHqHieWx2lmdQZOfygbdyq4I6OSCqBmIvotkNiXA0weHWWOr/nGPW/DZ3PLew3hiKQs4OQgJCdWnCzR9Lj5C2/RX/g/XydQyThA8H9e+MmqAh/GkJ4lqk9OYM9QKwoHVI8ARceaREb19ACAs3nzonyeYt/Ci3V9FcnX+DDOQXnXgEPxmGLGFRDbHn2Kr0O6icb5OuvDI2H/YpBVDEpAnDSptY/v6MZbkonCMPq7MKrrQpGuhh2SG0yHcpEEqtAumAqw== Authentication-Results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=thelustrecollective.com; Received: from DM6PR04MB4682.namprd04.prod.outlook.com (2603:10b6:5:24::20) by SJ0PR04MB7488.namprd04.prod.outlook.com (2603:10b6:a03:329::10) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.21.181.23; Sun, 12 Jul 2026 16:57:25 +0000 Received: from DM6PR04MB4682.namprd04.prod.outlook.com ([fe80::fa5e:6e7f:2655:bfee]) by DM6PR04MB4682.namprd04.prod.outlook.com ([fe80::fa5e:6e7f:2655:bfee%3]) with mapi id 15.21.0181.019; Sun, 12 Jul 2026 16:57:25 +0000 From: Timothy Day To: linux-ext4@vger.kernel.org Cc: Jan Kara , Marco Elver , linux-fsdevel@vger.kernel.org, linux-kernel@vger.kernel.org, Timothy Day Subject: [PATCH v1 9/9] ext2: enabled context analysis support for ext2 filesystem Date: Sun, 12 Jul 2026 12:56:10 -0400 Message-Id: <20260712165610.366474-10-timday@thelustrecollective.com> X-Mailer: git-send-email 2.39.5 In-Reply-To: <20260712165610.366474-1-timday@thelustrecollective.com> References: <20260712165610.366474-1-timday@thelustrecollective.com> Content-Transfer-Encoding: quoted-printable X-ClientProxiedBy: MN2PR15CA0062.namprd15.prod.outlook.com (2603:10b6:208:237::31) To DM6PR04MB4682.namprd04.prod.outlook.com (2603:10b6:5:24::20) 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: DM6PR04MB4682:EE_|SJ0PR04MB7488:EE_ X-MS-Office365-Filtering-Correlation-Id: 37d372d5-94d9-4604-2a5f-08dee036a63a X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|23010399003|376014|1800799024|366016|6133799003|56012099006|18002099003|22082099003; X-Microsoft-Antispam-Message-Info: MIp1lguHqkJA75zlTKgdfYSFwdPF41GU237AKpFnHRDvE3jyM8I1jJH4J/ZYyItYHjeCGpoGk/KdPnviC4bjhYf8U3ptvM3Xh0vsL78x4ZKi0qDhp3xLHoMUCtYleVS8Az2r8ZR4nr4YeivFEVqbfKrEDgUi0EN0V97nFdm9T+bsSMRJGxYY6uB41rFuoK8GPHb33aTBm6uDgvkofSrFJeG2ciHyTMW/ZNq8YElA+RZeOq0wYaXnQHKF5yhpUg3uwWsfGkM81rINLcutHpOVtyFcS1PJHuJIYaED5Z2HRzrZ8+7yrCUVuN4vMXsp50rr/7HROd0sOFBGUyn3u7raSRdHGZkrA90P2/aDkUdHAEqFqRwYsXhjA+6Rts3prAHKxWu/CUaaZj8DbpS2050Q2YXLf50/1HHznfeSHX2Dotd1w4F36rF7UzlqQGi5jK16PmQ6mTWAQ0oPfVKzIX5hZCQIbWfRJnu+2f4NdoO9CW4/qbPTuFpOvHufUMs8PKXUyd6oddgfHS0ed7/IhN9C0T932eedyEUqkTG+PeC4XhQzZkLC/Jg3k+T6+KBVkrlpihDogEe73HQbCpsiBn84OKJlW/c5SL8b76WI7KCmeellkI76Ikhjy69NAlvK3I0Z8yg/qgP94FHIjVbMgcXzGNKL5gJwLS3jHyZATkRqiEg= X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DM6PR04MB4682.namprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(23010399003)(376014)(1800799024)(366016)(6133799003)(56012099006)(18002099003)(22082099003);DIR:OUT;SFP:1102; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?1U0494GT93BFv9mvUUnqm2RzVueKCr7m5v06MfMg1WBAJYIK1BbE6/DCOmdV?= =?us-ascii?Q?80M734Hr+1cMeqXruRwzkEMpWkcBt9PpvzMBPJaHgJbAOZHWf5XVopQVcSBp?= =?us-ascii?Q?+dL3nnMqTYZAnr/coqo2oaEOVoJK9/7VvXrgG+GUOe4wGf/aTzkWfegkbave?= =?us-ascii?Q?QTtk52uvkgFK1BwmLF9RcG4Ee0CflX/3dmvdAqtvoXJuoMQVbq9t6TMOeI/j?= =?us-ascii?Q?juXc3KZBgHOGLArjjTuIfdmIgq5FOHt2erzRHCARamP7l9nSMfHN7NNLI203?= =?us-ascii?Q?hIRmRCG/4eN5Lvav29zKUzblkv607EjviAn/lXcaQokR3YcRQlXwNZCwJGcL?= =?us-ascii?Q?1OrO8QBokuYHY4iHKUVZXdKtrMjc4o6Ng5ehJz2mbnJ3DnMCDolBW0gOrU3V?= =?us-ascii?Q?V0drfcyheyUfVFv2MKK7WV/dzQrs4YLd55dBgOJnizvUoYcVLA8CyaZ+FDZC?= =?us-ascii?Q?uz/ayfwIQoC1DQo064gnX46KauigR0sXf5kMN7630EACET6NAsYkBFRwuKEq?= =?us-ascii?Q?AktNY3M+JXpkiZpkk1hq5Q1LGaxDwJGFKigsrs/vtgbU7G4CKsEPZnz154BD?= =?us-ascii?Q?W7qXjV6nCFmOlbAfLUTmPwXBpP4m3zt1FNjnwhD0upRdNA0MFWrF0H/96icC?= =?us-ascii?Q?1z7Wlkvj2JpmBBjdr+HG4vC/7ErvM7PwXW6HYkIqbW/gvUh22RjHzs7wHjpG?= =?us-ascii?Q?X2d9QN3D3jT2EI6oynAx0IIGxKgEYpeg7tvaXLpn061z2xgREpSrnEe3/r6c?= =?us-ascii?Q?aZ4t5kXsYUnRpYQQmiLoprDSe92DkfXMa2Rb3BvvuaJh9dVOuzRIB3/2V/du?= =?us-ascii?Q?ptQAFDSQxZachYQxJzIKFli12rByhIpaP1zi1C4a5WlGlVQzdISFIx57P+WJ?= =?us-ascii?Q?NJs2mLqknBkwa5VswOAoqJ3Bsf14nGmVPfRmkNv51TcmCJDxINL6t7aAVUcc?= =?us-ascii?Q?vnF3P40MIMn09n0cwLnOlZLQEIrh8T0T3CPio5x9kcgp6byU2vK4OsCoLrb8?= =?us-ascii?Q?jHBzNtfBCPdTF4fKJyWI6hxvD03FohIHKqOc2eaZ7NARlFGxUoCdcD0DbdUJ?= =?us-ascii?Q?FgSvBvWF5XHSVPvCI/j+6Ri8DQOy6P/ejvUunkOsQbwGdZaRccgs2bbEXoG7?= =?us-ascii?Q?/qYIYTRUJvKvv78p6yiUzI9LAU+F3y6ld6Csk/k6bZ7IPWsow/UNGCZ1dE1n?= =?us-ascii?Q?3p5++qT+jk5/tYjH29Tb9uzQH6nXDuyLztycB6ptF+RCO+IvA2AiinMBuebk?= =?us-ascii?Q?QadT3b0xiNbwl4Z7r+lDH3trZhPaHT/pFbxamPu73dETPpvFtIY2AS4IB7jT?= =?us-ascii?Q?s198rCVM747a5xVf778SCI9r3Q/nl/GJIYORKocw3rClRydFk0Sy9Cw7fXxt?= =?us-ascii?Q?oXTkij3IFjB3IW2A0djaCfeJYk+1UhA8CtMIq57dXs3C32diE9QHP8CWUaq7?= =?us-ascii?Q?loi0ZI9BN0bzaB41XxBuUToMpa2mIfPPCv3xI0ielBUp4pBZQ6MciIPtuGmQ?= =?us-ascii?Q?5bclP9Dv3h9K192IXofxSf1Fh6v4txeGZcthuTExGoCVxgpNIMSBf912V0N4?= =?us-ascii?Q?Wf0JZBHjDk0pThwB+UUq7oaRbOIBfxvCCjzPAuyhumBWYbjrS+AHAwQIbVWg?= =?us-ascii?Q?gtLr0PynpIOpB5K+0FdWQ9IiKPdIsMfa0AveQFg4p32UXsMh5G96OYFbLtwm?= =?us-ascii?Q?GvWOI/DC08SinuX3RFnuHShmdcNRg2FtrTX8Lb14QomRAzLVnZ1bQEjooYOO?= =?us-ascii?Q?zu6Zb+fr0CqAuHRTq972qlxtt3A4wqE=3D?= X-OriginatorOrg: thelustrecollective.com X-MS-Exchange-CrossTenant-Network-Message-Id: 37d372d5-94d9-4604-2a5f-08dee036a63a X-MS-Exchange-CrossTenant-AuthSource: DM6PR04MB4682.namprd04.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 12 Jul 2026 16:57:25.6327 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 4c9dec06-8f2c-4233-98d5-ca3cb36218fc X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: HvF9DYLp5xd1anjAteePzR+nddi8wP7vT+m1eIODNQ/ruj044iaGKdFksVhlJl77aLfTn6+7ZOH37lbZV2QJtInfPqSONou7OAo6HJKTMSc= X-MS-Exchange-Transport-CrossTenantHeadersStamped: SJ0PR04MB7488 Content-Type: text/plain; charset="utf-8" Update ext2 Makefile to support context analysis [1]. [1] https://docs.kernel.org/dev-tools/context-analysis.html Signed-off-by: Timothy Day --- fs/ext2/Makefile | 2 ++ 1 file changed, 2 insertions(+) diff --git a/fs/ext2/Makefile b/fs/ext2/Makefile index 8860948ef9ca4..33db2e9dc9082 100644 --- a/fs/ext2/Makefile +++ b/fs/ext2/Makefile @@ -3,6 +3,8 @@ # Makefile for the linux ext2-filesystem routines. # =20 +CONTEXT_ANALYSIS :=3D y + obj-$(CONFIG_EXT2_FS) +=3D ext2.o =20 ext2-y :=3D balloc.o dir.o file.o ialloc.o inode.o \ --=20 2.39.5