KCSAN: data-race in _copy_to_iter / fat32_ent_put (7)

Status: moderation: reported on 2026/06/28 12:53
Subsystems: exfat
Labels: race:benign prio:high
[Documentation on labels]
Reported-by: syzbot+50264f69ab1e622312e7@syzkaller.appspotmail.com
First crash: 52d, last: 30d
✨ AI Jobs (2)
ID Workflow Result Correct Bug Created Started Finished Revision
fc3081ae assessment-security DenialOfService: ❌ Exploitable: ❌ FilesystemTrigger: ❌ NetworkTrigger: ❌ PeripheralTrigger: ❌ RemoteTrigger: ❌ Unprivileged: ❌ UserNamespace: ❌ VMGuestTrigger: ✅ VMHostTrigger: ❌ KCSAN: data-race in _copy_to_iter / fat32_ent_put (7) 2026/06/30 00:01 2026/06/30 00:01 2026/06/30 00:36 fff8d0a0
2dc8c677 assessment-kcsan Benign: ✅ KCSAN: data-race in _copy_to_iter / fat32_ent_put (7) 2026/06/28 12:52 2026/06/28 12:52 2026/06/28 13:22 fb92f11c
Similar bugs (6)
Kernel Title Rank 🛈 Repro Cause bisect Fix bisect Count Last Reported Patched Status
upstream KCSAN: data-race in _copy_to_iter / fat32_ent_put (5) exfat 6 2 210d 245d 0/29 auto-obsoleted due to no activity on 2026/03/18 08:45
upstream KCSAN: data-race in _copy_to_iter / fat32_ent_put (2) exfat 6 1 1295d 1295d 0/29 auto-obsoleted due to no activity on 2023/04/12 08:12
upstream KCSAN: data-race in _copy_to_iter / fat32_ent_put (4) exfat 6 1 777d 777d 0/29 auto-obsoleted due to no activity on 2024/08/07 19:41
upstream KCSAN: data-race in _copy_to_iter / fat32_ent_put exfat 6 1 1366d 1366d 0/29 auto-obsoleted due to no activity on 2023/01/02 12:34
upstream KCSAN: data-race in _copy_to_iter / fat32_ent_put (3) exfat 6 1 1216d 1215d 0/29 auto-obsoleted due to no activity on 2023/05/26 23:35
upstream KCSAN: data-race in _copy_to_iter / fat32_ent_put (6) exfat prio:low 6 1 120d 120d 0/29 auto-obsoleted due to no activity on 2026/06/16 09:06

Sample crash report:
==================================================================
BUG: KCSAN: data-race in _copy_to_iter / fat32_ent_put

read-write to 0xffff888130f79294 of 4 bytes by task 22100 on cpu 1:
 fat32_ent_put+0x4e/0x90 fs/fat/fatent.c:194
 fat_ent_write+0x6c/0xe0 fs/fat/fatent.c:422
 fat_chain_add+0x174/0x4a0 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+0x468/0x5e0 fs/fat/inode.c:190
 __block_write_begin_int+0x400/0xf90 fs/buffer.c:2123
 block_write_begin fs/buffer.c:2234 [inline]
 cont_write_begin+0x5bf/0x920 fs/buffer.c:2596
 fat_write_begin+0x52/0xe0 fs/fat/inode.c:230
 cont_expand_zero fs/buffer.c:2524 [inline]
 cont_write_begin+0x18d/0x920 fs/buffer.c:2586
 fat_write_begin+0x52/0xe0 fs/fat/inode.c:230
 generic_cont_expand_simple+0xb0/0x150 fs/buffer.c:2487
 fat_cont_expand+0x3e/0x170 fs/fat/file.c:227
 fat_setattr+0x2a4/0x850 fs/fat/file.c:551
 notify_change+0x842/0x8c0 fs/attr.c:556
 do_truncate fs/open.c:68 [inline]
 do_ftruncate+0x344/0x410 fs/open.c:194
 ksys_ftruncate fs/open.c:206 [inline]
 __do_sys_ftruncate fs/open.c:211 [inline]
 __se_sys_ftruncate fs/open.c:209 [inline]
 __x64_sys_ftruncate+0x65/0xc0 fs/open.c:209
 x64_sys_call+0x2beb/0x3020 arch/x86/include/generated/asm/syscalls_64.h:78
 do_syscall_x64 arch/x86/entry/syscall_64.c:63 [inline]
 do_syscall_64+0x136/0x3c0 arch/x86/entry/syscall_64.c:94
 entry_SYSCALL_64_after_hwframe+0x77/0x7f

read to 0xffff888130f79000 of 1536 bytes by task 3287 on cpu 0:
 instrument_copy_to_user include/linux/instrumented.h:130 [inline]
 copy_to_user_iter lib/iov_iter.c:24 [inline]
 iterate_ubuf include/linux/iov_iter.h:30 [inline]
 iterate_and_advance2 include/linux/iov_iter.h:302 [inline]
 iterate_and_advance include/linux/iov_iter.h:330 [inline]
 _copy_to_iter+0x130/0xea0 lib/iov_iter.c:197
 copy_page_to_iter+0x174/0x210 lib/iov_iter.c:374
 copy_folio_to_iter include/linux/uio.h:204 [inline]
 filemap_read+0x3ed/0xa20 mm/filemap.c:2865
 blkdev_read_iter+0x21e/0x2d0 block/fops.c:830
 new_sync_read fs/read_write.c:493 [inline]
 vfs_read+0x699/0x7c0 fs/read_write.c:574
 ksys_read+0xdc/0x1a0 fs/read_write.c:716
 __do_sys_read fs/read_write.c:725 [inline]
 __se_sys_read fs/read_write.c:723 [inline]
 __x64_sys_read+0x40/0x50 fs/read_write.c:723
 x64_sys_call+0x2886/0x3020 arch/x86/include/generated/asm/syscalls_64.h:1
 do_syscall_x64 arch/x86/entry/syscall_64.c:63 [inline]
 do_syscall_64+0x136/0x3c0 arch/x86/entry/syscall_64.c:94
 entry_SYSCALL_64_after_hwframe+0x77/0x7f

Reported by Kernel Concurrency Sanitizer on:
CPU: 0 UID: 0 PID: 3287 Comm: udevd Tainted: G        W           syzkaller #0 PREEMPT(lazy) 
Tainted: [W]=WARN
Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 05/09/2026
==================================================================

Crashes (2):
Time Kernel Commit Syzkaller Config Log Report Syz repro C repro VM info Assets (help?) Manager Title
2026/07/20 10:50 upstream 1590cf032971 de6a700d .config console log report info [disk image] [vmlinux] [kernel image] ci2-upstream-kcsan-gce KCSAN: data-race in _copy_to_iter / fat32_ent_put
2026/06/28 12:52 upstream 8b69c0475871 fb92f11c .config console log report info [disk image] [vmlinux] [kernel image] ci2-upstream-kcsan-gce KCSAN: data-race in _copy_to_iter / fat32_ent_put
* Struck through repros no longer work on HEAD.