syzbot


KCSAN: data-race in fat16_ent_put / fat_mirror_bhs

Status: moderation: reported on 2025/04/25 15:47
Subsystems: exfat
[Documentation on labels]
Reported-by: syzbot+018e6f695ad9bccb182a@syzkaller.appspotmail.com
First crash: 21h19m, last: 7h48m

Sample crash report:
==================================================================
BUG: KCSAN: data-race in fat16_ent_put / fat_mirror_bhs

write to 0xffff88811b611e02 of 2 bytes by task 5125 on cpu 1:
 fat16_ent_put+0x28/0x60 fs/fat/fatent.c:183
 fat_ent_write+0x69/0xe0 fs/fat/fatent.c:417
 fat_chain_add+0x15b/0x3f0 fs/fat/misc.c:136
 fat_add_cluster fs/fat/inode.c:112 [inline]
 __fat_get_block fs/fat/inode.c:154 [inline]
 fat_get_block+0x46c/0x5e0 fs/fat/inode.c:189
 __block_write_begin_int+0x419/0xf70 fs/buffer.c:2116
 block_write_begin fs/buffer.c:2227 [inline]
 cont_write_begin+0x5a3/0x8e0 fs/buffer.c:2566
 fat_write_begin+0x4f/0xe0 fs/fat/inode.c:228
 generic_perform_write+0x181/0x490 mm/filemap.c:4103
 __generic_file_write_iter+0x9e/0x120 mm/filemap.c:4220
 generic_file_write_iter+0x8d/0x2f0 mm/filemap.c:4246
 __kernel_write_iter+0x253/0x4c0 fs/read_write.c:617
 dump_emit_page fs/coredump.c:885 [inline]
 dump_user_range+0x5f4/0x8d0 fs/coredump.c:959
 elf_core_dump+0x1dc2/0x1f80 fs/binfmt_elf.c:2128
 do_coredump+0x1836/0x1f40 fs/coredump.c:759
 get_signal+0xd85/0xf70 kernel/signal.c:3019
 arch_do_signal_or_restart+0x97/0x480 arch/x86/kernel/signal.c:337
 exit_to_user_mode_loop kernel/entry/common.c:111 [inline]
 exit_to_user_mode_prepare include/linux/entry-common.h:329 [inline]
 irqentry_exit_to_user_mode+0x5e/0xa0 kernel/entry/common.c:231
 irqentry_exit+0x12/0x50 kernel/entry/common.c:334
 asm_exc_page_fault+0x26/0x30 arch/x86/include/asm/idtentry.h:623

read to 0xffff88811b611800 of 2048 bytes by task 5152 on cpu 0:
 fat_mirror_bhs+0x1df/0x320 fs/fat/fatent.c:395
 fat_ent_write+0xd0/0xe0 fs/fat/fatent.c:423
 fat_chain_add+0x15b/0x3f0 fs/fat/misc.c:136
 fat_add_cluster fs/fat/inode.c:112 [inline]
 __fat_get_block fs/fat/inode.c:154 [inline]
 fat_get_block+0x46c/0x5e0 fs/fat/inode.c:189
 __block_write_begin_int+0x419/0xf70 fs/buffer.c:2116
 block_write_begin fs/buffer.c:2227 [inline]
 cont_write_begin+0x5a3/0x8e0 fs/buffer.c:2566
 fat_write_begin+0x4f/0xe0 fs/fat/inode.c:228
 generic_perform_write+0x181/0x490 mm/filemap.c:4103
 __generic_file_write_iter+0x9e/0x120 mm/filemap.c:4220
 generic_file_write_iter+0x8d/0x2f0 mm/filemap.c:4246
 __kernel_write_iter+0x253/0x4c0 fs/read_write.c:617
 dump_emit_page fs/coredump.c:885 [inline]
 dump_user_range+0x5f4/0x8d0 fs/coredump.c:959
 elf_core_dump+0x1dc2/0x1f80 fs/binfmt_elf.c:2128
 do_coredump+0x1836/0x1f40 fs/coredump.c:759
 get_signal+0xd85/0xf70 kernel/signal.c:3019
 arch_do_signal_or_restart+0x97/0x480 arch/x86/kernel/signal.c:337
 exit_to_user_mode_loop kernel/entry/common.c:111 [inline]
 exit_to_user_mode_prepare include/linux/entry-common.h:329 [inline]
 irqentry_exit_to_user_mode+0x5e/0xa0 kernel/entry/common.c:231
 irqentry_exit+0x12/0x50 kernel/entry/common.c:334
 asm_exc_page_fault+0x26/0x30 arch/x86/include/asm/idtentry.h:623

Reported by Kernel Concurrency Sanitizer on:
CPU: 0 UID: 0 PID: 5152 Comm: syz.6.221 Not tainted 6.15.0-rc3-syzkaller-00094-g02ddfb981de8 #0 PREEMPT(voluntary) 
Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 02/12/2025
==================================================================
syz.6.221 (5152) used greatest stack depth: 9352 bytes left

Crashes (2):
Time Kernel Commit Syzkaller Config Log Report Syz repro C repro VM info Assets (help?) Manager Title
2025/04/26 05:18 upstream 02ddfb981de8 c6b4fb39 .config console log report info [disk image] [vmlinux] [kernel image] ci2-upstream-kcsan-gce KCSAN: data-race in fat16_ent_put / fat_mirror_bhs
2025/04/25 15:47 upstream 02ddfb981de8 e3715315 .config console log report info [disk image] [vmlinux] [kernel image] ci2-upstream-kcsan-gce KCSAN: data-race in fat16_ent_put / fat_mirror_bhs
* Struck through repros no longer work on HEAD.