KCSAN: data-race in copy_folio_from_iter_atomic / fat_write_inode

Status: moderation: reported on 2026/08/27 09:31
Subsystems: exfat
Labels: race:benign prio:low
[Documentation on labels]
Reported-by: syzbot+0d8d270a226bf724a6e1@syzkaller.appspotmail.com
First crash: 3d07h, last: 3d07h
✨ AI Jobs (2)
ID Workflow Result Correct Bug Created Started Finished Revision
c2e59c97 assessment-security DenialOfService: ❌ Exploitable: ❌ FilesystemTrigger: ✅ NetworkTrigger: ❌ PeripheralTrigger: ❌ RemoteTrigger: ❌ Unprivileged: ✅ UserNamespace: ✅ VMGuestTrigger: ❌ VMHostTrigger: ❌ KCSAN: data-race in copy_folio_from_iter_atomic / fat_write_inode 2026/08/29 00:04 2026/08/29 00:04 2026/08/29 00:35 bcbc8ceb
9b9ecc3a assessment-kcsan Benign: ✅ KCSAN: data-race in copy_folio_from_iter_atomic / fat_write_inode 2026/08/27 10:04 2026/08/27 10:04 2026/08/27 10:16 69a01293

Sample crash report:
==================================================================
BUG: KCSAN: data-race in copy_folio_from_iter_atomic / fat_write_inode

write to 0xffff88813eff46bc of 4 bytes by task 7053 on cpu 0:
 __fat_write_inode fs/fat/inode.c:-1 [inline]
 fat_write_inode+0x26d/0x580 fs/fat/inode.c:963
 write_inode fs/fs-writeback.c:1608 [inline]
 __writeback_single_inode+0x33a/0x790 fs/fs-writeback.c:1851
 writeback_single_inode+0x16d/0x410 fs/fs-writeback.c:1926
 sync_inode_metadata+0x6e/0xa0 fs/fs-writeback.c:3100
 writeback_inode fs/fat/inode.c:1916 [inline]
 fat_flush_inodes+0x77/0x150 fs/fat/inode.c:1936
 fat_truncate_blocks+0x53b/0x5b0 fs/fat/file.c:398
 fat_write_failed fs/fat/inode.c:219 [inline]
 fat_write_end+0xba/0x160 fs/fat/inode.c:247
 generic_perform_write+0x314/0x490 mm/filemap.c:4395
 __generic_file_write_iter+0x9e/0x120 mm/filemap.c:4491
 generic_file_write_iter+0x77/0x1f0 mm/filemap.c:4517
 new_sync_write fs/read_write.c:595 [inline]
 vfs_write+0x57f/0x9a0 fs/read_write.c:687
 ksys_write+0xdc/0x1a0 fs/read_write.c:739
 __do_sys_write fs/read_write.c:750 [inline]
 __se_sys_write fs/read_write.c:747 [inline]
 __x64_sys_write+0x40/0x50 fs/read_write.c:747
 x64_sys_call+0x154e/0x2550 arch/x86/include/generated/asm/syscalls_64.h:2
 do_syscall_x64 arch/x86/entry/syscall_64.c:61 [inline]
 do_syscall_64+0x112/0x360 arch/x86/entry/syscall_64.c:84
 entry_SYSCALL_64_after_hwframe+0x77/0x7f

read to 0xffff88813eff4600 of 512 bytes by task 31 on cpu 1:
 memcpy_from_iter lib/iov_iter.c:85 [inline]
 iterate_bvec include/linux/iov_iter.h:123 [inline]
 iterate_and_advance2 include/linux/iov_iter.h:306 [inline]
 iterate_and_advance include/linux/iov_iter.h:330 [inline]
 __copy_from_iter lib/iov_iter.c:261 [inline]
 copy_folio_from_iter_atomic+0x728/0x10a0 lib/iov_iter.c:491
 generic_perform_write+0x2c4/0x490 mm/filemap.c:4392
 shmem_file_write_iter+0xc5/0xf0 mm/shmem.c:3429
 lo_rw_aio+0x6ab/0x760 drivers/block/loop.c:-1
 do_req_filebacked drivers/block/loop.c:-1 [inline]
 loop_handle_cmd drivers/block/loop.c:1947 [inline]
 loop_process_work+0x569/0xad0 drivers/block/loop.c:1982
 loop_workfn+0x31/0x40 drivers/block/loop.c:2006
 process_one_work kernel/workqueue.c:3387 [inline]
 process_scheduled_works+0x56a/0xa50 kernel/workqueue.c:3470
 worker_thread+0x569/0x750 kernel/workqueue.c:3551
 kthread+0x223/0x270 kernel/kthread.c:436
 ret_from_fork+0x146/0x330 arch/x86/kernel/process.c:158
 ret_from_fork_asm+0x1a/0x30 arch/x86/entry/entry_64.S:245

Reported by Kernel Concurrency Sanitizer on:
CPU: 1 UID: 0 PID: 31 Comm: kworker/u8:1 Not tainted syzkaller #0 PREEMPT(lazy) 
Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 07/24/2026
Workqueue: loop4 loop_workfn
==================================================================

Crashes (1):
Time Kernel Commit Syzkaller Config Log Report Syz repro C repro VM info Assets (help?) Manager Title
2026/08/27 09:30 upstream 502d45774af0 a2b77b9e .config console log report info [disk image] [vmlinux] [kernel image] ci2-upstream-kcsan-gce KCSAN: data-race in copy_folio_from_iter_atomic / fat_write_inode
* Struck through repros no longer work on HEAD.