[moderation] [fs?] KCSAN: data-race in file_update_time / inode_set_ctime_to_ts (2)

0 views
Skip to first unread message

syzbot

unread,
2:09 PM (7 hours ago) 2:09 PM
to syzkaller-upst...@googlegroups.com
Hello,

syzbot found the following issue on:

HEAD commit: 8e621c9a3375 Merge tag 'net-6.18-rc7' of git://git.kernel...
git tree: upstream
console output: https://syzkaller.appspot.com/x/log.txt?x=150ad658580000
kernel config: https://syzkaller.appspot.com/x/.config?x=655255e3ef31c19b
dashboard link: https://syzkaller.appspot.com/bug?extid=22a563be83e58570d1ed
compiler: Debian clang version 20.1.8 (++20250708063551+0c9f909b7976-1~exp1~20250708183702.136), Debian LLD 20.1.8
CC: [bra...@kernel.org ja...@suse.cz linux-...@vger.kernel.org linux-...@vger.kernel.org vi...@zeniv.linux.org.uk]

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

Downloadable assets:
disk image: https://storage.googleapis.com/syzbot-assets/3fa2a952c73d/disk-8e621c9a.raw.xz
vmlinux: https://storage.googleapis.com/syzbot-assets/69e8f3222893/vmlinux-8e621c9a.xz
kernel image: https://storage.googleapis.com/syzbot-assets/b395535db1d4/bzImage-8e621c9a.xz

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

==================================================================
BUG: KCSAN: data-race in file_update_time / inode_set_ctime_to_ts

write to 0xffff8881004bb888 of 4 bytes by task 4246 on cpu 1:
inode_set_ctime_to_ts+0x84/0x170 fs/inode.c:2727
inode_set_ctime_current+0x1d6/0x770 fs/inode.c:2790
inode_update_timestamps+0x84/0x270 fs/inode.c:2071
generic_update_time fs/inode.c:2110 [inline]
inode_update_time fs/inode.c:2130 [inline]
__file_update_time fs/inode.c:2357 [inline]
file_update_time+0x20e/0x2b0 fs/inode.c:2387
fault_dirty_shared_page+0xd9/0x3c0 mm/memory.c:3531
do_shared_fault mm/memory.c:5808 [inline]
do_fault mm/memory.c:5854 [inline]
do_pte_missing mm/memory.c:4362 [inline]
handle_pte_fault mm/memory.c:6195 [inline]
__handle_mm_fault mm/memory.c:6336 [inline]
handle_mm_fault+0x165d/0x2be0 mm/memory.c:6505
faultin_page mm/gup.c:1126 [inline]
__get_user_pages+0x102a/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+0x2a80/0x3000 arch/x86/include/generated/asm/syscalls_64.h:312
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 0xffff8881004bb888 of 4 bytes by task 4248 on cpu 0:
inode_get_ctime_nsec include/linux/fs.h:1869 [inline]
inode_get_ctime include/linux/fs.h:1875 [inline]
inode_needs_update_time fs/inode.c:2340 [inline]
file_update_time+0xec/0x2b0 fs/inode.c:2383
fault_dirty_shared_page+0xd9/0x3c0 mm/memory.c:3531
do_shared_fault mm/memory.c:5808 [inline]
do_fault mm/memory.c:5854 [inline]
do_pte_missing mm/memory.c:4362 [inline]
handle_pte_fault mm/memory.c:6195 [inline]
__handle_mm_fault mm/memory.c:6336 [inline]
handle_mm_fault+0x165d/0x2be0 mm/memory.c:6505
faultin_page mm/gup.c:1126 [inline]
__get_user_pages+0x102a/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+0x1f5/0x1420 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/0x1430 io_uring/rsrc.c:799
io_sqe_buffers_register+0x2b1/0x540 io_uring/rsrc.c:914
__io_uring_register io_uring/register.c:649 [inline]
__do_sys_io_uring_register io_uring/register.c:928 [inline]
__se_sys_io_uring_register+0x90e/0xf00 io_uring/register.c:905
__x64_sys_io_uring_register+0x55/0x70 io_uring/register.c:905
x64_sys_call+0x18a3/0x3000 arch/x86/include/generated/asm/syscalls_64.h:428
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: 0x04af6226 -> 0x054f91f6

Reported by Kernel Concurrency Sanitizer on:
CPU: 0 UID: 0 PID: 4248 Comm: syz.7.11315 Tainted: G W syzkaller #0 PREEMPT(voluntary)
Tainted: [W]=WARN
Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 10/02/2025
==================================================================


---
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