syzbot


KCSAN: data-race in __mark_inode_dirty / move_expired_inodes (5)

Status: moderation: reported on 2025/02/18 23:41
Subsystems: ext4
[Documentation on labels]
Reported-by: syzbot+0c54a553d9e164272ab3@syzkaller.appspotmail.com
First crash: 125d, last: 1d05h
Similar bugs (4)
Kernel Title Repro Cause bisect Fix bisect Count Last Reported Patched Status
upstream KCSAN: data-race in __mark_inode_dirty / move_expired_inodes (4) ext4 3 198d 210d 0/29 auto-obsoleted due to no activity on 2025/02/02 07:47
upstream KCSAN: data-race in __mark_inode_dirty / move_expired_inodes ext4 75 1406d 1660d 0/29 auto-closed as invalid on 2021/09/21 21:54
upstream KCSAN: data-race in __mark_inode_dirty / move_expired_inodes (3) ext4 1 249d 249d 0/29 auto-obsoleted due to no activity on 2024/11/22 12:08
upstream KCSAN: data-race in __mark_inode_dirty / move_expired_inodes (2) ext4 195 289d 564d 0/29 auto-obsoleted due to no activity on 2024/10/12 23:36

Sample crash report:
==================================================================
BUG: KCSAN: data-race in __mark_inode_dirty / move_expired_inodes

read-write to 0xffff888106bf05f8 of 4 bytes by task 31 on cpu 0:
 move_expired_inodes+0x17a/0x400 fs/fs-writeback.c:1457
 queue_io+0xd9/0x2c0 fs/fs-writeback.c:1509
 wb_writeback+0x226/0x5c0 fs/fs-writeback.c:2152
 wb_check_start_all fs/fs-writeback.c:2284 [inline]
 wb_do_writeback fs/fs-writeback.c:2310 [inline]
 wb_workfn+0x4c9/0x910 fs/fs-writeback.c:2343
 process_one_work kernel/workqueue.c:3238 [inline]
 process_scheduled_works+0x4ce/0x9d0 kernel/workqueue.c:3321
 worker_thread+0x582/0x770 kernel/workqueue.c:3402
 kthread+0x486/0x510 kernel/kthread.c:464
 ret_from_fork+0xda/0x150 arch/x86/kernel/process.c:148
 ret_from_fork_asm+0x1a/0x30 arch/x86/entry/entry_64.S:245

read to 0xffff888106bf05f8 of 4 bytes by task 5903 on cpu 1:
 __mark_inode_dirty+0x18e/0x760 fs/fs-writeback.c:2549
 mark_inode_dirty_sync include/linux/fs.h:2603 [inline]
 dquot_free_space include/linux/quotaops.h:380 [inline]
 dquot_free_block include/linux/quotaops.h:390 [inline]
 ext4_mb_clear_bb fs/ext4/mballoc.c:6531 [inline]
 ext4_free_blocks+0xe3f/0x1400 fs/ext4/mballoc.c:6651
 ext4_clear_blocks+0x2a2/0x2c0 fs/ext4/indirect.c:888
 ext4_free_data+0x1a1/0x2a0 fs/ext4/indirect.c:962
 ext4_free_branches+0x62/0x410 fs/ext4/indirect.c:1108
 ext4_ind_truncate+0x503/0x830 fs/ext4/indirect.c:1181
 ext4_truncate+0x6d7/0xad0 fs/ext4/inode.c:4576
 ext4_truncate_failed_write fs/ext4/truncate.h:22 [inline]
 ext4_write_end+0x44b/0x730 fs/ext4/inode.c:1465
 generic_perform_write+0x30f/0x490 mm/filemap.c:4133
 ext4_buffered_write_iter+0x1ee/0x3c0 fs/ext4/file.c:299
 ext4_file_write_iter+0x383/0xf00 fs/ext4/file.c:-1
 new_sync_write fs/read_write.c:593 [inline]
 vfs_write+0x4a0/0x8e0 fs/read_write.c:686
 ksys_pwrite64 fs/read_write.c:793 [inline]
 __do_sys_pwrite64 fs/read_write.c:801 [inline]
 __se_sys_pwrite64 fs/read_write.c:798 [inline]
 __x64_sys_pwrite64+0xfd/0x150 fs/read_write.c:798
 x64_sys_call+0xe45/0x2fb0 arch/x86/include/generated/asm/syscalls_64.h:19
 do_syscall_x64 arch/x86/entry/syscall_64.c:63 [inline]
 do_syscall_64+0xd2/0x200 arch/x86/entry/syscall_64.c:94
 entry_SYSCALL_64_after_hwframe+0x77/0x7f

value changed: 0x00000038 -> 0x00000000

Reported by Kernel Concurrency Sanitizer on:
CPU: 1 UID: 0 PID: 5903 Comm: syz.2.545 Not tainted 6.16.0-rc3-syzkaller #0 PREEMPT(voluntary) 
Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 05/07/2025
==================================================================

Crashes (14):
Time Kernel Commit Syzkaller Config Log Report Syz repro C repro VM info Assets (help?) Manager Title
2025/06/23 11:49 upstream 86731a2a651e d6cdfb8a .config console log report info [disk image] [vmlinux] [kernel image] ci2-upstream-kcsan-gce KCSAN: data-race in __mark_inode_dirty / move_expired_inodes
2025/06/19 18:52 upstream 24770983ccfe ed3e87f7 .config console log report info [disk image] [vmlinux] [kernel image] ci2-upstream-kcsan-gce KCSAN: data-race in __mark_inode_dirty / move_expired_inodes
2025/05/30 10:34 upstream f66bc387efbe 3d2f584d .config console log report info [disk image] [vmlinux] [kernel image] ci2-upstream-kcsan-gce KCSAN: data-race in __mark_inode_dirty / move_expired_inodes
2025/05/26 16:08 upstream 0ff41df1cb26 874a1386 .config console log report info [disk image] [vmlinux] [kernel image] ci2-upstream-kcsan-gce KCSAN: data-race in __mark_inode_dirty / move_expired_inodes
2025/05/25 07:56 upstream d0c22de9995b ed351ea7 .config console log report info [disk image] [vmlinux] [kernel image] ci2-upstream-kcsan-gce KCSAN: data-race in __mark_inode_dirty / move_expired_inodes
2025/05/21 23:04 upstream 4a95bc121ccd dc5d3808 .config console log report info [disk image] [vmlinux] [kernel image] ci2-upstream-kcsan-gce KCSAN: data-race in __mark_inode_dirty / move_expired_inodes
2025/05/13 20:52 upstream 405e6c37c89e 7344edeb .config console log report info [disk image] [vmlinux] [kernel image] ci2-upstream-kcsan-gce KCSAN: data-race in __mark_inode_dirty / move_expired_inodes
2025/05/13 07:55 upstream e9565e23cd89 f6671af7 .config console log report info [disk image] [vmlinux] [kernel image] ci2-upstream-kcsan-gce KCSAN: data-race in __mark_inode_dirty / move_expired_inodes
2025/05/05 13:39 upstream 92a09c47464d 6ca47dd8 .config console log report info [disk image] [vmlinux] [kernel image] ci2-upstream-kcsan-gce KCSAN: data-race in __mark_inode_dirty / move_expired_inodes
2025/03/19 09:26 upstream 81e4f8d68c66 8d0a2921 .config console log report info [disk image] [vmlinux] [kernel image] ci2-upstream-kcsan-gce KCSAN: data-race in __mark_inode_dirty / move_expired_inodes
2025/03/19 02:48 upstream 76b6905c11fd 22a6c2b1 .config console log report info [disk image] [vmlinux] [kernel image] ci2-upstream-kcsan-gce KCSAN: data-race in __mark_inode_dirty / move_expired_inodes
2025/03/14 19:55 upstream 695caca9345a e2826670 .config console log report info [disk image] [vmlinux] [kernel image] ci2-upstream-kcsan-gce KCSAN: data-race in __mark_inode_dirty / move_expired_inodes
2025/02/21 21:29 upstream 8a61cb6e150e d34966d1 .config console log report info [disk image] [vmlinux] [kernel image] ci2-upstream-kcsan-gce KCSAN: data-race in __mark_inode_dirty / move_expired_inodes
2025/02/18 23:40 upstream 6537cfb395f3 9a14138f .config console log report info [disk image] [vmlinux] [kernel image] ci2-upstream-kcsan-gce KCSAN: data-race in __mark_inode_dirty / move_expired_inodes
* Struck through repros no longer work on HEAD.