syzbot


KCSAN: data-race in mark_buffer_dirty_inode / sync_mapping_buffers (11)

Status: moderation: reported on 2025/05/25 01:19
Subsystems: exfat
[Documentation on labels]
Reported-by: syzbot+090227ea7a5578fc6b9c@syzkaller.appspotmail.com
First crash: 205d, last: 8d10h
Similar bugs (10)
Kernel Title Rank 🛈 Repro Cause bisect Fix bisect Count Last Reported Patched Status
upstream KCSAN: data-race in mark_buffer_dirty_inode / sync_mapping_buffers (8) exfat 6 1 660d 660d 0/29 auto-obsoleted due to no activity on 2024/03/30 16:35
upstream KCSAN: data-race in mark_buffer_dirty_inode / sync_mapping_buffers (4) ext4 6 5 1822d 1834d 0/29 auto-closed as invalid on 2021/01/23 11:44
upstream KCSAN: data-race in mark_buffer_dirty_inode / sync_mapping_buffers exfat 6 8 2147d 2216d 0/29 auto-closed as invalid on 2020/04/08 22:27
upstream KCSAN: data-race in mark_buffer_dirty_inode / sync_mapping_buffers (3) exfat 6 10 1908d 2000d 0/29 auto-closed as invalid on 2020/10/29 18:32
upstream KCSAN: data-race in mark_buffer_dirty_inode / sync_mapping_buffers (7) exfat 6 42 710d 738d 0/29 auto-obsoleted due to no activity on 2024/02/03 09:04
upstream KCSAN: data-race in mark_buffer_dirty_inode / sync_mapping_buffers (2) exfat 6 1 2037d 2037d 0/29 closed as invalid on 2020/06/18 14:13
upstream KCSAN: data-race in mark_buffer_dirty_inode / sync_mapping_buffers (9) exfat 6 44 424d 552d 0/29 auto-obsoleted due to no activity on 2024/11/21 22:27
upstream KCSAN: data-race in mark_buffer_dirty_inode / sync_mapping_buffers (6) exfat 6 174 831d 1472d 0/29 auto-obsoleted due to no activity on 2023/10/11 19:19
upstream KCSAN: data-race in mark_buffer_dirty_inode / sync_mapping_buffers (5) exfat 6 32 1512d 1740d 0/29 auto-closed as invalid on 2021/11/29 11:14
upstream KCSAN: data-race in mark_buffer_dirty_inode / sync_mapping_buffers (10) exfat 6 57 268d 353d 0/29 auto-obsoleted due to no activity on 2025/05/10 19:27

Sample crash report:
==================================================================
BUG: KCSAN: data-race in mark_buffer_dirty_inode / sync_mapping_buffers

write to 0xffff88811a899e90 of 8 bytes by task 24466 on cpu 1:
 __remove_assoc_queue fs/buffer.c:523 [inline]
 fsync_buffers_list fs/buffer.c:796 [inline]
 sync_mapping_buffers+0x163/0x7c0 fs/buffer.c:584
 fat_file_fsync+0xaa/0x100 fs/fat/file.c:195
 vfs_fsync_range+0x10d/0x130 fs/sync.c:188
 generic_write_sync include/linux/fs.h:2616 [inline]
 generic_file_write_iter+0x1b8/0x2f0 mm/filemap.c:4461
 __kernel_write_iter+0x2d6/0x540 fs/read_write.c:619
 dump_emit_page fs/coredump.c:1298 [inline]
 dump_user_range+0x61e/0x8f0 fs/coredump.c:1372
 elf_core_dump+0x1de7/0x1f80 fs/binfmt_elf.c:2111
 coredump_write+0xacf/0xdf0 fs/coredump.c:1049
 do_coredump fs/coredump.c:1126 [inline]
 vfs_coredump+0x24f7/0x2e60 fs/coredump.c:1200
 get_signal+0xd84/0xf70 kernel/signal.c:3019
 arch_do_signal_or_restart+0x96/0x450 arch/x86/kernel/signal.c:337
 __exit_to_user_mode_loop kernel/entry/common.c:41 [inline]
 exit_to_user_mode_loop kernel/entry/common.c:75 [inline]
 __exit_to_user_mode_prepare include/linux/irq-entry-common.h:226 [inline]
 irqentry_exit_to_user_mode_prepare include/linux/irq-entry-common.h:270 [inline]
 irqentry_exit_to_user_mode include/linux/irq-entry-common.h:339 [inline]
 irqentry_exit+0xfb/0x560 kernel/entry/common.c:196
 asm_exc_page_fault+0x26/0x30 arch/x86/include/asm/idtentry.h:618

read to 0xffff88811a899e90 of 8 bytes by task 24465 on cpu 0:
 mark_buffer_dirty_inode+0x95/0x1c0 fs/buffer.c:689
 fat16_ent_put+0x4e/0x60 fs/fat/fatent.c:184
 fat_ent_write+0x6c/0xe0 fs/fat/fatent.c:417
 fat_chain_add+0x15d/0x440 fs/fat/misc.c:136
 fat_add_cluster fs/fat/inode.c:113 [inline]
 __fat_get_block fs/fat/inode.c:155 [inline]
 fat_get_block+0x46c/0x5e0 fs/fat/inode.c:190
 __block_write_begin_int+0x400/0xf90 fs/buffer.c:2145
 block_write_begin fs/buffer.c:2256 [inline]
 cont_write_begin+0x5ff/0x970 fs/buffer.c:2594
 fat_write_begin+0x4f/0xe0 fs/fat/inode.c:230
 cont_expand_zero fs/buffer.c:2522 [inline]
 cont_write_begin+0x1b0/0x970 fs/buffer.c:2584
 fat_write_begin+0x4f/0xe0 fs/fat/inode.c:230
 generic_cont_expand_simple+0xb0/0x150 fs/buffer.c:2485
 fat_cont_expand+0x3e/0x170 fs/fat/file.c:223
 fat_fallocate+0x177/0x1c0 fs/fat/file.c:301
 vfs_fallocate+0x3b6/0x400 fs/open.c:339
 ksys_fallocate fs/open.c:363 [inline]
 __do_sys_fallocate fs/open.c:368 [inline]
 __se_sys_fallocate fs/open.c:366 [inline]
 __x64_sys_fallocate+0x7a/0xd0 fs/open.c:366
 x64_sys_call+0x1cd4/0x3000 arch/x86/include/generated/asm/syscalls_64.h:286
 do_syscall_x64 arch/x86/entry/syscall_64.c:63 [inline]
 do_syscall_64+0xd8/0x2a0 arch/x86/entry/syscall_64.c:94
 entry_SYSCALL_64_after_hwframe+0x77/0x7f

value changed: 0xffff888107ba8208 -> 0x0000000000000000

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

Crashes (12):
Time Kernel Commit Syzkaller Config Log Report Syz repro C repro VM info Assets (help?) Manager Title
2025/12/07 21:19 upstream 37bb2e7217b0 d6526ea3 .config console log report info [disk image] [vmlinux] [kernel image] ci2-upstream-kcsan-gce KCSAN: data-race in mark_buffer_dirty_inode / sync_mapping_buffers
2025/12/07 21:18 upstream 37bb2e7217b0 d6526ea3 .config console log report info [disk image] [vmlinux] [kernel image] ci2-upstream-kcsan-gce KCSAN: data-race in mark_buffer_dirty_inode / sync_mapping_buffers
2025/10/26 09:29 upstream 72761a7e3122 c0460fcd .config console log report info [disk image] [vmlinux] [kernel image] ci2-upstream-kcsan-gce KCSAN: data-race in mark_buffer_dirty_inode / sync_mapping_buffers
2025/10/10 23:38 upstream 917167ed1211 ff1712fe .config console log report info [disk image] [vmlinux] [kernel image] ci2-upstream-kcsan-gce KCSAN: data-race in mark_buffer_dirty_inode / sync_mapping_buffers
2025/09/16 19:57 upstream 46a51f4f5eda e2beed91 .config console log report info [disk image] [vmlinux] [kernel image] ci2-upstream-kcsan-gce KCSAN: data-race in mark_buffer_dirty_inode / sync_mapping_buffers
2025/09/02 23:39 upstream e6b9dce0aeeb 96a211bc .config console log report info [disk image] [vmlinux] [kernel image] ci2-upstream-kcsan-gce KCSAN: data-race in mark_buffer_dirty_inode / sync_mapping_buffers
2025/09/02 23:36 upstream e6b9dce0aeeb 96a211bc .config console log report info [disk image] [vmlinux] [kernel image] ci2-upstream-kcsan-gce KCSAN: data-race in mark_buffer_dirty_inode / sync_mapping_buffers
2025/08/21 20:55 upstream 068a56e56fa8 3e79b825 .config console log report info [disk image] [vmlinux] [kernel image] ci2-upstream-kcsan-gce KCSAN: data-race in mark_buffer_dirty_inode / sync_mapping_buffers
2025/07/28 01:55 upstream b711733e89a3 fb8f743d .config console log report info [disk image] [vmlinux] [kernel image] ci2-upstream-kcsan-gce KCSAN: data-race in mark_buffer_dirty_inode / sync_mapping_buffers
2025/06/23 08:07 upstream b67ec639010f d6cdfb8a .config console log report info [disk image] [vmlinux] [kernel image] ci2-upstream-kcsan-gce KCSAN: data-race in mark_buffer_dirty_inode / sync_mapping_buffers
2025/06/10 14:00 upstream f09079bd04a9 4826c28e .config console log report info [disk image] [vmlinux] [kernel image] ci2-upstream-kcsan-gce KCSAN: data-race in mark_buffer_dirty_inode / sync_mapping_buffers
2025/05/25 01:18 upstream b1427432d3b6 ed351ea7 .config console log report info [disk image] [vmlinux] [kernel image] ci2-upstream-kcsan-gce KCSAN: data-race in mark_buffer_dirty_inode / sync_mapping_buffers
* Struck through repros no longer work on HEAD.