From nobody Tue Sep 29 06:08:57 2026 Received: from SN4PR0501CU005.outbound.protection.outlook.com (mail-southcentralusazon11021078.outbound.protection.outlook.com [40.93.194.78]) (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 031CB310784; Tue, 11 Aug 2026 16:04:04 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=40.93.194.78 ARC-Seal: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1786464246; cv=fail; b=GA7YeS7kn2u4dPOngYf3x2cd7/6nMoMmF2Yvv2SmEKjAN1qDJOzSOcssYQaQJC7ygBAl0Cd9vQppXcKo5ALxOYxh26Bk/RN59xVjEzw0wajGZytseqojX6IME3r7fXA/U/sySixZEN8Fv9U1dklaSQ3DDiw2zJeCmI18cm/Gy4E= ARC-Message-Signature: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1786464246; c=relaxed/simple; bh=wBZYP+H7qZkkIoKnqcQjAG05P3BGIJ+FTmNPt8s7boI=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: Content-Type:MIME-Version; b=HkVeVEazkcfTXC7P99onA+gPAHarZgCYUcOOPY7V14RxqZNEFFHlZ6mnibWoN5I41lMyGV0ti+gAXKvFH8I4UbNEq8hAt4JpkMejSvAWdz0eaT39MKoYouTD71DcAjoitkaSudosH4m3wesNIRn0kRLStBB+W+N0tj0hw1Xhp48= 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=RCqROpQP; arc=fail smtp.client-ip=40.93.194.78 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="RCqROpQP" ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=OmAb0LLFakfT0kR203w0dHMj3Fsej9rzlIMbzs2PjS98uvx9MnU2vZYbVo9FJDi9wcmUq4svxU/MYQ/wglYBxyNC7VoSa8J1IFKpI71BaEGedrm+mxEECp24mliziFer3ZWPqZdiH/FOy9pvflCbkvCID4RCURergiYbhyA5mCg3GLaBZTJZr69WWA0KFb9r3moEMbaZhS9iRsKTE7+nrckPALVUbP9i86F3OFVUJpc5o6Ii2T3KFTaAt8Opj5gY10u/qfo/AdH69frREudEQPJHGNDPGFDq19x6lX9Ovb/krupd0fbCEMa+e4UCoy3dn6JuBLrX84dYovjBAxOW2Q== 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=bxG+EQVJN4tERNdgESHqi+V09hm/cF4MQzVIou1b60I=; b=FLHUo/fEMFLL1SNsJg5dbjyBuoyUld9XlGmcLI2bfxG/TY4kf5PDM7K3vr64zt7+ceI2fjrF84JEaxaZy0eEgxicplFpSb7/F+PRFhr91k8FLSt59XIdt3J92rCUsu80CVubGAmzqAXRN/MO5nASyPf0/znNVHDH7MFfRpj8pl/6gXoAL22Hk5Twt9hNcAPz3J0IutQG09IK3RMOBTs83f25cP8IBHMtYdCzzkrqOwx/DfFFkxHCqxGFGQ8xQ1WYA3ofIxxEPSEjA+xhS1PynSYYeJeNfL2uk2qsKwcIyJxKDx0ZrHu1aR6ooF/tavlpxMaM10OlfQ2e1nNOxjsRXw== 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=bxG+EQVJN4tERNdgESHqi+V09hm/cF4MQzVIou1b60I=; b=RCqROpQPS7gWGGV29UlAQuiRxe4RtkNbDX+Iq1R3yNBby9cVhNuwZ9xIDKnCx/B0swQElfWd6uxnC80ouBCOwkSqO97cBqmAXqfkdOvZEDsbiWxx503fjY2+cx13Yz+PvrM0x/czeCfjTH5qJPv8fImr1Rx3ow9mbL252bHHMBV8rigzV/Q7hvTf0CxLKSawGwHksART+ALSoZx+fz9cUDRCdFPUQ2OsFjx4WVz+bNEmokNIT5iSEWbNJdQCIueey2BBr861O8Eg60ILRQNcoW1QSFgfw/wnDcR769A+ywJZgRigDnMcqC1y7E0oNmuXWbuptAM0bskokfV8UeF8xg== 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 MN2PR04MB6336.namprd04.prod.outlook.com (2603:10b6:208:1a3::7) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.21.292.25; Tue, 11 Aug 2026 16:04:00 +0000 Received: from DM6PR04MB4682.namprd04.prod.outlook.com ([fe80::fa5e:6e7f:2655:bfee]) by DM6PR04MB4682.namprd04.prod.outlook.com ([fe80::fa5e:6e7f:2655:bfee%5]) with mapi id 15.21.0292.024; Tue, 11 Aug 2026 16:04:00 +0000 From: Timothy Day To: linux-ext4@vger.kernel.org Cc: Jan Kara , Marco Elver , Theodore Tso , linux-fsdevel@vger.kernel.org, linux-kernel@vger.kernel.org, Timothy Day Subject: [PATCH v2 1/8] ext2: mark s_next_generation as guarded by s_next_gen_lock Date: Tue, 11 Aug 2026 12:03:29 -0400 Message-ID: <20260811160336.782342-2-timday@thelustrecollective.com> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20260811160336.782342-1-timday@thelustrecollective.com> References: <20260811160336.782342-1-timday@thelustrecollective.com> Content-Transfer-Encoding: quoted-printable X-ClientProxiedBy: CH0P220CA0001.NAMP220.PROD.OUTLOOK.COM (2603:10b6:610:ef::19) 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_|MN2PR04MB6336:EE_ X-MS-Office365-Filtering-Correlation-Id: cb124ae1-208b-4dcc-7ddb-08def7c227ed X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|376014|366016|1800799024|23010399003|56012099006|10067099003|6133799003|18002099003|22082099003; X-Microsoft-Antispam-Message-Info: R8bCxdw1qgx5PiYvAzaIRmfl0a8cf97RF76BSJqHxCrjBoU+3AAp8LyPjzIzVTGPfXp2oB4Za/30NDatHUPrGeYW9W/1dfx4FFffu4jHKbT8QaUzpG849bszKk0IeyIohgO9lR1XbAayAqSkWNWo7g8RESM/N7LJJBfQ8GrICylRDsoVtdvUNE2q6bPoLAl0u77gcNxsTjb7X1Ur7qzUahlxQjrdtNUqq4o5pU6bMjgkOuJMnMvElxrtNyShOqvw/DBRTCb3fGu7KVqWazP5UotQs9cTKlK4VvS5yiTBmQfhhgr3bqV79jf9Prtd72zkB0eSZXDnctgyccfk5bb7G5kvZiq9AM+Or5SoJYjxWfyykx+CKGVMYD774JZXZZ5t6C6QjNG5f78kNtmsfy+0eDCFHrA72NPvsxi6zAjexZfKzKU18iOKfY8kWz0N2nlYZT8r8HguEj8gJuFrOqg8pVY/RMBvoO6Q3uCJQg821632IGZNwxS3fI+7L5usqYcVMyLkwR0hxSbhVB03d3sLmILyShi7NSClWhze8l2box88V3CmNk2EFIZh5u79bV64A4cBwV53TCxljoyzYizvaiAnI2Wer1N97chfFXAV3ablRAlMPrCg+NMqOc+sAvNCLr0wmQjqnb/GQVWo5jjyd3WWW7fm55gJwhy96g2d0Mg= 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)(376014)(366016)(1800799024)(23010399003)(56012099006)(10067099003)(6133799003)(18002099003)(22082099003);DIR:OUT;SFP:1102; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?Nlm2gqN/tqhwGZtqnnEKMtjTeNno9O1xkXLG7HUXHi78VAXJJIeNpSFOb3gm?= =?us-ascii?Q?nLR480Oxd9vHWtUPamKF5U8tEEFRX8yrhqTR48+z7vr3HIH11dcRYosWx9Z6?= =?us-ascii?Q?17olfyf6EVf4C46j2BG5b85nTvHhkuTevWAKa+tTwObxGosUeZ6B72ZAqFT+?= =?us-ascii?Q?q1tx2lmHt1k+G2Fncd2WZGeTQIDQURC/p4vB7DkRoDrWSletnol9fTLLosI7?= =?us-ascii?Q?L1RT/XaBDbOQ3HvaStHH20fvCARewVfh9g6lfAZnUvGQhnlKtlBr3Io6fYSn?= =?us-ascii?Q?wQGwAZs3TDTPPJAv/LjzhRvyya28QM5XCB+FaG5rc6qFhFbki3i80bqeFC2L?= =?us-ascii?Q?wGvAa+rfpn8I8iOOQKQZm0zjR6q8QM8Xf1GFXAJ0MbsHjBQyeVTe4pfTbfMq?= =?us-ascii?Q?fSjPowIoU9e0BLUY80K0OC2cXt31RdgyYK78YfvxwPbCCkhjJPWeYBrfg0Ay?= =?us-ascii?Q?LNw0V5CO2b7jKgi8csUHILSgU5nXSZeBvmkYxS6PNtqGJZkFphiu6Yv9DWD/?= =?us-ascii?Q?Ic3nVwEzqA01fPT4QrQUxiYSCHqs1Z1+z7fYcY+RsARv/KTcAzR3bMU7qC6l?= =?us-ascii?Q?Eks4D0LnKfl74KTyXpjYQhS0XV7EBXOp6I2WkLX7su98oRGOrpmUuMr0uTyT?= =?us-ascii?Q?B/UOQpszdEauFlLO8JJBu1gr35lcWidES7sKPegWocwbF7Edu53cgTdJSwcm?= =?us-ascii?Q?EXqzm4SZYytswwviQv4peFlcz3r+sAHz4bznp6isGIivnPgl0aAFkYsYolw3?= =?us-ascii?Q?EQATS3879KFgEUa3vLRP2EBmNdTs3XmOisqcVKJRu6OexptXPJuUkdZias3m?= =?us-ascii?Q?SP/ywkqVdrYbDadPsQMi+/1XSo/r2AWNHtOsWBl7rqwekbIurTJzabAVuUX3?= =?us-ascii?Q?Ln8jzJQ885dRF7Hx6sUBIBsSvwJ1bjhzSy3jJXpTBCpDnAunYWv2hFHjMChX?= =?us-ascii?Q?DGI4Kv5svO5xDFzX9jm8OVnEzw3/TBoBmyfe5cwgkByFqoBT5/cyYEWBt9Rq?= =?us-ascii?Q?uRFGUNTNTQaizo/83wY5I3enmLIKSWLc04PqAe92ltsa+R8N90tyDx1xUCxn?= =?us-ascii?Q?OLUC2W7SSLUVoLUBMZDOepgqUnIZqwK2c7DQR3Jn/LcWSZSFkLqpEJBUqIpX?= =?us-ascii?Q?0o8yRUldzjEpY9Ppfm6k2a3/L5N/mUs7xkVfseQrK9pxPpbt6WQsuatchY5M?= =?us-ascii?Q?RIW3iQ9MnNtolmJgRGa3gkOVDAiK7diMOrr+DEbENlHCSn4+wm7jfO8COZC4?= =?us-ascii?Q?arEIWroOCDkbG61OkRIJpl5EkFyeYOvJd7tOPz+Kp4NToysvDrzNtqP9F4Qs?= =?us-ascii?Q?8YgOu1kIM9mFTRc/0VsQAtNigandMNwzJq9sN8tYQrs0UV9Zi3v+xSz+XtyX?= =?us-ascii?Q?4yJhSN4ktJTtH4XfyxUiLem/XDa11jFcnoMREaH34mGT1dwc6hnvMUCbhepr?= =?us-ascii?Q?E7/yg16Pylv68DqytY3gA1Iw7THZIJX52BZHXRlt5Cm7bUXNDTajbHb0ZCS8?= =?us-ascii?Q?YRuONVhAjY8hHlc81Uhy1zPKNfXYmbTnOocOaih15rPQrvypaBD/dlwhqsFm?= =?us-ascii?Q?tEb26FoSb0vcFdU5VlIycCJXmsfCnZ58GJ+rrcGew/jQyn8u/9b/3ViexnOr?= =?us-ascii?Q?Aj8nqRhuNFyx1hkKqsnZs13IQniXpKN6KgRsy9wJIgbkwyVBoOgYzpMIUkLA?= =?us-ascii?Q?8qnrOfIdNGk8xu8x0lmup7Z4q0yuDgRAeJla73G0S+N0zDa4OaTz3mxZ4LC4?= =?us-ascii?Q?Cbulw3sGcuUNBS5hV8f4hc9NLjlDCeU=3D?= X-OriginatorOrg: thelustrecollective.com X-MS-Exchange-CrossTenant-Network-Message-Id: cb124ae1-208b-4dcc-7ddb-08def7c227ed X-MS-Exchange-CrossTenant-AuthSource: DM6PR04MB4682.namprd04.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 11 Aug 2026 16:04:00.0714 (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: ossA5rgH1YlMbAySZz188PeSYz23p7xANCtnp9adbafrCYK0lALZWndR5DrXMgmFXHUbpmyMCWRbHTTAly0kTzKP55mo1Qd2G986mMoM1WE= X-MS-Exchange-Transport-CrossTenantHeadersStamped: MN2PR04MB6336 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. Convert the spinlock initialization to use scoped_guard(spinlock_init, ...) and place the write under the guard to prevent a warning. Signed-off-by: Timothy Day Acked-by: Marco Elver --- fs/ext2/ext2.h | 2 +- fs/ext2/super.c | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/fs/ext2/ext2.h b/fs/ext2/ext2.h index 79f7b395258c..e851d2a6be66 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 3999f8f3b156..b8bb1f88a620 100644 --- a/fs/ext2/super.c +++ b/fs/ext2/super.c @@ -1125,8 +1125,8 @@ static int ext2_fill_super(struct super_block *sb, st= ruct 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); + scoped_guard(spinlock_init, &sbi->s_next_gen_lock) + sbi->s_next_generation =3D get_random_u32(); =20 /* per filesystem reservation list head & lock */ spin_lock_init(&sbi->s_rsv_window_lock); --=20 2.43.0 From nobody Tue Sep 29 06:08:57 2026 Received: from SN4PR0501CU005.outbound.protection.outlook.com (mail-southcentralusazon11021078.outbound.protection.outlook.com [40.93.194.78]) (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 29C3C3BFAEE; Tue, 11 Aug 2026 16:04:12 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=40.93.194.78 ARC-Seal: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1786464253; cv=fail; b=bej911JD5Ung9yHfMTJ++v+6dA8vsIk96TNTuqxAP3+JEolzF2W9hP7bCYLEByMQVpwp/I8j/S4m5x35WKnDjSlEZjzyf8FsJrSfqF/UMHSGeY2JnKjeLLvQZJYzf0O+/nBYRPD8F3qMd9rk9BwsiGBnnF4WPLOSPM9wH7OiFKU= ARC-Message-Signature: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1786464253; c=relaxed/simple; bh=wvFPTKN7/iTz0wEr9D58Ho4Tqy/ZAMeM723IsFNTdWM=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: Content-Type:MIME-Version; b=numHHG1A7knvUTXtMADRn15jND33A5xwnm5RnexMrC7092+FmI2Lkc3aQatwPkmvPCY2sFDaa4yreFATDzT5mOx9N5y1xraLolkw2fhidWZ40dRrYGNCn9dDt5WOWjnkvpZRJZUQx6OYV1q8/DhwScsGytOV6TlN0zJdfvLPu/0= 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=i16V/UQD; arc=fail smtp.client-ip=40.93.194.78 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="i16V/UQD" ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=MGwzGhmCuUMEJLAo9ybP3PbMj1msijKBQ7TnJwI11gDgTW4yEB1AvfhoBXunIiG/KQnwbcLbTFOx2upCsQJcBGDWBOosAHGaeh5yB8FPzHpIEtn/T5s/ySLvrYwzTJgbJHTYI/72cUqjJ9+Gp1RDfDED9W/HLMXNpY6g9TUGRsUoH6cpe3isDKKpvMZS2VNt98EWIGwKdadlsoStTtxzD/rgoNycfTS9NEdmEhy2hgIHMIfnm+3jHsfRZHmJIX5YtAAASH3ED3RJ6sntgHT5kEKYuT2rBHOZc7gP55C3dfCukHFp6ASnHoEsYtp1UEK09LvuvQV/DoW7ZNxE/E9zmg== 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=7o1SZWh8GIRrXgPo374tuvGLGAfgwR2pcbHAhNFdGkg=; b=VM7ne715wlSJ6TYB2X+d0Y9Wakj8/JsXn0vTqz5RoI4Q3Zk3FynSwpdismP9hskbf/FqAV7NnbdZPVJ9pw5dR5PdWnDX4tALDrA5ibgYDXrzjGU/dkNPfrnvgrxiuOMaC9G3nslnGy00sULEu17WMMEONzWwPSZMq/XBl7p6vsdLhpp3ccB6ghNe5GlpDwAN9zEtoPiQFH46EC1ZBaDKF7JzC3P0iFvY07KxMSqq0KbFNdGMw4yHTq9Y10k7ZhQyliQhFikK1VQsBswSMPFuq18Z4eEgjyrc7mGJMQUCf2HJd8DYStTsHeMDOWadjgbCuX56QDSIbNTI2SvB7h+Aow== 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=7o1SZWh8GIRrXgPo374tuvGLGAfgwR2pcbHAhNFdGkg=; b=i16V/UQDi1LkHUsz9Jgbp4z4nyAlahS8Gb/UcuNtbGyRRJZnW0Z0wgryNSPrBxnQPCIkQT/Gc94xw0R4Xbz0k5KsxA2+RNtC9cPP1518WS3MWud6dCYmR/l2hA7BPZju2KWqesglalXnJz3vufU+K/HcsB98QO3Id3CkmnhFG9xysz22Uxq+mFLs0DumDsDnHXQ3bG6St86F5bLDHzh7LPvdYyTfat18DZjez3OkyHhcJWB7HhGNm+Nbs06N4T7FFZeBT+YLns6ADQ5z/EIkwxqGGAfknjQWqqbjAuINcr4u7LxEw925mljyEPEa37y2tRACm8q2G1fcrzVD2VOhig== 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 MN2PR04MB6336.namprd04.prod.outlook.com (2603:10b6:208:1a3::7) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.21.292.25; Tue, 11 Aug 2026 16:04:03 +0000 Received: from DM6PR04MB4682.namprd04.prod.outlook.com ([fe80::fa5e:6e7f:2655:bfee]) by DM6PR04MB4682.namprd04.prod.outlook.com ([fe80::fa5e:6e7f:2655:bfee%5]) with mapi id 15.21.0292.024; Tue, 11 Aug 2026 16:04:01 +0000 From: Timothy Day To: linux-ext4@vger.kernel.org Cc: Jan Kara , Marco Elver , Theodore Tso , linux-fsdevel@vger.kernel.org, linux-kernel@vger.kernel.org, Timothy Day Subject: [PATCH v2 2/8] ext2: annotate ext2_update_dynamic_rev() as requiring s_lock Date: Tue, 11 Aug 2026 12:03:30 -0400 Message-ID: <20260811160336.782342-3-timday@thelustrecollective.com> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20260811160336.782342-1-timday@thelustrecollective.com> References: <20260811160336.782342-1-timday@thelustrecollective.com> Content-Transfer-Encoding: quoted-printable X-ClientProxiedBy: CH0P220CA0001.NAMP220.PROD.OUTLOOK.COM (2603:10b6:610:ef::19) 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_|MN2PR04MB6336:EE_ X-MS-Office365-Filtering-Correlation-Id: 6123f9cd-6887-44ad-1116-08def7c228a5 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|376014|366016|1800799024|23010399003|56012099006|10067099003|18002099003|22082099003; X-Microsoft-Antispam-Message-Info: BN8Ow+BW11nwxXBhlFG/4X/9ok6geBWfdREoLQohBGDN/q9pkzI3JJ8rdfZewy5aOGZxKsdQ82kRmKSgBbjwBCTmVd7ckZKQJhoJ+8RtH0Zdr1DS8sOVjyY9pPVpji4TN+xLrWGoF7RptNO6c1U/QFM9k6MXhx+f2qW7Fikgw0gmikoBWAhcoQ8F8P7RsAdwdJN/KB5ffeT9WLE0Pl9C/SBsToRKuqQxpt7yv4mJOM1lhdNnkTtac6Edd0+IPMc3Oa0l5Yu2nU36/thYt8o1G/KG+DAWvPSjOKvmIvya99fYRL/rnJ+krcaUOyWrof4Fms6+FToHUiy0Go7XsQSJd/4KDf6t4bfQBlMqQ/0taphklR1AxhSr8sOJx/mf8Clc9zP+mdkj59tXEs4+1+GfwrPPa6IiIJXSiXErBlen5l43YYrzBo3hyto8WG35yCHusIRuV2eorKLlkM0AoRmJowKd/myAFc3LXA8JEfqQP3IXaR/FblexlIwQJI2qQdcLmEHhmsdCYLTK86FcZkqr8ZQYfRfzqxwskDpz55Iw5xs78dbNAxPzEVt6M1O362Y0KA2f1dU6bmGNCRYD9l+eDQHzW4kvB3RTbMYEDn7VMe1yk1yPL0AwK6gjqrcFp8zAKaPwHIhBfsJzBq83rm07YF6INqE/APLoEO53/JD9Xe8= 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)(376014)(366016)(1800799024)(23010399003)(56012099006)(10067099003)(18002099003)(22082099003);DIR:OUT;SFP:1102; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?KeRaIvtb4hE6pFxiJf2pcI0Djyrb19qCoKtkrv6QN99eIXwCy7YjIdQcWWnz?= =?us-ascii?Q?2qnyAOb94R32bcUOsPyOXbniwoDsYPXspGcJBbqtC1apePHD4pQTszePvIwy?= =?us-ascii?Q?zJTffNiDGRkx6ik3WoFEIq9hFPd6QyJL0U/5+d0q8/zXEOX4JuTw0sDw7e/a?= =?us-ascii?Q?/74BsZAcpty/PeIEjmiqTiojN6UYIg87ij2Z0DTIj6cDrdov3aBSNgEZg1x8?= =?us-ascii?Q?53ARveqEEGwbo0D0d9XIOGmDObZzkdpKNAtwm390+vSqE9Q5VJ/U9Ma55/Dq?= =?us-ascii?Q?pr0B98hDa48H2dp9FVeAVz+BVnTDD9/cLW7wq8kfiDPfULDwCcVeYboKm8Q+?= =?us-ascii?Q?aZQOsZejti/lppYkZHxpAteiakrOAFOC2/r4Bo41YRCw+5F47YPOdoFpRVZK?= =?us-ascii?Q?p/Izubch9Xn98DBYMXu/CgNXZaTK//B9lTwhz+M21G63CnDof81x3Onn2rb9?= =?us-ascii?Q?QT1bOxjx2lq1YMO2Bzzr3vP6YzTOUgtZZSfTWzGZzGgKdPydcJXo67MKpcAP?= =?us-ascii?Q?DC9u8e9CZhZlpJifWUCU5BG1myV/VBMoX56BVhE6h4m+0MKuID66pg5bbhh+?= =?us-ascii?Q?ntfYDHMYBybp6/yV+KftEB94cqS4QTCt73S+GJfzP6uDKF/8jxxnucr458jL?= =?us-ascii?Q?qEJpB7K83/kI5MOlNo5D6dIJZK2S6vsfv6IX4K9ZDqsKWZDY7bw3mMwkJrjG?= =?us-ascii?Q?AjObMVL1voWYNDOsV6IPIudsVbM+rsTrM0ULjt1aOCPtFUeLhGmRRppVGiw+?= =?us-ascii?Q?mEzWrPlkxTyLEAd9xr+CcZbpb5CRC2wst1cEU1zKv41o4H1rYejfLv+SLDMU?= =?us-ascii?Q?U8RLcZBpP2c6x13zYPtFA+c1QdeYNCWTB8Awg0ZwCZr/XFgr/7XiWhnBIUFd?= =?us-ascii?Q?kLI/2jjqSnEXAcpoG6EJ7P+I8dxr8kyBkJnvi0Bwh2W63g8Fo6xlmLsTCQeO?= =?us-ascii?Q?apGdkMBaZFvTiFOedPUmn6iC3bxMoSvyLtv0CQe/t3giuUcVOlW6hA44RDXt?= =?us-ascii?Q?4UTHboNAdkzeU5REZdxs3KF5iyt8TP/qp6FW48uI4eM2xeke8OE2saW5IY1Q?= =?us-ascii?Q?W5XSmzwq/5oAVpaEcgcW37prXFJOAcKe/CKSVSNJoVHKG5JGTXbYcW877oz5?= =?us-ascii?Q?/RsR8ohWkBYz34pTyQoo8AqQK34feO8wilFzNffF2B/udb1isGNWXoNObJf9?= =?us-ascii?Q?YVwJwo3yPGHAlFNAAlDtIzIdIHAeYwVZhy/C6Dv8nSYu1mz/5sbwp5OGztf0?= =?us-ascii?Q?Uw7v42SawJ4xgvvF0UjLPwQzf6i8Ih03M3m5rJL4qHJf6sw7YOVMZtbP3qFK?= =?us-ascii?Q?2+lTH2XK3T/aooVq7QPqkztxtC3nuFtMQLhrOKFdryW4bxJR6ltr72qFIs3m?= =?us-ascii?Q?ElblCuPJRqYo6HjR6PQkc5TMEubVvfZUvf5p7+rop9Zb2XojB2NL8DKdUfYD?= =?us-ascii?Q?4qn1nujavbEx7O72/6loVAdQdUCaTPAzvdc6rN3LC1iPg1KhvyHI7oCBUmKW?= =?us-ascii?Q?8Qw9x+vOczlNJQuOF+o4bNzGaGiAW2CvhB21ejpOK+aYrgW/FzYljodIluiH?= =?us-ascii?Q?r3yyg3RntHeCP1jh46ai7It/r0Ow5T2arIgcp6Bz6cxI7V0xy6MbaAgGxlpz?= =?us-ascii?Q?XEcxGIQZP3gT001vFSIn855THFVRmp3ieQGFgsaZTEH+OpxVtlW0X8JXELJg?= =?us-ascii?Q?C8nHR9wzDLVQV6pxQEz6aQ2IYEaJ7lOaSxqcrNkJmfm/jU+Ls87hMbkPxPQV?= =?us-ascii?Q?8b/GBlXFJM0YKn6G+mNhn8F4e87YPNY=3D?= X-OriginatorOrg: thelustrecollective.com X-MS-Exchange-CrossTenant-Network-Message-Id: 6123f9cd-6887-44ad-1116-08def7c228a5 X-MS-Exchange-CrossTenant-AuthSource: DM6PR04MB4682.namprd04.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 11 Aug 2026 16:04:01.3192 (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: DVLMai7S87lVeH3adUfesKvWYNMDX3O2OvukG86Kl9XGu9On08zKFicvZH/FQeqcOS4BB4hLaIphAGWU21PIVNXgD+Furw6LIzS1G+P7OZk= X-MS-Exchange-Transport-CrossTenantHeadersStamped: MN2PR04MB6336 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 Acked-by: Marco Elver --- 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 e851d2a6be66..c8bf2e69675d 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 b8bb1f88a620..5bf63943828b 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.43.0 From nobody Tue Sep 29 06:08:57 2026 Received: from SN4PR0501CU005.outbound.protection.outlook.com (mail-southcentralusazon11021078.outbound.protection.outlook.com [40.93.194.78]) (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 125113C1967; Tue, 11 Aug 2026 16:04:14 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=40.93.194.78 ARC-Seal: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1786464255; cv=fail; b=KbcmD9C+LfnQHBj3OSvwzVv2B7LhSHtzky3VfWfi7uRoPw8xvdvJcadALZ26OgFCoeyo77EwRn3N/Qb7rmukhxAqy5UtuQyjWQ9CD3qtgRRpcEfJGVQdePTKUJhNoFiqjM1Tuz3I0fTpzv7RE4S4i2HqNdpZmaocganH5CuqUnE= ARC-Message-Signature: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1786464255; c=relaxed/simple; bh=Eivo8aIPBNtIb5DqM2KTTtzYEim60rujImB4LmrTHPE=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: Content-Type:MIME-Version; b=B0+cI8IQwzB61/RYFoBDKnN0ejeD0BEiqd0A0tpW8YoNVqzjEHhhqTjugdnEAU6jvXizgllJ9SSU7eU9goIWMi8VIT4tM8kaGIIHFb4N701S+U+d+9kCUoaM2+rc/f+wNaYgFqu00eWYKC6l8UOWLI3SJleB64TX0sEJQcz2vfU= 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=DYXxNZDF; arc=fail smtp.client-ip=40.93.194.78 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="DYXxNZDF" ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=XO81PhthFDhjmu5hm1U3+YrLi/lxpxEqc6gmsnyT9gY+EiO5C8wHhHKhT5g70veLf95dUQMexqjDVY0WWjnDRpJzP+h3HTP+tV0MFpIiICvfhdDdnpCr1+wEbcE/OyeQaS0lCnl3KjChRSSyz7z0z/TCakTzgp3YYFUeCOGFKeQp/J9ku06DadXmTxZCNExsfL89Ul/H/D/XRHCgN62OG0HcvpD8QsPfS59QyNt3XFv358cC1gKv50tLagjF5sTNQBQeuQK2P6vXsWn1VjIOPrbnI7F5fvNUvAg9gLw2XisRMSkq53ZaJ9Pg+wSps6stxkQpcH8vBgolcFe8Cmbn3Q== 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=e7O+SO9TcW3NA5uqsezSugmmnRy+Q/rliNKxXhLpJrI=; b=yr9BItOVgbkhh+kBossZ3plF73DW1td7EJ15H98hTGB+Mc3j6Sa65J1gtNc849ftrTE5OIPOBamiasp7wGFX2hH9hiT4ioLEQux9YK07Fuawyjbd/Pyj706yZQUFKMXp+rC1pM0eviYyQSkyQYIGLpE7rCXsbTw3j0q/zzsL36ilVhRSWyMma8dLXbeLWewD7Ydgv2Mkd2syFmwBi2gATuKwCdcnh48yK1ViRXglhLQ4XGfyXmxcT//fC6CJWNaqQJ9RFhBYlIjp9yms5C9dWiRR/3Gc6kBlJQQ+dHAV4TkQMv/R36lRLWTHWSGHfZtbiv13eFJutSZILK3SXy/pcQ== 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=e7O+SO9TcW3NA5uqsezSugmmnRy+Q/rliNKxXhLpJrI=; b=DYXxNZDF1WGSzFMHGZh0E6Mvi3UMN8jTd81IS6I6K/bv6fp436ECdSmG4iNt2uHFaLa5iH7yhNtnu1hu0v0I1TCKvl+XINNyUlK4IAa5Tq1549VwUxqEIX4mxWs2XRrp4wI7E1zXKTcGCww0ThKx1yx1MNLZ7Wur8o5GPrCUgupaoS5jPzrqgZd5wXgzflwlA3JhcH8OFT2PhydaNMpZYRxMPJzE7H1r7k6zsNlvaaLtRmepAWATBK+Gyhfb5A/bfQWoEMFyhDDKOEeuroNc7o/ds0gPjqVKNL6pSSwyAFZc5HM7ELW+ocdhBu7EoAdUSixLKWRany9AHVCE+sD8bg== 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 MN2PR04MB6336.namprd04.prod.outlook.com (2603:10b6:208:1a3::7) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.21.292.25; Tue, 11 Aug 2026 16:04:03 +0000 Received: from DM6PR04MB4682.namprd04.prod.outlook.com ([fe80::fa5e:6e7f:2655:bfee]) by DM6PR04MB4682.namprd04.prod.outlook.com ([fe80::fa5e:6e7f:2655:bfee%5]) with mapi id 15.21.0292.024; Tue, 11 Aug 2026 16:04:03 +0000 From: Timothy Day To: linux-ext4@vger.kernel.org Cc: Jan Kara , Marco Elver , Theodore Tso , linux-fsdevel@vger.kernel.org, linux-kernel@vger.kernel.org, Timothy Day Subject: [PATCH v2 3/8] ext2: mark statfs overhead cache as guarded by s_lock Date: Tue, 11 Aug 2026 12:03:31 -0400 Message-ID: <20260811160336.782342-4-timday@thelustrecollective.com> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20260811160336.782342-1-timday@thelustrecollective.com> References: <20260811160336.782342-1-timday@thelustrecollective.com> Content-Transfer-Encoding: quoted-printable X-ClientProxiedBy: CH0P220CA0001.NAMP220.PROD.OUTLOOK.COM (2603:10b6:610:ef::19) 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_|MN2PR04MB6336:EE_ X-MS-Office365-Filtering-Correlation-Id: 726c4db3-95a8-4b19-53c9-08def7c2295f X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|376014|366016|1800799024|23010399003|56012099006|10067099003|18002099003|22082099003; X-Microsoft-Antispam-Message-Info: b5OZi7vJk29nrwNDapRIbiMZVf7QYvj14uVQABuLWxh17M9vlL1viAc+wwSMiZPxOPlG/YvmnbHGtJ/UvlDtrXAXaCh29BnRU+nRwmXotEjaPn/AqxEn11zX5eTcDCMGfkSgTdzIu21UB9K5zYzwicgd6MyzUPjpg8sVICAyCde6TcirJGqnnu3wLf7NMB/qpPY2zFA6C1I/iw+tMX9p9YhXQ5/pmr4dDj/SbC2JEN1PHKa2s0nGLvt2Q/FKu0KeYcO9HilkqRfkn5UpkYz6cfQeRWt+1rjOiAsbU0zqBQGcCwWCm5sr694U3jxfqmhr7LmUUS9JBJzQwyRbsQXzLMqGQoMRmR6rqTk7dPq3w67pqMgoYYUg2tvRxko2ne1PxRxwnZUtOKyIvzx9+lGWgrfbyQe/n0nQMMOsFpTlKIm76H5JFeNsc+4+iuwszjEag8NJTtC+QlbK7fKQiRke5c433bvfu7MemjT1y/qtLYAOubzw/3XbM5pr7QeP7q5sLYChZEBxLLvUFbSg4+QLPGPuM71bS7q5GjgqqMdFb1bYmXAUxl6MiktobBDj16mGCJljX6Ir4KFOs0BnO/QpcMdAapxM2BAkpoZV65fAEDggt7PlcoVPEzgdcIVrpjgInwKNNqkpR1X7Y7BDjTWfWaNTW64DQAfx47817PInHsg= 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)(376014)(366016)(1800799024)(23010399003)(56012099006)(10067099003)(18002099003)(22082099003);DIR:OUT;SFP:1102; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?AV4u5uWSjDN95pkf6PrlKLrTEfuGyCsZ5JdY01tKFYc/kl8+QpcJ4EfprvI/?= =?us-ascii?Q?IruZeRSUPRi86iL8CitT9OOLoRQvHGOmVhDiOlXnq6l6N1J8c9Osqw1N2jGJ?= =?us-ascii?Q?qfyNTqUPuFjyN/LgL+c9V/412UPBF4mpghVZCTpC73OPktM5lUIij2VJzXfy?= =?us-ascii?Q?qPfAOZNCkDQNNy09ddLC9bIwTKloDUojAAeRyQa2fVOOu8/d/BhZwv6OuD6i?= =?us-ascii?Q?ictqG04VPkNicYTaPAfpnxJxnikmZSzUJnXQEolARaQ/oCHOXkmtW0DjWEbO?= =?us-ascii?Q?HQP48si7T/znRAHa1XMwd99PmOizt8ECidU1qPsR7zRwY28vTasg3pIRTsVl?= =?us-ascii?Q?TnvWKmjiS9nHh5SJD68ii2cZ/gpyDqmxsyIS5ZaN0MV6+FtDHEFe0wkdi6lT?= =?us-ascii?Q?UI9Qb+UdJrZc/lncWPvYfd63l0Ik2kA4nONYm4g07Yl41MXzhcFD1Uy3vYDG?= =?us-ascii?Q?g+mIQVzohX3mQiJ2k5fnKrzKe+PC4POnOIUEImVwP/r6YHgtSzJ18TUVYgs1?= =?us-ascii?Q?vFqBFTNlpFOQxR/22HLgC/fv3ekyFAdET2fk/iw98vtAdl5o7cSvj+bktE/+?= =?us-ascii?Q?IGVwAk8nSkNBYDkvR/k+tbS105w7LAogJ+Qpbju9Eh78lwtWzKKmGHqMMs8L?= =?us-ascii?Q?D1of1+IY5qj2rXna7zsYkzIpKafO6RwLnxwZppcErMO+PwjEpvdco7xVpMkn?= =?us-ascii?Q?ATXF+94DX/JzJBoQBZVI8qR/Od0r3Q7rM3jG0YrmmdkGP6b5xxeIu5sDLaUt?= =?us-ascii?Q?2TeG8sx/DEAU0Eck1TZ1QkhrIPa/OMuzUIjLPLa8BdF8LmWpQxtHQefaRNHj?= =?us-ascii?Q?YuVI5Cm7lqnPMWztT87kXfdKF0jUaLVlhOU/sQcPFo648TEPZcUaLXDcIQZb?= =?us-ascii?Q?f4jIJpraNmbfT0ONiWLah2nSlRQo4zE2cfMXxSd0GFZJVeJkX73bAsQkh4Be?= =?us-ascii?Q?c+HlF4gOdrUdRL3OkdQsFmdna44cKODaDeL9HT9wVA8fWlo79iKg+my7nrO/?= =?us-ascii?Q?2S3VwAryTTYg9l3PFTOcU70vF6i5Vys5B++4wPe7ANL64waFxu0L4b/oXTwa?= =?us-ascii?Q?LIIPoD/45qzzpIEqc3m/wGWnSuuxIzuxNJ8rffQIhx5FmMGM3vZVzLq2C5Gy?= =?us-ascii?Q?5ftTV8nfBry2KIO2xrXeYFacN5FypoCbJyttYr/vBrV1qADofw/RpSHfQf2M?= =?us-ascii?Q?xzVRbR4GnS0FunbDYE8UDEDQoKYRUbqh3vj99rNuK4GJgnqTeio5MfM+BkIt?= =?us-ascii?Q?bj9C78dRSGDayJHy0pYV4/xKb1evk4M8kopyTC7ymi2RL0YHVXiUrcSKEymA?= =?us-ascii?Q?fC/UHJN5yXzFrpj7tx/KWtUlt2Ae8OCnglkYZN2Uhu92uj4P3ISyfUINJY9o?= =?us-ascii?Q?VcjNASpLB/iSJU+3YVW1kMSK6bu4buDFMHs2rNg1+Jfc6YpibDjNcfb0Ldqq?= =?us-ascii?Q?RvVP2OWJ/eN7I5IrrPdK2qyLVFT598YqeqLmDEGaIVUfiZ83I+IQ5PyWhLjF?= =?us-ascii?Q?qSAH2tTJTiFmY0YINCFN4qnOn0wyJrso11AS192Xv/Qx7I1sWq5sRqzs4f8m?= =?us-ascii?Q?NFafRWgIt+h5R67qIc5k4Z7aljP+aVEwm8dzNpbQmQHFW0rp9fFLeJ6JLrry?= =?us-ascii?Q?wVCOekm4g0nOrJAf8qGxalgN5NEeZCirPUhF2YN4gJzAYEToufuP02a14u79?= =?us-ascii?Q?Irl5oP64XqMdVuv3HDr5xMhq3VU0z/xSqmveCJY6Q/9nuiYQxOlhb9deN6y9?= =?us-ascii?Q?JtuSwArU9NEYCoLs7ToUYwMG/R8e2RA=3D?= X-OriginatorOrg: thelustrecollective.com X-MS-Exchange-CrossTenant-Network-Message-Id: 726c4db3-95a8-4b19-53c9-08def7c2295f X-MS-Exchange-CrossTenant-AuthSource: DM6PR04MB4682.namprd04.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 11 Aug 2026 16:04:02.4466 (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: onGFyqLsqZxolN2+ffKuIjXZDe60u/df3KnMdAXNKbPfsUpsLjGqrS6SaOma98NpeIqIqfiZl6T/QlsLT+OurtDoiI/MyBhu72EOF4OqKPo= X-MS-Exchange-Transport-CrossTenantHeadersStamped: MN2PR04MB6336 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 Acked-by: Marco Elver --- 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 c8bf2e69675d..ecca898653eb 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.43.0 From nobody Tue Sep 29 06:08:57 2026 Received: from SN4PR0501CU005.outbound.protection.outlook.com (mail-southcentralusazon11021078.outbound.protection.outlook.com [40.93.194.78]) (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 A4C973F3298; Tue, 11 Aug 2026 16:04:15 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=40.93.194.78 ARC-Seal: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1786464257; cv=fail; b=EZpwWoHJpYz82CMmnmqp41vQNcQMUr3Jw4aB6zhuzfkC7+C1ez3qX429b3+8KG24VZ79KDZfyOz9/NCmw7sfZYD5Ig7eA4Acb032m79q3LLnhUb3AOCr1C5Av0KsqKz5HqwuHkYanrHHdTjdsV6ia4LA1I9NLfgE4NPfr3wrVCk= ARC-Message-Signature: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1786464257; c=relaxed/simple; bh=pUUN1emqpSj2jIgNa4CPYORAl9YB/DwagzNPfslkAyI=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: Content-Type:MIME-Version; b=Z8L/eC/H471b18vS41xsf/Fm5fEKcJ+FhIY4NQhL4XnBG/QJ+N51gsKXhJszhfsd5XfnPjwxvC7/GzxmeUAfVDEbx/9BpC8PUwHvQqYE1urHFxvZsKyjiWVkAPUHND0MqGGtIaBFZYHSDvTPOxdMEX6Lnf/5GxUMB0mOycwgWCM= 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=0w58TQ3e; arc=fail smtp.client-ip=40.93.194.78 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="0w58TQ3e" ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=vKokQ3s36XaekJJwBOYAVFKadJVPOWRtuyKYfScpDLCZeC+0IYm/Td8LESd/mFcuBucqJB4Js3W4gBD/Ma8wwGVMg5OjmHnhWmmThWGIFGG8XnQC5/PdDcKiAYIWyUCFKgABj8/1VHdZ4VHTCj7U8hLodCCSErQmcaVeLgqhyeLlRo8GTb7oGFEbhLpk23a8rA8hcYqHG4eU2jdEJEW6a7hOt8TYTIKz5LoCBJzL1fCzoL5DmWItdq3khLHv/E8HM3KoSpXO3bB9093srgVlRU2BAlwGt2yHOD57xlo2EkqIrT0tMcNa9yW1PXWzgGK2Kg7ogOCVb/YSXhp3cvFHEg== 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=Gc1QkaTTSOdggpBekQ5rG7UNXrdqGR3Pni+4c0KT1SU=; b=GZuMqtupInZCkipFes0+StwUXHF5GT5cfo8aG0IJn9jYURoushV98t9Sz1B+J9KcbARvIQ4Gx54ivcbimEjRivMqQICRgN4poZ/h0//UQOf0BEgxm5gxeQHu70lrTbgSHDieEiUwMEHlp2Hg4nwZWCEOzmqmOuAiRLTUB0HencQgyV+S6Hb2GY1m4h78yn0E2fIaCQSk3escvIISGKVdzGFHMpHgzC3VQFWkTXYg7PjML90AE+YawJWnD5vGKSi0QQR0zzO36kOFcBQiqDF6BO+FbMe9VA0sD0Zi6w8E/AHWSAWq77ssV53DFkr9hyE0oJI3ichbuXG+/SNprHy+6g== 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=Gc1QkaTTSOdggpBekQ5rG7UNXrdqGR3Pni+4c0KT1SU=; b=0w58TQ3eRZwt48e1cOHghhg0KFRRFbjeH6Evt+imVh8xUdbznikIqtXyFnzdsxZ8EKKvCrgj3pO4G7hsIstSpQU801gi0AKZsqhkfTQBN+aXmdUVdg6xow4F2vjtxq0h7aw5vhngEbOzS9IlPkCb1pbtPJRAh55ccUthDqSxZFvjHONj1sCH83B6azMzy+B9lxOqVekjYlSuMGHXABPV9gTr9WFcIgiaomSon/tFznB79qUyUuYHhjSvdAJXvxMzxrkFuieNRwZ3Ok3I0SDZzNNO98MQp3h/x3pzpPjpMGKrB/8v/bk+s9ulx4b4Ejcs97PscHdGH+ZSPR7z5le+ww== 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 MN2PR04MB6336.namprd04.prod.outlook.com (2603:10b6:208:1a3::7) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.21.292.25; Tue, 11 Aug 2026 16:04:04 +0000 Received: from DM6PR04MB4682.namprd04.prod.outlook.com ([fe80::fa5e:6e7f:2655:bfee]) by DM6PR04MB4682.namprd04.prod.outlook.com ([fe80::fa5e:6e7f:2655:bfee%5]) with mapi id 15.21.0292.024; Tue, 11 Aug 2026 16:04:03 +0000 From: Timothy Day To: linux-ext4@vger.kernel.org Cc: Jan Kara , Marco Elver , Theodore Tso , linux-fsdevel@vger.kernel.org, linux-kernel@vger.kernel.org, Timothy Day Subject: [PATCH v2 4/8] ext2: mark s_mount_state as guarded by s_lock Date: Tue, 11 Aug 2026 12:03:32 -0400 Message-ID: <20260811160336.782342-5-timday@thelustrecollective.com> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20260811160336.782342-1-timday@thelustrecollective.com> References: <20260811160336.782342-1-timday@thelustrecollective.com> Content-Transfer-Encoding: quoted-printable X-ClientProxiedBy: CH0P220CA0001.NAMP220.PROD.OUTLOOK.COM (2603:10b6:610:ef::19) 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_|MN2PR04MB6336:EE_ X-MS-Office365-Filtering-Correlation-Id: e6d82d17-7f30-4816-c1a4-08def7c229de X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|376014|366016|1800799024|23010399003|56012099006|10067099003|6133799003|18002099003|22082099003; X-Microsoft-Antispam-Message-Info: xulwwozNK+ubLD9eILxPA4S1bvLUBoq4EEFWAEqU5Xw52536uvuwznu0SJAsmAsNJFp5aGn+gtv4G2T5m+VbaTGqrnvGDUYVTkZ0V0ublIPUxuBsDNbGL0HfpGYTUA1gFv/hCMSnO2V0igEjTpV565G7NullqmbfGm4j0uQSoaYwTV1SA96JbtEfgGUrtUz0ob/toe87f42wAgULmWUZfh0tATQLmSpoJX+BUkdE+BDdOEOyDtnRzTRpJSIV9Nw4STb6nVjy2zigKAWtZeA9RzQye3GzfSO5K7XC161Hhj4JwXuggO/nugy3JUk4TLWZChmIIQyMwmE3S7zf+FyjOqme1EnxZ44XVKa3X1UnECg3ycJUEHlwYSQKSkgBavRBtratFlT/TTJtY1brrCeW2eo8TkenAYj1qxZb+Htl/IbergKf6WLndLh6rvVaKdFqUDxZn2SCarGaSmszkxgCwtOOK6lLXyJUdEQo43FsGefszRX8s7EyAXyxI1K1PK1a5BHC43z+RvkICyWN5GT8emnAfLE70DMY6Cquohh23KEJJfg9YXzt9spIfPtv2VxfgBYQcyBjmYHR5Fkf0KnTCtpvgwyuZHyF5DmfgPkkTIo0EZemsavOfrzjZNTp0TGkEk8ASM3k0+oJA+5qpOInwecFC2fzOi1J9Rhdg9U0cPw= 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)(376014)(366016)(1800799024)(23010399003)(56012099006)(10067099003)(6133799003)(18002099003)(22082099003);DIR:OUT;SFP:1102; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?IcbJOk40/bWvfCHu4GH1yPCgS9NGc34tporjHf05suIWVss8vhbjqGPVRcHp?= =?us-ascii?Q?1lFqiVE9Re0rNUL+WXAGAkmDFHpw265W3PpAgI2uaTduXHVrWfwVjPG+GPy+?= =?us-ascii?Q?Tez+xZdUgT5LXkwQBmbEnNX8Ww/Z+31Ri5CVrep0Ju49kMU7aFRQkBvEyHNg?= =?us-ascii?Q?Rn42/JbTOAden3z8qn/OvmklN8qTlSzyVh0fj54h8Abhu8dCeAMDAP2YSUpw?= =?us-ascii?Q?G9CqFr6bEO2ZaeNPMxKZz7AjW2tHhSBWPLqnspWdrUwhbjZyR0vztT6ps/X7?= =?us-ascii?Q?MEpVgSru2zVBt2STxyvwmZgyvZRUhKRgQ5YCSuz0Jlvp6rgexl4FnQri1AaV?= =?us-ascii?Q?02K9+HnDVkglhDXCr133biyNb2y9WmVSFVtoeFio7/hoq3zKNMZ8oQ2n67rM?= =?us-ascii?Q?MKuLnZq6GbeYMgI+2BfSeMFIp9+FH3vBdqGZdzeYZxPBnw/tKk1xLUqpT27d?= =?us-ascii?Q?bz1iCw4CtS2JKYQNjQ9obaf2Qc+e10l6omXF4iudMwdzfDxPFgbUQuNFaGYe?= =?us-ascii?Q?2uTb62u/N/Y3P8LHMhBAW8MKOoCU4yUr8iiyYsaC2ebsWWTmp3nUBPNbKBv6?= =?us-ascii?Q?KAEpmFS9gBhpmge471Dbu4lLkqr74kQ0xKU9j/1KBi20B6D3I2RZQ3CDs87u?= =?us-ascii?Q?candXXSj5RGoJhfdg/HWdfp3gr/j+5lnaAKGM3N5nR9ihB8v9UI+koUb1duv?= =?us-ascii?Q?CDlBzWwJKfE3pYHIzXKS/iURrxvvU8+7RnIMXQCOAFaBkbr3oYhllj9D2ZeI?= =?us-ascii?Q?lBQ3wtUwllCLPLPldoPr0A7/HWbfmf0yvbDQyDQrdxb1p6tiOBKAtUT+lfZI?= =?us-ascii?Q?909CtNWmk9c+lVbpxjTnf02vMJzRy3vcGAGttCUmVVrm7DTeeFp+QFSlf6Ly?= =?us-ascii?Q?4xw2qDW0qgBVX0YhMNa6bVhqfSIulQbraJgJAMWmMfgr3ceEm7aUPYDJSs/K?= =?us-ascii?Q?xUnof9ZV6C3EEN4hafh7kEywOEInXvgfIRUxpZ0WOI5mTULwWidf7JIgbwzA?= =?us-ascii?Q?cCDFdTO8cFarZ4qeBgaSw10EgGjBX502jlQvVfS/io6wdgcQGhT8JOZlKJFS?= =?us-ascii?Q?WvuRM+UtATxvrlprsljeq6nivlP7RYznB3ZyO/0Qwv8MLD0Y3T4phXBRghQ8?= =?us-ascii?Q?9klDDvuMzTiW4XufLs0kGCRwFkvBSWpWL/JdHmSUvbKxHi22562g8gAy3TRW?= =?us-ascii?Q?u4IMFWzZ/NxKc1d7mYL2JRA/aXp2RlYtbqAll8LpHRB3Goa+sG5+CRL59+lg?= =?us-ascii?Q?1UGZyS+QW7vbOkGIYgxmOqoSdhbFbohu0xeDh8GAPqzYgiXWrsSNOfk7wD9L?= =?us-ascii?Q?YoFJJIw3PHZ5ZFdKRYrpnLN2tx+rfF9YVy6tc3HTaMmMZrepjhmKmREOq4/d?= =?us-ascii?Q?8/OlRy+fpy+Yap8BfBl3baEVsxtiygSJP68KsgPivsV1HodglBXwpBdnan/V?= =?us-ascii?Q?q4TaR9E0Xon3DSgrcp2KDVP7XNvo/t8C4I8fZcQTMLKVE6pq20lbIabEel9E?= =?us-ascii?Q?USppWZybjYOcYRVZKpGEIMbf9FE96Xvqi38hjG8tFqvU7/T3iMXD8TiYROBR?= =?us-ascii?Q?mawKddvF5AU8T2uYY62hcTOwt1i8xZY3rJEaLDYOjQBBqP75IS/akO8GtiXf?= =?us-ascii?Q?BNrDyMknnAuOHFhVDcOJiS5BM7CHnaOf1OZdkT/WqVzLcYup0vKzTe5sMThl?= =?us-ascii?Q?ZHyKlnwzA/E4xJ0fPU7X5iUe7PpbkP7CO4v6ZZrUwwJJJT1PVTJE9WiiCCQG?= =?us-ascii?Q?/wVWIlCQor01psSL1FysEg8uFziqJLk=3D?= X-OriginatorOrg: thelustrecollective.com X-MS-Exchange-CrossTenant-Network-Message-Id: e6d82d17-7f30-4816-c1a4-08def7c229de X-MS-Exchange-CrossTenant-AuthSource: DM6PR04MB4682.namprd04.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 11 Aug 2026 16:04:03.3035 (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: ADkjMjYYs5eF3uXtEHxkfTJDM5sbBQmdaiEbv+E4XxwjjsUnezyTiERAHs9xk7CJuBXX4t9g+wqYCe23Fp9S6nQMd4cuHVae4+in0Ooqd+c= X-MS-Exchange-Transport-CrossTenantHeadersStamped: MN2PR04MB6336 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. Convert the spinlock initialization to use guard(spinlock_init) to prevent warnings on the writes later in initialization. Signed-off-by: Timothy Day Acked-by: Marco Elver --- fs/ext2/ext2.h | 2 +- fs/ext2/super.c | 3 ++- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/fs/ext2/ext2.h b/fs/ext2/ext2.h index ecca898653eb..4c30d6f5c972 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 5bf63943828b..0fa7914e5f04 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); @@ -894,7 +895,7 @@ static int ext2_fill_super(struct super_block *sb, stru= ct fs_context *fc) sb->s_fs_info =3D sbi; sbi->s_sb_block =3D sb_block; =20 - spin_lock_init(&sbi->s_lock); + guard(spinlock_init)(&EXT2_SB(sb)->s_lock); ret =3D -EINVAL; =20 /* --=20 2.43.0 From nobody Tue Sep 29 06:08:57 2026 Received: from SN4PR0501CU005.outbound.protection.outlook.com (mail-southcentralusazon11021078.outbound.protection.outlook.com [40.93.194.78]) (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 6AAF04052A2; Tue, 11 Aug 2026 16:04:17 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=40.93.194.78 ARC-Seal: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1786464259; cv=fail; b=VcpvpznZeibJPGTWitoEAtI0xZml+TMByBY8dn0AIOA1N+nN6xJYePhzCk8QP8jk3LwMUUQ0C5OpESTuZbMMrT6+JbTd96Ej+pWPeeh7e5NC+P0z5YV8gUYqHZh7htYWogi2tBgU36zBt+AWNwZUMvtAYeOU9FoV2mLS2Q25Vqg= ARC-Message-Signature: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1786464259; c=relaxed/simple; bh=aur7htvlO7H91MunC/KN43uoUyf7PsXky7IsRIQ722I=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: Content-Type:MIME-Version; b=mCsNEufB2Ee2iXYEeDRYk20C1PzbV3hspjOfRS50LtQgukomuRbrmS9fQM6ulAwohCImi3QcZ+qB9Xulps05xJu4yjYpPSRnS3KKexmhUaK+fPZZUi7ldpsvG5rZ6HSYYqa7T3J6/1pEbSAJdwKFGoswQOxBXbWxKz8TazYfGjg= 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=AnyE3iGm; arc=fail smtp.client-ip=40.93.194.78 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="AnyE3iGm" ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=KmeULkuR70GP9kOBC7j7Gxw5c92RplPTuJx+sEI9W2if8d6nRmZ+07TpAViXDnCLlvUS6i6I4Km6lDisXw0Ecg6I99iKS6G8LhJSSNp64jR7Ieq2KvWUHmuslY1A2zFS5TodPvG2Rez5YBaMFTLfeRO7nVIZaV0YntRxYlHnKgfTq6wEJb6fmYROnhp/Cs/UI24lbnn/kCKJK80idixez20xxhzLAmVuc+rf4NpaDN5z1REHtxYRxjA4xovpJ8UscMvkXrchs11RzIdkBcoGCZtrInKf2FfeZ6k/V+i7moctFOJ0Ko7MXdo3kZqE7somfMNwBptuEKlYL0erXDtUjw== 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=lc9JDEN3qkoknlTvnzbLANnqF0ZLS4aJ/u2eFu7sLh8=; b=crDw1jG/fiHi4ImG/0Gr2PPPWWmUs315o0KWV0YXWWqBJoaIewiGl1BLqhy2Sn3HX7hFNIUQPuU8TzhqOPPWSa6g5iwxr3lYDgPXpl7jJL3+j/YQrTiHfvv/rl/+1YKMD668ys6f6Id76KGVHSS9Vfelu0wcJ2Q7R4uwrvpcRLiL4PDrpdVJvM/aTcofj05wrwSNtrzDsWDOrS9+ni9nCO95f0lOJZLGPIyUE5beaqVPyabWHaK9HkLs+a4LzKQkSuaBb9bvTk5bxAGDpq3i967ZOOAXqI5RUMYDcllMtFUKFHjyuT7jfobEyq3412QqEZhOr+UKgU71aX7NX6hYXw== 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=lc9JDEN3qkoknlTvnzbLANnqF0ZLS4aJ/u2eFu7sLh8=; b=AnyE3iGmKbjTw7fbWudGO+6sqN7NxZgnoeloQc2z5C7jwIZs2Drf3pvtYEL+HMmNRYwP58Rxg4m9aFnUa1Uz+GS5JL6JUvHe7Mz9v9ZauQ/Nc99wgqiOWj8Ge1NVRF/Ua/4H/t5JOzNY8qdOZaC3lROOBojE5GupKlJfPXXLWbODgg0oAnN47yEK0ZVJdQwZZyR8NR8AOtEHcO+V8Xvneo1D62GsEo9IzUjqx+Anj7pc4w47fCkd4AvkUvCJ1kf5ukIOE6noxnRqtggrYNUMUJqh2W2ezZ+vBMld9g7Q1LYeL8LLC0YOE5tJkUVo1VMARrHt0j1nGF1rn0rz2c5Dxw== 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 MN2PR04MB6336.namprd04.prod.outlook.com (2603:10b6:208:1a3::7) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.21.292.25; Tue, 11 Aug 2026 16:04:05 +0000 Received: from DM6PR04MB4682.namprd04.prod.outlook.com ([fe80::fa5e:6e7f:2655:bfee]) by DM6PR04MB4682.namprd04.prod.outlook.com ([fe80::fa5e:6e7f:2655:bfee%5]) with mapi id 15.21.0292.024; Tue, 11 Aug 2026 16:04:05 +0000 From: Timothy Day To: linux-ext4@vger.kernel.org Cc: Jan Kara , Marco Elver , Theodore Tso , linux-fsdevel@vger.kernel.org, linux-kernel@vger.kernel.org, Timothy Day Subject: [PATCH v2 5/8] ext2: annotate ext2_init_block_alloc_info() as requiring truncate_mutex Date: Tue, 11 Aug 2026 12:03:33 -0400 Message-ID: <20260811160336.782342-6-timday@thelustrecollective.com> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20260811160336.782342-1-timday@thelustrecollective.com> References: <20260811160336.782342-1-timday@thelustrecollective.com> Content-Transfer-Encoding: quoted-printable X-ClientProxiedBy: CH0P220CA0001.NAMP220.PROD.OUTLOOK.COM (2603:10b6:610:ef::19) 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_|MN2PR04MB6336:EE_ X-MS-Office365-Filtering-Correlation-Id: 4bfd618c-45d7-461e-ae0a-08def7c22a5c X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|376014|366016|1800799024|23010399003|56012099006|10067099003|18002099003|22082099003; X-Microsoft-Antispam-Message-Info: 2LkAmFA9DTSBTlBFFFwniUGC7GfSkDZvSgz5Ywh/WT6+F4eNLswdLFeIKQyvY1leodHqhRQEoAahQhr0OaLazChkmy3+8Eo5/K3OBtnsbLQkDWzJkZni6E8wAS8+aHM7VVsx1b/6FRnv/jdhTQhrgNU3a0NENV6e9Lw5nZxQFaCs7hjqWi2Z2ke50/v5JxrrnjEoFXm9FchxUxYazEDZX22hYRnMk+Zl/EJYyxVpi7W9rObexCIz6vIjSWo6ul3/MwBebUsbbm5gPs4Nm/DxhGP5cHqfHgMWGLLgNQ00kwhjhFoy4lZ7V2dOEtXVkC8jmxE/6lQrQr0UQ7PF2q/pOtJr7ORXwQUynfL74V1lrGnla5xAGRtbc0Ny4SCmR2Q0G8kqw9dLir4k2l/KcGlEXWzBbk98xD/Qai7rL/DT5WQkLAM+1Ch7uKFFndAznD2wyiPh0+OetrMRs78stVzlqu2eLeWtaEm6zUSquqqPy7gwQjAS6fcLwDOBuCsPCZilBQzlrFK14VeG54lwmjWFUFUGXQNTP7dOs3DMxLVWtTxHwJAIi2E9hgruGW8uZUHX3qNbL4jSgbSfVE/sTT3kWVL1pzvTopqu7qvFY2ELOzCqBDBFb6tHz997WzeEWMUel43C6NYdM40qSvCAryPXZqXRxjR2Dp3mqNTBvK4qkQI= 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)(376014)(366016)(1800799024)(23010399003)(56012099006)(10067099003)(18002099003)(22082099003);DIR:OUT;SFP:1102; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?dB3yyzwYa7jbRlSmo9CAAaIv9jXoXlWsx/aJ8+V8n4XiezsT6H8I8+OyiCvz?= =?us-ascii?Q?QZPPYG7BrlrKCqdKXIWpUFlEslzoL8U/MpYS+etF8YuwMeyr0siG3LJrByMh?= =?us-ascii?Q?EOnBMznY3iFownu4lpoFy0NLtvA8uojwOkUbU6YCqMSGay7Ykaa5DRNlDL68?= =?us-ascii?Q?5305EAMi170n2td9dRWyZ899l14YVs7x6xPa4AXNYGNcgoovJKZU2FvqGsB2?= =?us-ascii?Q?zm9GIuo8K9gFme856yOT+UCg8l+z9z7GDjy2RqLL9ItCAuvy/afJ/LZiOP3C?= =?us-ascii?Q?zJEMfQgH3+qH0HPhF1CC2geXGOSzrCEIZEN1V7+CbeMLHRUsHCjmZENIjUjH?= =?us-ascii?Q?kTRcRjOTtESqplYtJG+GIB1lsx0Xf8qt4F3lSIPqhRVM40uW5G3O0AWWIOER?= =?us-ascii?Q?LwoCAR9Uq/hRYrX506rDwSXaYW0S3MP5fepWavujpn17RErx7d0Del53q3AP?= =?us-ascii?Q?aYwS+f6U9rX2GY0POX1Of/T2Vo+Fj0RfVaRPZ8gCSYOKRgsRmIIbmU4yHeoc?= =?us-ascii?Q?3SqV9244ZvPziu7lMQ5WQ4s0Ch+oW+IJoWMc4K7LecA/JjZYeWv+JGwSss26?= =?us-ascii?Q?CZ5dL2lzQTU9i+p/GEVQWmTj0p6dTTLEuO59QkYHlHIxBhnVXdy7ag8E9vq5?= =?us-ascii?Q?un3OJLgGD4nE8IuH+5rUNU0AEFaq5i6Ujxfsdiyb4y5xtN3KbK5O4W9h7F/6?= =?us-ascii?Q?ND+NVS6Oo4mAAM2cmTSnul+4AnzPM/kRl9D+3D4jyUJNctkBwp/fyPlhzJfo?= =?us-ascii?Q?djofRA7XDD2QbIPTISUfzn4IJzy0NzDxcQMP0c4T3P6mAH8QNSnb8ifaqfIX?= =?us-ascii?Q?RQ3Pzwl2fg3EnIREYiHML5qfspNUwUI5vdijSaSMm5n+0+McPvh+9+ZvivZR?= =?us-ascii?Q?YcYCK7SOfI27B37hj7E2fgiulvpiuG0IOmyCLFlhV4Mk+0pgeGRiXhnd/jKg?= =?us-ascii?Q?G3fTz7DloLorbu9U1IqwGCYB9qyYZLh1t/rhgjsjLg3C/uvizbWOJpc8lMRX?= =?us-ascii?Q?UCLiiS40g33IYfXOUu6gj2ude7mEvpVqe4lJYEd7IMTDxJZC8mpXv+KjF17f?= =?us-ascii?Q?HpKnPvoCI5cQMMcNMPnbuPUPwXlcrWDClksDlu4gCKvHRtyRQ5yq4Dxjfb3W?= =?us-ascii?Q?57qNC0YHxGuKTWyolE4f3hIvQmKWIGygwwwqDlWR0Iw+a9DvTV5886fEJ2YC?= =?us-ascii?Q?2h+HHCckG9aRL5MPfRGSgsaQjhwjQFRx0sDPT0h7tMGHttg7RyTlJVk0lR+W?= =?us-ascii?Q?+V+MPkzEFZLSmThJGS+wo1Yrkddd1Salgst2Wa/sv8TJQ2A8JJH26WTOYt8B?= =?us-ascii?Q?ztjIX7JN3+jjrRBLuJiNpba9rIgDGH/bHKI3QTzxbSnf/rVBZPHXJYAi0PRy?= =?us-ascii?Q?fGVQyohxWNFLxCB5OQxIcg0BnV1z6ohxkGV6wxGPH2675Wd4UGgaGpagQ7y3?= =?us-ascii?Q?IJ4XRRpYr4YbG3mOmvUlK/59gGKezZbFo5pb9CYxuVF8D4Y+yT9odzpeRPQJ?= =?us-ascii?Q?xlYjwLIPGzTD61jRPn8r/jBFya/OsiNY2jKy9QOu/aAWzeZ7Q7yIehGfNMYU?= =?us-ascii?Q?ERMxOel4utz7rYQ3vSZDMmtg0AwZLMymJe9hcD7TlP/Fb9Cr00SvKPInl9On?= =?us-ascii?Q?M8+UHA+DBymvs+vRqmSWN4BsTOEvdhkiU1pvNKWYKg7blghp4sIogBuUUr7u?= =?us-ascii?Q?pmo103jgJw3EAWu7kRyGmJk0a7u/cBuNJFjFsdqUaztz50VXocURk7i/cSD+?= =?us-ascii?Q?ACCTDFl3L6vkHODkSZS46m+GjioVvts=3D?= X-OriginatorOrg: thelustrecollective.com X-MS-Exchange-CrossTenant-Network-Message-Id: 4bfd618c-45d7-461e-ae0a-08def7c22a5c X-MS-Exchange-CrossTenant-AuthSource: DM6PR04MB4682.namprd04.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 11 Aug 2026 16:04:04.1386 (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: k1qiBf7y2l9574/iE8NDX7hUyZAxxy7rwLG3qJgOYbHg1hp7D6EBO0+H36GWt7H2Zsw1kPM/MCDbQU0xruqUyKX1qb/CdXoipAoeM3AfpXI= X-MS-Exchange-Transport-CrossTenantHeadersStamped: MN2PR04MB6336 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 Acked-by: Marco Elver --- 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 adf0f31fbddd..53c91cb38bde 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 4c30d6f5c972..b6ae29b2e6ec 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.43.0 From nobody Tue Sep 29 06:08:57 2026 Received: from SN4PR0501CU005.outbound.protection.outlook.com (mail-southcentralusazon11021078.outbound.protection.outlook.com [40.93.194.78]) (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 5F8C244A40F; Tue, 11 Aug 2026 16:04:20 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=40.93.194.78 ARC-Seal: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1786464261; cv=fail; b=TKDMrn+TbEj/ZjxNPgolvYMpoR/vuBmTTwTejySx0cbKVFTDjXqJAzd9I28nRw4hu4xiE6LiCcqYUQgshKGDrEjQKHaf3W0pcAKasSxwobIum5DAeKEIYr2z8LshUXGHKh8KJMWatvCtsw4LEHAfauJWRq9sxwj6q98kQVeD6AU= ARC-Message-Signature: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1786464261; c=relaxed/simple; bh=4mr2nUk4XoBd+EY5/Xfg+Ltz+IHeBCBUkgV6s4kj2UE=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: Content-Type:MIME-Version; b=ljU2+gsYpruu9EikV7QWfcPigNbErW1XgrwYDQ++ooOQlAnnbv8JEbqU0PXpnaZIqKMfEJnq4qEsIRo3dF8GCDqcobYaGif60gMMKOCSxvYjuwZRK7UeBDB4lnOW2/Zee77/GyYqxAi7dvP2+mj22khy5fi9wIOYmqq9O8+ED34= 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=4I5zo/Xm; arc=fail smtp.client-ip=40.93.194.78 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="4I5zo/Xm" ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=TTJX9KdiknoVkIcY8GxZNMYSo7pwqTx9Qlk6Bt10KyvLZcSq+9/Oz/XiFVwBagZ2A79eh2yYbkhZrWb/KjqogQM55fDhBSWJ8bgqXtBi95FnTlJhlmhXmcrBsFhE30eVoVxZZ4axwxSt9MluVYDdlIKFuMwetxVb7vo7IKgQgfKExRRLtx63AGiJ55/54vUfy/n2+cmOnOPzj71/gBwNLEBd0XZ8tjt7fCUGluQ8evPY4Jo73XXnKSJivlUw1oelpLgPDPvdKnERcSrgU0sNGSh700Em2GvKiVFbcfK2YQTauLUAwVqv5O9y6cynuVMh+452SRj0yRDPdGmQLFrmbA== 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=9Ca/Zz2AQXOi3zM+5fms2/74GRcK7dXBnTuOTVb3Yxs=; b=TNIRXx5WtHtMVWzVIWBeHashjm0t65/WIg9Y+eRYnQ3XLAxmw/tBIl8mn+Cv1PYnYK4927XUEAiGeN9wFUoIecygk0nhbnP+1Hl/Uk47BterxSQ5XdajDJpFzjUpQwOh+D+MFreX/5av8shYPw/PymyTrW8lSUVPBaqFPoako31mdmTQHMAsZh9PJLwzwo1Fdz1sakyx53YF4292eiz/KpHsAuSMSdprjGhU0qxfVwviUkYY9WaDfOZp/4kTQ7jUbjF5f3N3pS5MxWUQm1Q17M2wsHIMKuWIVvSn6OCVomjXyAEeQWfWWresZunAU33AE7cvyZMPQxw0Mpah6tcXIQ== 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=9Ca/Zz2AQXOi3zM+5fms2/74GRcK7dXBnTuOTVb3Yxs=; b=4I5zo/XmFRG2Re05rOiZFe0eMpzEOFqZ79VO+leiND7qepjbluWOrHyxYIGrdL+MbevBdl2bUBKcjX0oK8mhTL9s+8D1NxmSFwGWEZiDgKF8WaMX8lfGRld0TMJycNYPgbdDiVhIRCBJ/zglTo8+ioo1FVIOEkr+dcHnocdaJ6psjxdzCKI3Slv+eL5CwhqqBHXCJa8iV/a7OXqid9YMLRdecqaBFQpnOi0LPS/bb9uTayB0Cz8FKd9SQm/u5iMjvlJrvfWD5ZSsZwVTEzOspnCIau4letli8nNlLLAbFOjPIlq5w2btFXXKmWuqqt85obzGxTeng7yBrBdeo0DLkQ== 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 MN2PR04MB6336.namprd04.prod.outlook.com (2603:10b6:208:1a3::7) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.21.292.25; Tue, 11 Aug 2026 16:04:06 +0000 Received: from DM6PR04MB4682.namprd04.prod.outlook.com ([fe80::fa5e:6e7f:2655:bfee]) by DM6PR04MB4682.namprd04.prod.outlook.com ([fe80::fa5e:6e7f:2655:bfee%5]) with mapi id 15.21.0292.024; Tue, 11 Aug 2026 16:04:06 +0000 From: Timothy Day To: linux-ext4@vger.kernel.org Cc: Jan Kara , Marco Elver , Theodore Tso , linux-fsdevel@vger.kernel.org, linux-kernel@vger.kernel.org, Timothy Day Subject: [PATCH v2 6/8] ext2: annotate block-mapping helpers as requiring truncate_mutex Date: Tue, 11 Aug 2026 12:03:34 -0400 Message-ID: <20260811160336.782342-7-timday@thelustrecollective.com> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20260811160336.782342-1-timday@thelustrecollective.com> References: <20260811160336.782342-1-timday@thelustrecollective.com> Content-Transfer-Encoding: quoted-printable X-ClientProxiedBy: CH0P220CA0001.NAMP220.PROD.OUTLOOK.COM (2603:10b6:610:ef::19) 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_|MN2PR04MB6336:EE_ X-MS-Office365-Filtering-Correlation-Id: 4e5eb580-9c9a-443e-a233-08def7c22ada X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|376014|366016|1800799024|23010399003|56012099006|10067099003|18002099003|22082099003; X-Microsoft-Antispam-Message-Info: SF60dxMNvyqxTk1OY1nG9PVtkpT0xrN2nDzMfj4S/izZ+M2xtc9ORPE9FV01xm/YW8zTVDX9DasWx8D8NKGZyUN27eiamihkL/jA9yZJ3F44TOzJKUNPYDu2ACYPCKudjZkF/egB1ZdMgp2g4MJn9aFEiUf7Kk44ipwE+3r7u5Q+T9ELru6qmitjr/4TGzU9aHaKC2X07aDckMk+6nENCkTwzV/bv8apSagikWj5yBJxpbe+YVwcwmSbb1C8CIjJgu0g47PyHrJWHhZI/1219N2sTyvCXojJkELjSb4vQvjydLriKej1ytc2fqGfMKLmgIxMryQhwVWRCpJTt2bn01ULLrl+ojC+R0oYPz98SYXxQx/qDu1sP+Pp6nyKMTNbRyxIlV2gfYpPALMLEKA5VslT5wayU5M/r8PhvVk4UdHYOvcwFd4skQlyeniZDdytV0/txt9cezAiUYR8/14qyine+PvSJKrlz4QYglUwUxY1Cd/bFHMRi+WL6vsDqwqCxWNZS6z9oeTYfcCpiJGQSF2Dp+1VtlhfF6wNpVolj1mFGYieifjtyrzytGCSyS75HT8Wie8609N6iWw9RkBnSPqg/OzCPocteb5Yb5vtXiAIFOxmxP5Dla18F9erdv5hPkoG7sszy6HbiR80eVl7P2M8vpVk+sw/YCZPmjNzYuc= 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)(376014)(366016)(1800799024)(23010399003)(56012099006)(10067099003)(18002099003)(22082099003);DIR:OUT;SFP:1102; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?zLxWrwfQKCpi/Lv13Q5LbEXUk+uWppwSn3bKu/c33UzPSJmgU8iHSwCSgYV/?= =?us-ascii?Q?S/dAotA1KeVSFG4QpTJo6g45kck/65V1oK5tJmhY6AuQuI/wefVxmyRncyzu?= =?us-ascii?Q?F/SKgvQNAKzaJzXxG4E55GpiYPLeahnYGEvyWVxb9uvM8A5dJ5bjVI6T6HtU?= =?us-ascii?Q?mWkAss9AcHoaNMITk9eh+rpgS++wHZpaKu1vbxrVSQxD0DwTl5KHL780Whhn?= =?us-ascii?Q?K/azRCuS26NMVmjeQ5JGZ1z8z5MWY/zGGLCqLLplzgvL2NFY/gdBbdSMfHGV?= =?us-ascii?Q?capoqdzVRmT7zHki8KJ/isX8NB/c/wW1TDKxKbqtRoA8HAgDoHZNswEDwPem?= =?us-ascii?Q?mlXLiMuiP6Sr/P1zpqQ1+w5qqTi6nx/HlFqbMh96SsQuKwRQ40t5R5Fod2Bj?= =?us-ascii?Q?6yYqK0QIMjzisy5BG1ySWLuy6j1403bD5bqwKocVN/qHU6eruJ/SX7XPRGWA?= =?us-ascii?Q?Zqi/0W+QoY3mZAfUuEqdCz5A+6Gf5e4fnua0c+Cg0DHnZF6FQrN2GrYwm0II?= =?us-ascii?Q?QGLHeQzxf1MtkbNc1b8cl75V8gU231T/akC0hMIJVXbzm4d4wMYhxXr8nAon?= =?us-ascii?Q?KhLz85mh6Q6CpfXvNPriCEHEnoBRBVk1U5dKuGU1f/4AI5BGGeBq2AZaoY4Q?= =?us-ascii?Q?lNLnGkInLypwiycPBwI6qWp4mzsNdmiLFgYmdFQ/IZmWtUhFeiFoLLn4pGUC?= =?us-ascii?Q?FSLBA3GuPyQezt3PKb1dl6+8yTKI8+oTeI98JTtcYcSa/xt67eycqftPDRdx?= =?us-ascii?Q?MbJGrGfDqbk6qE5SFJKf9HbPMvSxdEj/rRlcTMUNuEFcwNy8llBxOakoOoLp?= =?us-ascii?Q?asGFLy4iw/vjcscD+ExxtnONYrTO20zJ+5A95QHaKgIFWPMkZUqJOi0mPrsU?= =?us-ascii?Q?qGzNLkC/HcQeihc+EQDy2ZDczL9HhqUCU+15PiigTqAY1LedtY5RAQ3KVeio?= =?us-ascii?Q?Tp3wL39d7o90AvFeyjvnmFf5J61GuwALTI77lOdzYyf4V8f76n/sSzISbAOo?= =?us-ascii?Q?jMLLiGYmZiWo/t6e+CJAaWIViG6qIUe69WK5Ez8FTb4JVIJUgYTZEqmVFR6T?= =?us-ascii?Q?yttOffS7Ber3vp5iJ7suGQ1+lIwgDT228ZQnkqDD0AxPIXdWVOhbueSH/Nwd?= =?us-ascii?Q?VVyqcTTAjZBos/lZVe39dnPXzwgzdJA9GRtrmANhgBIs2KsgBBDL1ofjKsVJ?= =?us-ascii?Q?G8neSxgTFoHD6VyMpoBHcjsA2AY9N65ds3zgK+3pnYXWt8t8NMWA1ylB26CP?= =?us-ascii?Q?qQjXg04q3FWu6LIO+nkkJwjLJxetjbIkEG1idSwcs8BLxbkbl9CjnwnPzwpW?= =?us-ascii?Q?8EWLTiJg93ofA4yFIgyZOv5MZSCmtEYC/pQoVQ6jgbAXfqonzxdA5wcY2E/6?= =?us-ascii?Q?swsDXSpgGKkZ21Zzb95qVdRFCveHevrUcB+9OFyR2De3xzOz2E5inxgIYGEY?= =?us-ascii?Q?nPtPjh1u0sIe3RS9uYqIFCHBeaYrzqldAlJ1Ec4mWs8e2PgACRDooVXdaFHF?= =?us-ascii?Q?b+aMQORbQRc+EWoGozU9805LYzLZRuJ4ILQTZMfRRNT5tslSK5YhOh9HqqtD?= =?us-ascii?Q?6dvF5O0VJbyLN1laWRL62f/brYuz6UyM/hJEKwbrr/HHgj85mEqaOpsqrNFS?= =?us-ascii?Q?okk37x7rKJ+1FPGM6S4ydMuw+XbMBiyvLgshbdZIoqENzxQUIWwbLMOcZ9cP?= =?us-ascii?Q?iyNGYbXy9VZKorEJD8/XpoTkkqrrSZoIHIfrA1rqba0+PSCiFXw4uyiVYPCm?= =?us-ascii?Q?AWP4DYZA2Ms/u8IfkHfItdWDRsxOFvo=3D?= X-OriginatorOrg: thelustrecollective.com X-MS-Exchange-CrossTenant-Network-Message-Id: 4e5eb580-9c9a-443e-a233-08def7c22ada X-MS-Exchange-CrossTenant-AuthSource: DM6PR04MB4682.namprd04.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 11 Aug 2026 16:04:04.9849 (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: Spr61M9AMKm8WXW8k9ITKp9FOf5Q5iIA/dOMqjsD0svTEKJ5aHV2Hm5TC0BCqPPqaLhr3q9607q2T0v4A+eOchyLfnLhX0esaXj7gusfX80= X-MS-Exchange-Transport-CrossTenantHeadersStamped: MN2PR04MB6336 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 Acked-by: Marco Elver --- fs/ext2/inode.c | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/fs/ext2/inode.c b/fs/ext2/inode.c index 29808629cce5..f0be5236d04e 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.43.0 From nobody Tue Sep 29 06:08:57 2026 Received: from BN1PR04CU002.outbound.protection.outlook.com (mail-eastus2azon11020104.outbound.protection.outlook.com [52.101.56.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 0857D3BE62A; Tue, 11 Aug 2026 16:04:12 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=52.101.56.104 ARC-Seal: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1786464254; cv=fail; b=TgTZv8VZzXOJj0/dCmrdI1xjn+EAv8aq5CHn7wdHrkEI1NmYgXISuoifSQTarHe4wXXf29CYUIwmGLPorqyYYQZcfJ14dJQdkrrR7qt1RBE6YIJ5Q68pfUi+8ChKvqwt3TkuFO/I+nGbP+HnstSqyLxChdhs6au4fXTAQHs25j4= ARC-Message-Signature: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1786464254; c=relaxed/simple; bh=/DWLHtUsN0/cwJ1DVJQtKZuisOJ0dF5JuLfO2XC+bnU=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: Content-Type:MIME-Version; b=Be/Ixa6rTfywCCxQv7dJXkjJeTKGZnFfphVu1VZxLzAFttdhM/E+lo9wDAt1re1gBWYrjPrDOFnXGxxD6dICJEA5e3qW+rGeTp7de8dKiOJZOKAl+WzFX0EGk9CZ8mxzRcYNrRYs4fLxWc8hCvXl1YjpN9qh9CS8t7PV/vuflFo= 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=RzBG45x7; arc=fail smtp.client-ip=52.101.56.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="RzBG45x7" ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=aLMxfbOGM65vIgeC17HM3CI0JfqQM4moM6TdU243nJhmKvZ+F3kZNw1NOdo6zbmCBm4dbI6TJcNZW02Qc3INimdsJwOlrfrm7QrXATVf4e6fAlCKBFId/EL8TJ2wp6QGgnAVg20itYLaHQCi3d1nY4ZgtzK8rGg1TKO2O/iw93Qp6+ZA34/AyibGOt2a5xTn8QBbx9l0utxH1qTX74YTSN9FjDVHCPiz3W3ADdH0FyUEUPeOktGF4i6uPDlFWnQz/wf93IeC2IPBfKwzFgp7PdwnuLsBA7RD2xkPHCKsP9+9yDZm6Yb3zt3lp8lnFrQ+6aAXLVTlr4m6PUHUfxCm8A== 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=KiGmgEa/mNJP8olaGmSmcQP1+QOFhR0a4Ax6vqwjsOU=; b=oM+94DGcbP3OzEIiESOUix5okWv7+EC9e9Td/ci2GV+3NsFkSR7SI7IZfoU6P/VUGKQXpsQbYV5JbRCi/iS8BcTKzimAhQVx2JQ9TUBRI/qRW/1R0dqLrc9QVMIh56xKJ+GV1wdYN/z6GwM6lSK6g8lCwJDM0pkNa2VVsN8O+dP9CcP2xf1TZuGoyaEGhBWrZcIpQm8riAhE9LK6ePRWDSHHD/cxSdLwycbDG0kA8Ek3n4ERBKZAjGmrwP2ZjCOzUEsXA4X/nK/3iD9PcjhA3lkn85/hdAjfb0LRJ889MZtIDA37CGT+RGXybGCY6gvlNKE05aFUAw+YHmldfC6/dQ== 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=KiGmgEa/mNJP8olaGmSmcQP1+QOFhR0a4Ax6vqwjsOU=; b=RzBG45x7e7LZ2gqDR/NpmhE1wP7tkjmlwZejU0oN+QqDcLG5rKEOCHSMaYFOynVYBTaXVKqclh40lFmegURffw8h34i+clV5c5jbn0vK6FHoCnuEyjn2lJxFr0sTKjllh8wRTQb1GKmVCLLdU09xAFFQ+s/gZsViejjfVD57iTBUfXAyn/HbjHjJaI15ci0drW8hC+d9UUhdSjwFC1GBQknQYh1pbmJOxDrtEufvuveeqUp4Vy5LmSVKrsWP1ROwBXy2CwZeZCbzwkgi3wn9iZmLb84mVd1Gfq3kSCucdQS+uaX5CV9ATuDQJEhzPP2uzsX1sRA6ByaXDH5HVB3pMQ== 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 SJ0PR04MB8258.namprd04.prod.outlook.com (2603:10b6:a03:3e6::17) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.21.315.12; Tue, 11 Aug 2026 16:04:09 +0000 Received: from DM6PR04MB4682.namprd04.prod.outlook.com ([fe80::fa5e:6e7f:2655:bfee]) by DM6PR04MB4682.namprd04.prod.outlook.com ([fe80::fa5e:6e7f:2655:bfee%5]) with mapi id 15.21.0292.024; Tue, 11 Aug 2026 16:04:07 +0000 From: Timothy Day To: linux-ext4@vger.kernel.org Cc: Jan Kara , Marco Elver , Theodore Tso , linux-fsdevel@vger.kernel.org, linux-kernel@vger.kernel.org, Timothy Day Subject: [PATCH v2 7/8] ext2: annotate s_rsv_window_root as requiring s_rsv_window_lock Date: Tue, 11 Aug 2026 12:03:35 -0400 Message-ID: <20260811160336.782342-8-timday@thelustrecollective.com> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20260811160336.782342-1-timday@thelustrecollective.com> References: <20260811160336.782342-1-timday@thelustrecollective.com> Content-Transfer-Encoding: quoted-printable X-ClientProxiedBy: CH0P220CA0001.NAMP220.PROD.OUTLOOK.COM (2603:10b6:610:ef::19) 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_|SJ0PR04MB8258:EE_ X-MS-Office365-Filtering-Correlation-Id: 14abcb37-79ec-4be3-f919-08def7c22b60 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|366016|1800799024|376014|23010399003|22082099003|18002099003|56012099006|6133799003|10067099003; X-Microsoft-Antispam-Message-Info: zE4jT0aP8A30u3BT/bMkrNDVOI1lgn3zdddBul7vnQRXRt26qXoGu7wKxhLx7tq3eAEBCEEJZWgrfp0dB5yxF4uaJBwyN6k4/uW9qNR5pCv/8L66Jym/7nPBrLbrYPeC5cPrSCQ5EO2Ag/4r/O8KW3tN3eynk9FgDo6OPGePigfallXZRJG9KgiIqyItsDwNbY/s2sdhNcW9SEu5FZY6R61pPMJqAJQnt+DI0USMJXJHdeaSYNecoYMH1z731vyyhIolMMEdKcAVrBBPKlS9W/qKZDLMehSewWNtw4PmxX4i5C/Awst3kDpbwOWu/Epkvt1gGkysRTc8Q1UMixlGYOu+96RcUNuMokXTzLPUtq+QSlHcyoNhjGvAPxmVrabs1bXScOZ9C7mNx/VnNvGYdYwT+P0Aiv4WozO1hGmj4rnfLlazWqFDGka1EKXBAwtBpr1Upil2HO8BMWarAz9HAqco7Zh17RgXvm07XFcPOAaF/K9msH4tgUCNcRzu12CvgMnygqAY48rOahCQw5+xSkYUxNNNPRFop7JaEufL3ZO4p8dRQSXg7yGSCpfR1c8PYF8Qte48vIQhQ8e6o4bw01T9U2blg0Tn54ExVRnf36jKPzpMkcSjX3KFALwJrQu5nQkNYKdcPsc/I9RsoH6TPLt5cywIJOmkzH54Dn4jagU= 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)(366016)(1800799024)(376014)(23010399003)(22082099003)(18002099003)(56012099006)(6133799003)(10067099003);DIR:OUT;SFP:1102; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?JkI05RGQk0USFjw4JzDhZZSgIg9rUUOc0hYKvwEqCLVLJOiENgqrouyTldkj?= =?us-ascii?Q?7zyWW/JvhyMQp6JlN+HCAgWWxj7WML0fQzjYsMN/QbL/9copcQlfOQ5eBnu3?= =?us-ascii?Q?YP4iQ4j90mIZJSCkP7S1K0HX80eYR+2zDkx2R1ZmOIH6zQH3QvxcvMOWBilA?= =?us-ascii?Q?DlP5Alz2MxAI+1U3+EyBgfxkUd1TNqxGC1jQWttVaLq4CR7zL0wAtul37NG2?= =?us-ascii?Q?XFca9BGs56y8INVZPFyeHkEq5hErHCxEF4bdCHVHUluku+5pfBgmRYzWR8pU?= =?us-ascii?Q?HtsM+Vh4jwH0TRT4FuoJIuMswsfvyul/zLlPYcGQLStaIYyf/a/C0qkXNECW?= =?us-ascii?Q?2ISH2ztl3okDLqhAGSPPHpy6hgOdIcf1nIruq3cX83m0U4o+mOaLNjKAqbbb?= =?us-ascii?Q?ztsGs6WeAFkhspNjLC38G6zrqgeZUpQDFIkDYpUNZJEzPoqlX5k/UhqtMW6e?= =?us-ascii?Q?JNkk/kUD1i36Ew056FV6suBHFZc19YkLgJog9DHwy3g9VMkCyuVHJoh67N3v?= =?us-ascii?Q?hD5HTc/Nz1680uy1riKvdynjV4LDFHng5NEd2qnJt2SM33ayU3HBbHuWDRDH?= =?us-ascii?Q?TIHWSFimG0Ni+beAncImHi+MyByrSXv/CPCUhdT9vW5yL3ZsukWXm2fG9nYm?= =?us-ascii?Q?9ChMcXQ4z5FTV+0qKLAk0BGBzR99NGwvurudf9sEo/o93jzU6AGnB/wcBmlj?= =?us-ascii?Q?hN32GoqkTResZ7OOv711Nj6k+wk74OIjRNYQDPVLPIPCIqmdW40cVPYwJ7Fz?= =?us-ascii?Q?zQ/wKkxD1/d0krCwUv5Kue8bb+FYou7gP1l8YQ7S55TP6kNiM0R8FXDIUQYR?= =?us-ascii?Q?won1lxHwVcIgmAUYQlBUQphy//1IjbPBG9YxxDwIaCzF6YDQRUBYkex4NOVV?= =?us-ascii?Q?dtOYz86yeCg4is+jet42qRnz1Xkb8QVuYidE3vx4JKkV1ZKtx/M81pV1bKDg?= =?us-ascii?Q?FVjEHsH6nUPIMoXbv2lP6QLg2OSvlS1+s61kZvHPpJpRNNVzeIbezwE65ULG?= =?us-ascii?Q?w6DPY4QtBFGjZonORXOg2YgwHJbXoROPGei2i3KlEq6+Vah0FLmvxz6xALkl?= =?us-ascii?Q?bkDdDlzDJF8bDfZjNkwaFm2iFMTTcQ/TNVjZzziQU28rb2axjLj1uMs0w/Vv?= =?us-ascii?Q?XogYza87IYFBWNC+yBM1g/JLU5E5XxfH4yFEah0DC96pWGqNWduaZam2JRUb?= =?us-ascii?Q?pMEuuGyn6DUgzKX5ErhPRsn7iOuLHSQjwy6Zglj1Z/teyt5nLPeLXoQ4rjI7?= =?us-ascii?Q?Pz/O6hTVa0DsULM0LieWX2IS8esMQCxwKpwOP2AenUiucfuTdh72GWx/rqWR?= =?us-ascii?Q?626zHws5Uc5NVwmNlYkrNuuCvhEjGQZSUiXS8oLTNxth1ZmfSSw5hHK6GGbl?= =?us-ascii?Q?4SahJOfeI29yfQd04h/PIRJAG824f11s3UMutW5EKdWDlGnY66OCMEYnpQ/T?= =?us-ascii?Q?iRTvYs5P7zbnyMfXMQmEi2gQB3DWKsSWHGyo4wlcIjvchUCGaE+tMAni5vXr?= =?us-ascii?Q?rNAdo9jLY98RrSiARP4rn6wzBmUDQ9knlu+V3NY/1zHwFF0kLNHal4NWsywV?= =?us-ascii?Q?OQIOdbjSWpg6axo4lWZ4rUqaTFNgx8VJ3NTYyPeEF8TX5TekCZum4ywtu2de?= =?us-ascii?Q?egur/FlXdon97vrIscnlVV3g3owmWBWsK6BXKsF4XF60MaH85KVuYmECgUr+?= =?us-ascii?Q?vCCQqCRAcGSV0b2MwaIEXvLjH34RSRvy3dpSjBGbIbxNi5+/PP58E579sKAF?= =?us-ascii?Q?ukN8uoms6zWhkFuYdNqu/zuMnN7krQY=3D?= X-OriginatorOrg: thelustrecollective.com X-MS-Exchange-CrossTenant-Network-Message-Id: 14abcb37-79ec-4be3-f919-08def7c22b60 X-MS-Exchange-CrossTenant-AuthSource: DM6PR04MB4682.namprd04.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 11 Aug 2026 16:04:05.8292 (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: sWO/uad3636KeliSfcw3EnHpoXxvdYdc9ChpAaA57mOM6uPBECXaXS8ssJj6PjZZK3mi/PCwZvoZQ1U6oSLtORui8FRtm+qPq/RIV13VfVg= X-MS-Exchange-Transport-CrossTenantHeadersStamped: SJ0PR04MB8258 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. Convert the spinlock initialization to use scoped_guard(spinlock_init, ...) and place the writes under the guard to prevent warnings. Signed-off-by: Timothy Day Acked-by: Marco Elver --- fs/ext2/balloc.c | 3 +++ fs/ext2/ext2.h | 5 +++-- fs/ext2/super.c | 27 ++++++++++++++------------- 3 files changed, 20 insertions(+), 15 deletions(-) diff --git a/fs/ext2/balloc.c b/fs/ext2/balloc.c index 53c91cb38bde..80acc1e19387 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 b6ae29b2e6ec..404f4223a6bd 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 0fa7914e5f04..b7f042e42009 100644 --- a/fs/ext2/super.c +++ b/fs/ext2/super.c @@ -1131,19 +1131,20 @@ static int ext2_fill_super(struct super_block *sb, = struct fs_context *fc) sbi->s_next_generation =3D get_random_u32(); =20 /* per filesystem reservation list head & lock */ - spin_lock_init(&sbi->s_rsv_window_lock); - 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 - * append-at-start-of-list which makes the allocation logic - * _much_ simpler. - */ - sbi->s_rsv_window_head.rsv_start =3D EXT2_RESERVE_WINDOW_NOT_ALLOCATED; - 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); + scoped_guard(spinlock_init, &EXT2_SB(sb)->s_rsv_window_lock) { + 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 + * append-at-start-of-list which makes the allocation logic + * _much_ simpler. + */ + sbi->s_rsv_window_head.rsv_start =3D EXT2_RESERVE_WINDOW_NOT_ALLOCATED; + 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); + } =20 err =3D percpu_counter_init(&sbi->s_freeblocks_counter, ext2_count_free_blocks(sb), GFP_KERNEL); --=20 2.43.0 From nobody Tue Sep 29 06:08:57 2026 Received: from BN1PR04CU002.outbound.protection.outlook.com (mail-eastus2azon11020104.outbound.protection.outlook.com [52.101.56.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 F340F3C943F; Tue, 11 Aug 2026 16:04:14 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=52.101.56.104 ARC-Seal: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1786464256; cv=fail; b=E6C5C8jW+hl8R11IdC3kBy2dIVvo63cIDJgKbL3j8Colu+d1CBPUKooxfFMkhe3nBAvKrr20sqRC+3Moah0kdLERS/I94h2eS0fp4X92/DK7B9NvPMvDkfW3MM3ZD3xSHjy7dxESTeidh7Q41/XDvQJNj6K+4p68nbe9A8SDjoE= ARC-Message-Signature: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1786464256; c=relaxed/simple; bh=rKESXWLOeUXvbVvH7rSwF6iRBLVZUMFMMP7UWeGUbD4=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: Content-Type:MIME-Version; b=TzHh/heXNmAs2iEjan4VFQrI4qQkR1OkoR+f09Ne5wjgE0PtneQFv6qsFY8ma3dKUpp3JEJLXMZc8WOD6IsbcMiA8I3EILoU1rI3EpdzPWw+H4yhibuXyPwfhskSVbNh+IU1ywn+jV/sIJpr+Vn6wAHYeOlMm0zeWrsmy9NJ9p8= 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=MiH8Qa1g; arc=fail smtp.client-ip=52.101.56.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="MiH8Qa1g" ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=m3lLaBtx6Kf9ugoQBD8gXxYlML4GLPrNNEBfL0AWEIr+syTtBnJ0YTygm+Uj9BP2yNmlvCTI6x6+bILTY3gXa8wCaN3a3DHdAasWfCUMCvGsIDiFfsCTsPcMpWEEUBjSfAikf5VDej7bf3d9/rc0WKrdHRgHHttdHDGo6oFylGlQSX96cB8N4VX2VaXi0O2/Xe1q/MC2DLicQeCezvHNDgQylc3FrsBWPv9sGJHePl/caSiNu4ZsAJFQivSNd7OPo2eWXd7XNL43MQWsUe1MbTu6sXBD+R9aBBUvWy4BtxbvkzHwmpkgfsGPDYAYUFr58T7ukr/d9EAOqFGD5a0xJQ== 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=vMdLlNOemsmSG9AIt5ETOZS2sK+8WUkbLtEmitXVSmY=; b=JtbraFrKNutKrCXpLYkXOWCAF0qFCj1fk1JYV/kErdHxsWhfDeiVAtsNAV+dEK0iEVcTrcssVDL0Qsxl8P8O620TpiaPd8I8tHYTZUrvZbf0iD7OyrCNSnuT772Vfauln2FM3xMaMk4VbqLsCclTgvQemsKZWQx1HUMJfFzjfDJJHKy8KnynS6Tl7WM5NNELXhN7d/fcey0R25liux9h8tu3XPltaslDXoPxK1XeHlA1CszpRIa7wk062woT4Gq/JdIVKRhJQG4eP/GcYRa363p67CTfnSv7t0juO1hM83ZVFdF6XqH8xyRfJLbeWUgFzwkwBB6dsqrZdnBFn3UhqA== 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=vMdLlNOemsmSG9AIt5ETOZS2sK+8WUkbLtEmitXVSmY=; b=MiH8Qa1gHz1i6PAQyPlGNuuLbh7zj7QO6BEStdAcHqbGV4sbxDEve8AfBAHZ8U0wpIgkh45buN0xX/4bsNmYmizT0C44mAhVrbPsXcdFSy0F1Hx7IaKEHkHqAPzwn2wL4ha2+Frb7jn/pPGZJmx/vpCoBccZa6j9j9khOWTRQhT5r8Tr9TAT9FZbpoQ0mQg5WMu8BbbtE3XHRZF0xQfgHLVgXvUayz8MgWzonbpcX0maJaokW8jJ+NiNo50F+Ey6HkGi+TboLMZ/nIrq+QOHrLZuGBzqBrnWChYNQBRMlvCZsSEwn4cssVgenwTpP4jb2yMZtzvvA4W8N6eCqlOmOw== 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 SJ0PR04MB8258.namprd04.prod.outlook.com (2603:10b6:a03:3e6::17) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.21.315.12; Tue, 11 Aug 2026 16:04:09 +0000 Received: from DM6PR04MB4682.namprd04.prod.outlook.com ([fe80::fa5e:6e7f:2655:bfee]) by DM6PR04MB4682.namprd04.prod.outlook.com ([fe80::fa5e:6e7f:2655:bfee%5]) with mapi id 15.21.0292.024; Tue, 11 Aug 2026 16:04:09 +0000 From: Timothy Day To: linux-ext4@vger.kernel.org Cc: Jan Kara , Marco Elver , Theodore Tso , linux-fsdevel@vger.kernel.org, linux-kernel@vger.kernel.org, Timothy Day Subject: [PATCH v2 8/8] ext2: enable context analysis support for ext2 filesystem Date: Tue, 11 Aug 2026 12:03:36 -0400 Message-ID: <20260811160336.782342-9-timday@thelustrecollective.com> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20260811160336.782342-1-timday@thelustrecollective.com> References: <20260811160336.782342-1-timday@thelustrecollective.com> Content-Transfer-Encoding: quoted-printable X-ClientProxiedBy: CH0P220CA0001.NAMP220.PROD.OUTLOOK.COM (2603:10b6:610:ef::19) 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_|SJ0PR04MB8258:EE_ X-MS-Office365-Filtering-Correlation-Id: b7deefc9-8898-4a62-843c-08def7c22bde X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|366016|1800799024|376014|23010399003|22082099003|18002099003|56012099006|6133799003|10067099003; X-Microsoft-Antispam-Message-Info: VnY6MvJmP27eAuXefmhBvALoaC0+XNeHxVBzyWiX8GDcKvqyIPeICveT8GqgzVuK7C6HNhprqjlWwF5QqWlQ+hw1SVAnB0cLPisAuJEAWPlxgs/DU95dK45Xjl6HTmdPzfYZNrJBfNu86COjPJal+oi5/x9X9vBSnxr9xOiSfpym02oPZgWK9lJ/V06tLCE4+aDo9pytsf7n09Kq8lrcuA0pm+sOYojg9JmahbPLxIQY1oHC8O7jW/PKjACKpxR7fAbT8WavK/OlyReycaARoGHggxW7E6+ahIScPKRY/tTlx/opaL1XeE9BHWRfwD2EP6iKS08VPuqyPSe+n3d/gexSExFtEIYugQNB6CbLidcC83UHzy/eZA2B4baZdRSIH/RFSPhawGsoL65PM9RoSvtWpgy+eZmqZH7y426/cR4/qa+mgLOoZB9f8+Qs9WbMEfrMNn2rNGyCVUdyBIjerJ6ue8RYS76yNWJxN4YTYr4VE/Hgz9obFZeSQaxgnd4u4K3fatzk+Wfzap2JZSc9CbcC5Nt462iMJ1727bN1Z/67x2MKfJYgXjS8+JapMGBeMX++8hKXtwlSKAj27a+mLVLJrMeELHkzh5mdqdrKgfYSVsAv03IBJ7+CKJ9mwzxbmSwouwttXmQm7asl6Qe01e2wGQiOCAsS//ZrdRzGLOE= 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)(366016)(1800799024)(376014)(23010399003)(22082099003)(18002099003)(56012099006)(6133799003)(10067099003);DIR:OUT;SFP:1102; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?MP/NqMEcLXFcn+8LHflVCa5zaRqc0/41GqN6oHzZx6SBqKBNnEbZvehvPjMg?= =?us-ascii?Q?H2+XXLemd8lU56/hpFUAp4G/xoyY9tDT9K6erk0egkjbiy0Ot0jp1HEXm6jR?= =?us-ascii?Q?VTUI2WlH0hNp4gk3XiJsrzIfecKXCYpVwKJaXjxiJgrHzxaqHlkiWeKKudFw?= =?us-ascii?Q?XXWYt0112RWVZNuRvUkKw4XjXS8gQAhAgR5vXMSEePcfgakBjKIYn/Q0hFqm?= =?us-ascii?Q?0nja0blD8bjzXs74SH/BhAvYPemcB/LhpkjeI0HUq5G6GJcoCjc+HfN3P8Cf?= =?us-ascii?Q?+nsLxoKKnRuvi9zQwe8fsu/LjfQioLS2n+63GflRDERVtIHy9uCCUJrCHjY3?= =?us-ascii?Q?RkfvZoWEcJEcfZ5qENrD2I2RfO6+jBzACqgswfBxEQDi9rcWqhOa9tMNNrMJ?= =?us-ascii?Q?0gv7ccBh9ivoeH8gbkcfVf+HX5wNRCpit70WVVBmpIGbgFSB408psAoQOXep?= =?us-ascii?Q?uK9JIvGL7m2va7n2VTcs55zKY9qxyZSv2R5+g249Sv6KrV5nDAFm+yQlR/HM?= =?us-ascii?Q?weI22joiv1KlPIAOrsWi6UDtTsdzWySK4X2SLzf7HDWq9tkSWqwLsGFCNg4m?= =?us-ascii?Q?iedzeolaiEUN1jhzLu6I7vspGgCaImX2Wh63jupQkQzcS4m1Yby5kd2WR7Ta?= =?us-ascii?Q?/74cnXB8e0YMSRoZOnSPcF5afJZvoXFQhDXz/Bj4CGMvFTo0Jola42wcWDLI?= =?us-ascii?Q?+1cBC8LCMIIyn3y8wpXiXlEtVz38rrUvlxPDScpeNwYfM6fRoDp7fErKUMVy?= =?us-ascii?Q?bTx5L/+NXxqLPmagtltWE7dqs/l6LRQkWoGmY4TXvp81ugtLCto82rBXrTAv?= =?us-ascii?Q?hAHhHLji4BjnF3VbHNzCthA7MrTgbgvSXt32JDKezyYCMR4WlRO5seeaY6V6?= =?us-ascii?Q?YmpnJO6Tm6e9X7rscEWIh4aGvx8N+dJmscIoFgFVPgVl3AGKucaX0uOWn/Fn?= =?us-ascii?Q?abOaltUDT4YEg179ryzzaM9Fz2pJc13pv5NTpfkoraX6ocoKiSB1Kr++2l73?= =?us-ascii?Q?yQ7u/5LA9Kh7HNKnqLxM4kS1BekGuX0i1LUXJ7vlIQRx/8DvqKR+YHSR/BYX?= =?us-ascii?Q?wPmB2g4nHJyM7BETmtRH3y35AXwC/YjHScG02FgNpf+eJZ5yIuSz4ywfB9cM?= =?us-ascii?Q?6850dLAycAFjS7ZqCmu//iGuqrPS7g3foDdaRX2OpJm0+DloZhrhwkxj01bR?= =?us-ascii?Q?ibPkxzIrjPWgj+B78W/dRBk+LTQo6hAJIDhbPlAGxNVGotkCoSPUDcwHhMQE?= =?us-ascii?Q?pDV6wuLMekD1kb0jbyywYNhqnrrs4uGvzSwlRePh1LYQr7R58CyP5Bqjhkzk?= =?us-ascii?Q?n/1DrJYPHBP80v2M/8c9G6tcBQ+9nbOr2xVlj/66RVzL2eu+03krZfBCPfA5?= =?us-ascii?Q?4P/IYdLhfuQzeYE78pjnsKVxcOp0qXWvMA9Y7LgOlhoVSfmXfN7C9j1oEkjs?= =?us-ascii?Q?4julZlK/nPPdaIEVFrcZ+NZJiq5HzJi2dxEGcjRxOH9Ot3vP/sF/FgH4+Qmt?= =?us-ascii?Q?k6pi0DIk6WXOS8EDKQp21CMviziLB9vbXje3OE5Xm9auRxpV4+AGb68n+/Lr?= =?us-ascii?Q?PYtQozlivZlcs/Aps6BPKwtBkyEfgHm+YTSjaMjTaaiA+5pVyvPYIqtSrjam?= =?us-ascii?Q?rkp5HV+nzHOWdnAReMBQc/66PJivhZhBcydy3NVH3mlY4/OA5QNPtdhLQYtR?= =?us-ascii?Q?m0ALnWVYHgof16gKGmlqPcSBv6x4QQwXSaNMxSmeUhfhmW574Ql8FR8DhebM?= =?us-ascii?Q?3NCn0wO54flAjNZyhG7EK/EG2aKJP2o=3D?= X-OriginatorOrg: thelustrecollective.com X-MS-Exchange-CrossTenant-Network-Message-Id: b7deefc9-8898-4a62-843c-08def7c22bde X-MS-Exchange-CrossTenant-AuthSource: DM6PR04MB4682.namprd04.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 11 Aug 2026 16:04:06.6824 (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: qcdDF3a8GAg6bZSdd67ezJ79EjYsh9q3zoSvhzDNwf1ANLRSWazdc5P4Jh4SkZPocccStKpk5K71eWfSIFgVxvCTLQHGN6EMH9m4mdG22H4= X-MS-Exchange-Transport-CrossTenantHeadersStamped: SJ0PR04MB8258 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 Acked-by: Marco Elver --- fs/ext2/Makefile | 2 ++ 1 file changed, 2 insertions(+) diff --git a/fs/ext2/Makefile b/fs/ext2/Makefile index 8860948ef9ca..33db2e9dc908 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.43.0