syzbot


KCSAN: data-race in __mark_inode_dirty / redirty_tail_locked (10)

Status: moderation: reported on 2025/03/12 23:32
Subsystems: exfat ext4
[Documentation on labels]
Reported-by: syzbot+f717b3f6e17118e4561e@syzkaller.appspotmail.com
First crash: 65d, last: 12d
Similar bugs (9)
Kernel Title Repro Cause bisect Fix bisect Count Last Reported Patched Status
upstream KCSAN: data-race in __mark_inode_dirty / redirty_tail_locked (4) ext4 1 528d 526d 0/28 auto-obsoleted due to no activity on 2024/01/09 20:12
upstream KCSAN: data-race in __mark_inode_dirty / redirty_tail_locked (7) ext4 1 341d 341d 0/28 auto-obsoleted due to no activity on 2024/07/15 04:44
upstream KCSAN: data-race in __mark_inode_dirty / redirty_tail_locked (2) ext4 10 631d 766d 0/28 auto-obsoleted due to no activity on 2023/09/29 00:10
upstream KCSAN: data-race in __mark_inode_dirty / redirty_tail_locked (5) ext4 1 472d 472d 0/28 auto-obsoleted due to no activity on 2024/03/05 08:43
upstream KCSAN: data-race in __mark_inode_dirty / redirty_tail_locked (9) ext4 exfat 2 150d 203d 0/28 auto-obsoleted due to no activity on 2025/02/12 04:51
upstream KCSAN: data-race in __mark_inode_dirty / redirty_tail_locked (3) ext4 3 566d 592d 0/28 auto-obsoleted due to no activity on 2023/12/02 13:09
upstream KCSAN: data-race in __mark_inode_dirty / redirty_tail_locked (6) ext4 1 412d 412d 0/28 auto-obsoleted due to no activity on 2024/05/04 07:48
upstream KCSAN: data-race in __mark_inode_dirty / redirty_tail_locked (8) exfat 1 282d 282d 0/28 auto-obsoleted due to no activity on 2024/09/11 16:13
upstream KCSAN: data-race in __mark_inode_dirty / redirty_tail_locked ext4 1 834d 834d 0/28 auto-obsoleted due to no activity on 2023/03/31 02:53

Sample crash report:
FAT-fs (loop3): utf8 is not a recommended IO charset for FAT filesystems, filesystem will be case sensitive!
FAT-fs (loop3): Volume was not properly unmounted. Some data may be corrupt. Please run fsck.
==================================================================
BUG: KCSAN: data-race in __mark_inode_dirty / redirty_tail_locked

read-write to 0xffff888106323728 of 4 bytes by task 5820 on cpu 1:
 redirty_tail_locked+0x56/0x280 fs/fs-writeback.c:1373
 requeue_inode fs/fs-writeback.c:-1 [inline]
 writeback_sb_inodes+0x71d/0xa20 fs/fs-writeback.c:2005
 __writeback_inodes_wb+0x94/0x1a0 fs/fs-writeback.c:2047
 wb_writeback+0x266/0x5c0 fs/fs-writeback.c:2158
 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+0x4cb/0x9d0 kernel/workqueue.c:3319
 worker_thread+0x582/0x770 kernel/workqueue.c:3400
 kthread+0x486/0x510 kernel/kthread.c:464
 ret_from_fork+0x4b/0x60 arch/x86/kernel/process.c:153
 ret_from_fork_asm+0x1a/0x30 arch/x86/entry/entry_64.S:245

read to 0xffff888106323728 of 4 bytes by task 16320 on cpu 0:
 __mark_inode_dirty+0x52/0x760 fs/fs-writeback.c:2509
 mark_inode_dirty include/linux/fs.h:2545 [inline]
 generic_write_end+0x134/0x150 fs/buffer.c:2341
 fat_write_end+0x4f/0x160 fs/fat/inode.c:242
 generic_perform_write+0x30f/0x490 mm/filemap.c:4124
 __generic_file_write_iter+0x9e/0x120 mm/filemap.c:4220
 generic_file_write_iter+0x8d/0x2f0 mm/filemap.c:4246
 iter_file_splice_write+0x5ef/0x970 fs/splice.c:738
 do_splice_from fs/splice.c:935 [inline]
 direct_splice_actor+0x153/0x2a0 fs/splice.c:1158
 splice_direct_to_actor+0x30f/0x680 fs/splice.c:1102
 do_splice_direct_actor fs/splice.c:1201 [inline]
 do_splice_direct+0xda/0x150 fs/splice.c:1227
 do_sendfile+0x380/0x640 fs/read_write.c:1368
 __do_sys_sendfile64 fs/read_write.c:1429 [inline]
 __se_sys_sendfile64 fs/read_write.c:1415 [inline]
 __x64_sys_sendfile64+0x105/0x150 fs/read_write.c:1415
 x64_sys_call+0xb39/0x2fb0 arch/x86/include/generated/asm/syscalls_64.h:41
 do_syscall_x64 arch/x86/entry/syscall_64.c:63 [inline]
 do_syscall_64+0xd0/0x1a0 arch/x86/entry/syscall_64.c:94
 entry_SYSCALL_64_after_hwframe+0x77/0x7f

value changed: 0x00010022 -> 0x00000020

Reported by Kernel Concurrency Sanitizer on:
CPU: 0 UID: 0 PID: 16320 Comm: syz.3.4392 Not tainted 6.15.0-rc4-syzkaller-00296-ge8ab83e34bdc #0 PREEMPT(voluntary) 
Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 04/19/2025
==================================================================

Crashes (2):
Time Kernel Commit Syzkaller Config Log Report Syz repro C repro VM info Assets (help?) Manager Title
2025/05/04 17:52 upstream e8ab83e34bdc b0714e37 .config console log report info [disk image] [vmlinux] [kernel image] ci2-upstream-kcsan-gce KCSAN: data-race in __mark_inode_dirty / redirty_tail_locked
2025/03/12 23:31 upstream 0fed89a961ea 1a5d9317 .config console log report info [disk image] [vmlinux] [kernel image] ci2-upstream-kcsan-gce KCSAN: data-race in __mark_inode_dirty / redirty_tail_locked
* Struck through repros no longer work on HEAD.