syzbot


KCSAN: data-race in __mark_inode_dirty / generic_buffers_fsync_noflush (4)

Status: moderation: reported on 2025/09/30 00:56
Subsystems: ext4
[Documentation on labels]
Reported-by: syzbot+052881ffc82df6662cb0@syzkaller.appspotmail.com
First crash: 59d, last: 11d
Similar bugs (3)
Kernel Title Rank 🛈 Repro Cause bisect Fix bisect Count Last Reported Patched Status
upstream KCSAN: data-race in __mark_inode_dirty / generic_buffers_fsync_noflush (3) ext4 6 1 167d 167d 0/29 auto-obsoleted due to no activity on 2025/08/09 08:40
upstream KCSAN: data-race in __mark_inode_dirty / generic_buffers_fsync_noflush ext4 6 2 429d 441d 0/29 auto-obsoleted due to no activity on 2024/10/29 23:12
upstream KCSAN: data-race in __mark_inode_dirty / generic_buffers_fsync_noflush (2) ext4 6 3 294d 358d 0/29 auto-obsoleted due to no activity on 2025/04/04 01:26

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

write to 0xffff8881199105f8 of 4 bytes by task 9244 on cpu 0:
 __mark_inode_dirty+0x248/0x750 fs/fs-writeback.c:2597
 generic_update_time fs/inode.c:2105 [inline]
 inode_update_time fs/inode.c:2118 [inline]
 touch_atime+0x229/0x340 fs/inode.c:2190
 file_accessed include/linux/fs.h:2673 [inline]
 filemap_splice_read+0x6ba/0x740 mm/filemap.c:3083
 ext4_file_splice_read+0x8f/0xb0 fs/ext4/file.c:158
 do_splice_read fs/splice.c:982 [inline]
 splice_direct_to_actor+0x26f/0x680 fs/splice.c:1086
 do_splice_direct_actor fs/splice.c:1204 [inline]
 do_splice_direct+0xda/0x150 fs/splice.c:1230
 do_sendfile+0x380/0x650 fs/read_write.c:1370
 __do_sys_sendfile64 fs/read_write.c:1431 [inline]
 __se_sys_sendfile64 fs/read_write.c:1417 [inline]
 __x64_sys_sendfile64+0x105/0x150 fs/read_write.c:1417
 x64_sys_call+0x2bb4/0x3000 arch/x86/include/generated/asm/syscalls_64.h:41
 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

read to 0xffff8881199105f8 of 4 bytes by task 9240 on cpu 1:
 generic_buffers_fsync_noflush+0x80/0x120 fs/buffer.c:614
 ext4_fsync_nojournal fs/ext4/fsync.c:88 [inline]
 ext4_sync_file+0x1ab/0x690 fs/ext4/fsync.c:147
 vfs_fsync_range+0x10d/0x130 fs/sync.c:187
 generic_write_sync include/linux/fs.h:3046 [inline]
 ext4_buffered_write_iter+0x34f/0x3c0 fs/ext4/file.c:305
 ext4_file_write_iter+0x387/0xf60 fs/ext4/file.c:-1
 iter_file_splice_write+0x666/0xa60 fs/splice.c:738
 do_splice_from fs/splice.c:938 [inline]
 direct_splice_actor+0x156/0x2a0 fs/splice.c:1161
 splice_direct_to_actor+0x312/0x680 fs/splice.c:1105
 do_splice_direct_actor fs/splice.c:1204 [inline]
 do_splice_direct+0xda/0x150 fs/splice.c:1230
 do_sendfile+0x380/0x650 fs/read_write.c:1370
 __do_sys_sendfile64 fs/read_write.c:1431 [inline]
 __se_sys_sendfile64 fs/read_write.c:1417 [inline]
 __x64_sys_sendfile64+0x105/0x150 fs/read_write.c:1417
 x64_sys_call+0x2bb4/0x3000 arch/x86/include/generated/asm/syscalls_64.h:41
 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: 0x00000000 -> 0x00000050

Reported by Kernel Concurrency Sanitizer on:
CPU: 1 UID: 0 PID: 9240 Comm: syz.0.1838 Tainted: G        W           syzkaller #0 PREEMPT(voluntary) 
Tainted: [W]=WARN
Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 10/02/2025
==================================================================

Crashes (2):
Time Kernel Commit Syzkaller Config Log Report Syz repro C repro VM info Assets (help?) Manager Title
2025/11/17 15:15 upstream 6a23ae0a96a6 ef766cd7 .config console log report info [disk image] [vmlinux] [kernel image] ci2-upstream-kcsan-gce KCSAN: data-race in __mark_inode_dirty / generic_buffers_fsync_noflush
2025/09/30 00:55 upstream 1896ce8eb6c6 86341da6 .config console log report info [disk image] [vmlinux] [kernel image] ci2-upstream-kcsan-gce KCSAN: data-race in __mark_inode_dirty / generic_buffers_fsync_noflush
* Struck through repros no longer work on HEAD.