syzbot


KCSAN: data-race in file_update_time_flags / inode_set_ctime_to_ts

Status: moderation: reported on 2025/12/07 20:08
Subsystems: fs
[Documentation on labels]
Reported-by: syzbot+e4fecf4e46b966b9f865@syzkaller.appspotmail.com
First crash: 49d, last: 49d

Sample crash report:
netlink: 1004 bytes leftover after parsing attributes in process `syz.0.2800'.
==================================================================
BUG: KCSAN: data-race in file_update_time_flags / inode_set_ctime_to_ts

write to 0xffff8881004bb888 of 4 bytes by task 12023 on cpu 0:
 inode_set_ctime_to_ts+0x84/0x170 fs/inode.c:2745
 inode_set_ctime_current+0x1cd/0x760 fs/inode.c:2808
 inode_update_timestamps+0x84/0x270 fs/inode.c:2109
 generic_update_time fs/inode.c:2148 [inline]
 inode_update_time fs/inode.c:2168 [inline]
 file_update_time_flags+0x26c/0x310 fs/inode.c:2395
 file_update_time+0x17/0x20 fs/inode.c:2416
 fault_dirty_shared_page+0xd9/0x390 mm/memory.c:3570
 do_shared_fault mm/memory.c:5847 [inline]
 do_fault mm/memory.c:5893 [inline]
 do_pte_missing mm/memory.c:4401 [inline]
 handle_pte_fault mm/memory.c:6273 [inline]
 __handle_mm_fault mm/memory.c:6411 [inline]
 handle_mm_fault+0x1690/0x2c60 mm/memory.c:6580
 faultin_page mm/gup.c:1126 [inline]
 __get_user_pages+0x1024/0x1ed0 mm/gup.c:1428
 __get_user_pages_locked mm/gup.c:1692 [inline]
 __gup_longterm_locked+0x8ef/0xe60 mm/gup.c:2476
 pin_user_pages_remote+0x7e/0xb0 mm/gup.c:3363
 process_vm_rw_single_vec mm/process_vm_access.c:106 [inline]
 process_vm_rw_core mm/process_vm_access.c:216 [inline]
 process_vm_rw+0x484/0x960 mm/process_vm_access.c:284
 __do_sys_process_vm_writev mm/process_vm_access.c:304 [inline]
 __se_sys_process_vm_writev mm/process_vm_access.c:299 [inline]
 __x64_sys_process_vm_writev+0x78/0x90 mm/process_vm_access.c:299
 x64_sys_call+0x27ef/0x3000 arch/x86/include/generated/asm/syscalls_64.h:312
 do_syscall_x64 arch/x86/entry/syscall_64.c:63 [inline]
 do_syscall_64+0xd8/0x2a0 arch/x86/entry/syscall_64.c:94
 entry_SYSCALL_64_after_hwframe+0x77/0x7f

read to 0xffff8881004bb888 of 4 bytes by task 12027 on cpu 1:
 inode_get_ctime_nsec include/linux/fs.h:1688 [inline]
 inode_get_ctime include/linux/fs.h:1694 [inline]
 file_update_time_flags+0x112/0x310 fs/inode.c:2381
 file_update_time+0x17/0x20 fs/inode.c:2416
 fault_dirty_shared_page+0xd9/0x390 mm/memory.c:3570
 do_shared_fault mm/memory.c:5847 [inline]
 do_fault mm/memory.c:5893 [inline]
 do_pte_missing mm/memory.c:4401 [inline]
 handle_pte_fault mm/memory.c:6273 [inline]
 __handle_mm_fault mm/memory.c:6411 [inline]
 handle_mm_fault+0x1690/0x2c60 mm/memory.c:6580
 faultin_page mm/gup.c:1126 [inline]
 __get_user_pages+0x1024/0x1ed0 mm/gup.c:1428
 __get_user_pages_locked mm/gup.c:1692 [inline]
 __gup_longterm_locked+0x2fb/0xe60 mm/gup.c:2481
 gup_fast_fallback+0x1ee/0x1480 mm/gup.c:3220
 pin_user_pages_fast+0x5f/0x90 mm/gup.c:3326
 io_pin_pages+0xba/0x170 io_uring/memmap.c:63
 io_sqe_buffer_register+0x184/0x14c0 io_uring/rsrc.c:801
 io_sqe_buffers_register+0x2b1/0x540 io_uring/rsrc.c:916
 __io_uring_register io_uring/register.c:637 [inline]
 __do_sys_io_uring_register io_uring/register.c:919 [inline]
 __se_sys_io_uring_register+0x9ef/0xf20 io_uring/register.c:896
 __x64_sys_io_uring_register+0x55/0x70 io_uring/register.c:896
 x64_sys_call+0x27ad/0x3000 arch/x86/include/generated/asm/syscalls_64.h:428
 do_syscall_x64 arch/x86/entry/syscall_64.c:63 [inline]
 do_syscall_64+0xd8/0x2a0 arch/x86/entry/syscall_64.c:94
 entry_SYSCALL_64_after_hwframe+0x77/0x7f

value changed: 0x354d3db4 -> 0x367e6ab4

Reported by Kernel Concurrency Sanitizer on:
CPU: 1 UID: 0 PID: 12027 Comm: syz.0.2800 Not tainted syzkaller #0 PREEMPT(voluntary) 
Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 10/25/2025
==================================================================

Crashes (1):
Time Kernel Commit Syzkaller Config Log Report Syz repro C repro VM info Assets (help?) Manager Title
2025/12/07 20:07 upstream 37bb2e7217b0 d6526ea3 .config console log report info [disk image] [vmlinux] [kernel image] ci2-upstream-kcsan-gce KCSAN: data-race in file_update_time_flags / inode_set_ctime_to_ts
* Struck through repros no longer work on HEAD.