[moderation] [exfat?] KCSAN: data-race in mark_buffer_dirty_inode / sync_mapping_buffers (12)

1 view
Skip to first unread message

syzbot

unread,
1:33 PM (8 hours ago) 1:33 PM
to syzkaller-upst...@googlegroups.com
Hello,

syzbot found the following issue on:

HEAD commit: af4e9ef3d784 uaccess: Fix scoped_user_read_access() for 'p..
git tree: upstream
console output: https://syzkaller.appspot.com/x/log.txt?x=1081b006580000
kernel config: https://syzkaller.appspot.com/x/.config?x=6b32b22d8934c136
dashboard link: https://syzkaller.appspot.com/bug?extid=d94cb4cf4ce1e6ab950f
compiler: Debian clang version 21.1.8 (++20251221033036+2078da43e25a-1~exp1~20251221153213.50), Debian LLD 21.1.8
CC: [hiro...@mail.parknet.co.jp linki...@kernel.org linux-...@vger.kernel.org linux-...@vger.kernel.org sj155...@samsung.com]

Unfortunately, I don't have any reproducer for this issue yet.

Downloadable assets:
disk image: https://storage.googleapis.com/syzbot-assets/3f8cc5456170/disk-af4e9ef3.raw.xz
vmlinux: https://storage.googleapis.com/syzbot-assets/02174f9a5978/vmlinux-af4e9ef3.xz
kernel image: https://storage.googleapis.com/syzbot-assets/b4de5003a74e/bzImage-af4e9ef3.xz

IMPORTANT: if you fix the issue, please add the following tag to the commit:
Reported-by: syzbot+d94cb4...@syzkaller.appspotmail.com

loop6: detected capacity change from 0 to 8192
==================================================================
BUG: KCSAN: data-race in mark_buffer_dirty_inode / sync_mapping_buffers

write to 0xffff88811a8411f8 of 8 bytes by task 4292 on cpu 0:
__remove_assoc_queue fs/buffer.c:520 [inline]
fsync_buffers_list fs/buffer.c:793 [inline]
sync_mapping_buffers+0x165/0x7c0 fs/buffer.c:581
fat_file_fsync+0xaa/0x100 fs/fat/file.c:195
vfs_fsync_range+0xc5/0xe0 fs/sync.c:186
generic_write_sync include/linux/fs.h:2640 [inline]
generic_file_write_iter+0x1ba/0x310 mm/filemap.c:4461
__kernel_write_iter+0x319/0x590 fs/read_write.c:621
__kernel_write+0x99/0xc0 fs/read_write.c:641
__dump_emit fs/coredump.c:1221 [inline]
dump_emit+0x5ff/0x720 fs/coredump.c:1259
writenote+0xd0/0x1b0 fs/binfmt_elf.c:1434
write_note_info fs/binfmt_elf.c:1935 [inline]
elf_core_dump+0x1dd4/0x2330 fs/binfmt_elf.c:2097
coredump_write+0xacc/0xdd0 fs/coredump.c:1050
do_coredump fs/coredump.c:1127 [inline]
vfs_coredump+0x26c7/0x3130 fs/coredump.c:1201
get_signal+0xd80/0xf60 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:64 [inline]
exit_to_user_mode_loop kernel/entry/common.c:98 [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+0xf7/0x520 kernel/entry/common.c:219
asm_exc_page_fault+0x26/0x30 arch/x86/include/asm/idtentry.h:618

read to 0xffff88811a8411f8 of 8 bytes by task 4277 on cpu 1:
mark_buffer_dirty_inode+0x95/0x1c0 fs/buffer.c:686
fat16_ent_put+0x4e/0x60 fs/fat/fatent.c:184
fat_ent_write+0x6c/0xe0 fs/fat/fatent.c:417
fat_chain_add+0x16c/0x490 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:2142
block_write_begin fs/buffer.c:2253 [inline]
cont_write_begin+0x5fe/0x970 fs/buffer.c:2591
fat_write_begin+0x4f/0xe0 fs/fat/inode.c:230
generic_perform_write+0x183/0x490 mm/filemap.c:4314
__generic_file_write_iter+0x9e/0x120 mm/filemap.c:4431
generic_file_write_iter+0x8d/0x310 mm/filemap.c:4457
new_sync_write fs/read_write.c:595 [inline]
vfs_write+0x5a6/0x9f0 fs/read_write.c:688
ksys_pwrite64 fs/read_write.c:795 [inline]
__do_sys_pwrite64 fs/read_write.c:803 [inline]
__se_sys_pwrite64 fs/read_write.c:800 [inline]
__x64_sys_pwrite64+0xfd/0x150 fs/read_write.c:800
x64_sys_call+0xa2a/0x3020 arch/x86/include/generated/asm/syscalls_64.h:19
do_syscall_x64 arch/x86/entry/syscall_64.c:63 [inline]
do_syscall_64+0x12c/0x370 arch/x86/entry/syscall_64.c:94
entry_SYSCALL_64_after_hwframe+0x77/0x7f

value changed: 0xffff88811a8d4508 -> 0x0000000000000000

Reported by Kernel Concurrency Sanitizer on:
CPU: 1 UID: 0 PID: 4277 Comm: syz.6.129 Tainted: G W syzkaller #0 PREEMPT(full)
Tainted: [W]=WARN
Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 02/12/2026
==================================================================


---
This report is generated by a bot. It may contain errors.
See https://goo.gl/tpsmEJ for more information about syzbot.
syzbot engineers can be reached at syzk...@googlegroups.com.

syzbot will keep track of this issue. See:
https://goo.gl/tpsmEJ#status for how to communicate with syzbot.

If the report is already addressed, let syzbot know by replying with:
#syz fix: exact-commit-title

If you want to overwrite report's subsystems, reply with:
#syz set subsystems: new-subsystem
(See the list of subsystem names on the web dashboard)

If the report is a duplicate of another one, reply with:
#syz dup: exact-subject-of-another-report

If you want to undo deduplication, reply with:
#syz undup
Reply all
Reply to author
Forward
0 new messages