syzbot


KCSAN: data-race in fat_alloc_clusters / fat_statfs (3)

Status: moderation: reported on 2025/06/16 21:50
Subsystems: exfat
[Documentation on labels]
Reported-by: syzbot+84a49682e970f5bd639f@syzkaller.appspotmail.com
First crash: 47d, last: 18d
Similar bugs (2)
Kernel Title Rank 🛈 Repro Cause bisect Fix bisect Count Last Reported Patched Status
upstream KCSAN: data-race in fat_alloc_clusters / fat_statfs (2) exfat 6 1 644d 644d 0/29 auto-obsoleted due to no activity on 2023/12/03 08:26
upstream KCSAN: data-race in fat_alloc_clusters / fat_statfs exfat 6 1 769d 769d 0/29 auto-obsoleted due to no activity on 2023/07/31 11:59

Sample crash report:
==================================================================
BUG: KCSAN: data-race in fat_alloc_clusters / fat_statfs

write to 0xffff888119c5a0ac of 4 bytes by task 4548 on cpu 1:
 fat_alloc_clusters+0x662/0xa80 fs/fat/fatent.c:511
 fat_add_cluster fs/fat/inode.c:107 [inline]
 __fat_get_block fs/fat/inode.c:154 [inline]
 fat_get_block+0x258/0x5e0 fs/fat/inode.c:189
 __block_write_begin_int+0x3fd/0xf90 fs/buffer.c:2151
 block_write_begin fs/buffer.c:2262 [inline]
 cont_write_begin+0x5fc/0x970 fs/buffer.c:2601
 fat_write_begin+0x4f/0xe0 fs/fat/inode.c:228
 cont_expand_zero fs/buffer.c:2528 [inline]
 cont_write_begin+0x1ad/0x970 fs/buffer.c:2591
 fat_write_begin+0x4f/0xe0 fs/fat/inode.c:228
 generic_cont_expand_simple+0xb0/0x150 fs/buffer.c:2492
 fat_cont_expand+0x3e/0x170 fs/fat/file.c:223
 fat_setattr+0x2a5/0x8a0 fs/fat/file.c:513
 notify_change+0x806/0x890 fs/attr.c:552
 do_truncate fs/open.c:68 [inline]
 do_ftruncate+0x34b/0x450 fs/open.c:195
 do_sys_ftruncate fs/open.c:210 [inline]
 __do_sys_ftruncate fs/open.c:215 [inline]
 __se_sys_ftruncate fs/open.c:213 [inline]
 __x64_sys_ftruncate+0x68/0xc0 fs/open.c:213
 x64_sys_call+0xd65/0x2fb0 arch/x86/include/generated/asm/syscalls_64.h:78
 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 0xffff888119c5a0ac of 4 bytes by task 4562 on cpu 0:
 fat_statfs+0x182/0x200 fs/fat/inode.c:843
 statfs_by_dentry fs/statfs.c:66 [inline]
 vfs_statfs+0xc5/0x1c0 fs/statfs.c:90
 user_statfs+0x71/0x110 fs/statfs.c:105
 __do_sys_statfs fs/statfs.c:193 [inline]
 __se_sys_statfs fs/statfs.c:190 [inline]
 __x64_sys_statfs+0x65/0xf0 fs/statfs.c:190
 x64_sys_call+0x1edd/0x2fb0 arch/x86/include/generated/asm/syscalls_64.h:138
 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: 0x00001ee8 -> 0x00001ee7

Reported by Kernel Concurrency Sanitizer on:
CPU: 0 UID: 0 PID: 4562 Comm: syz.3.393 Not tainted 6.16.0-rc6-syzkaller-00002-g155a3c003e55 #0 PREEMPT(voluntary) 
Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 05/07/2025
==================================================================
netlink: 8 bytes leftover after parsing attributes in process `syz.3.393'.

Crashes (5):
Time Kernel Commit Syzkaller Config Log Report Syz repro C repro VM info Assets (help?) Manager Title
2025/07/15 20:51 upstream 155a3c003e55 03fcfc4b .config console log report info [disk image] [vmlinux] [kernel image] ci2-upstream-kcsan-gce KCSAN: data-race in fat_alloc_clusters / fat_statfs
2025/07/13 16:15 upstream 3f31a806a62e 3cda49cf .config console log report info [disk image] [vmlinux] [kernel image] ci2-upstream-kcsan-gce KCSAN: data-race in fat_alloc_clusters / fat_statfs
2025/07/10 05:59 upstream 8c2e52ebbe88 956bd956 .config console log report info [disk image] [vmlinux] [kernel image] ci2-upstream-kcsan-gce KCSAN: data-race in fat_alloc_clusters / fat_statfs
2025/06/27 13:46 upstream f02769e7f272 803ce19b .config console log report info [disk image] [vmlinux] [kernel image] ci2-upstream-kcsan-gce KCSAN: data-race in fat_alloc_clusters / fat_statfs
2025/06/16 21:49 upstream e04c78d86a96 d1716036 .config console log report info [disk image] [vmlinux] [kernel image] ci2-upstream-kcsan-gce KCSAN: data-race in fat_alloc_clusters / fat_statfs
* Struck through repros no longer work on HEAD.