syzbot


KCSAN: data-race in ktime_get_coarse_real_ts64_mg / timekeeping_update_from_shadow

Status: moderation: reported on 2026/04/21 11:15
Subsystems: kernel
[Documentation on labels]
Reported-by: syzbot+a1d9ae81eab6ce5f53dd@syzkaller.appspotmail.com
First crash: 3d10h, last: 3d10h
✨ AI Jobs (1)
ID Workflow Result Correct Bug Created Started Finished Revision Error
57d5c7f4-61f8-48bd-83ff-7047f425d85c assessment-kcsan Benign: ✅  Confident: ✅  KCSAN: data-race in ktime_get_coarse_real_ts64_mg / timekeeping_update_from_shadow 2026/04/21 11:15 2026/04/21 11:15 2026/04/21 11:33 3f2e655b2741ba770abc65f58ac94b7e897edae8

Sample crash report:
==================================================================
BUG: KCSAN: data-race in ktime_get_coarse_real_ts64_mg / timekeeping_update_from_shadow

write to 0xffffffff895d6488 of 304 bytes by interrupt on cpu 1:
 timekeeping_update_from_shadow+0x40d/0x440 kernel/time/timekeeping.c:829
 __timekeeping_advance+0xa5d/0xc10 kernel/time/timekeeping.c:2532
 timekeeping_advance kernel/time/timekeeping.c:2540 [inline]
 update_wall_time+0x21/0x50 kernel/time/timekeeping.c:2550
 tick_do_update_jiffies64+0x169/0x1c0 kernel/time/tick-sched.c:149
 tick_sched_do_timer kernel/time/tick-sched.c:253 [inline]
 tick_nohz_handler+0x8d/0x3d0 kernel/time/tick-sched.c:312
 __run_hrtimer kernel/time/hrtimer.c:1930 [inline]
 __hrtimer_run_queues+0x276/0x4f0 kernel/time/hrtimer.c:1994
 hrtimer_interrupt+0x261/0x850 kernel/time/hrtimer.c:2113
 local_apic_timer_interrupt arch/x86/kernel/apic/apic.c:1050 [inline]
 __sysvec_apic_timer_interrupt+0x5f/0x1c0 arch/x86/kernel/apic/apic.c:1067
 instr_sysvec_apic_timer_interrupt arch/x86/kernel/apic/apic.c:1061 [inline]
 sysvec_apic_timer_interrupt+0x6f/0x80 arch/x86/kernel/apic/apic.c:1061
 asm_sysvec_apic_timer_interrupt+0x1a/0x20 arch/x86/include/asm/idtentry.h:697
 arch_atomic64_read arch/x86/include/asm/atomic64_64.h:15 [inline]
 raw_atomic64_read include/linux/atomic/atomic-arch-fallback.h:2583 [inline]
 raw_atomic_long_read include/linux/atomic/atomic-long.h:38 [inline]
 atomic_long_read include/linux/atomic/atomic-instrumented.h:3189 [inline]
 find_watchpoint kernel/kcsan/core.c:131 [inline]
 check_access kernel/kcsan/core.c:737 [inline]
 __tsan_read4+0x2c/0x190 kernel/kcsan/core.c:1024
 ns_of_pid include/linux/pid.h:153 [inline]
 task_active_pid_ns kernel/pid.c:577 [inline]
 pid_vnr+0x3b/0x100 kernel/pid.c:556
 scm_set_cred include/net/scm.h:73 [inline]
 unix_skb_to_scm net/unix/af_unix.c:2002 [inline]
 __unix_dgram_recvmsg+0x5be/0x870 net/unix/af_unix.c:2628
 unix_dgram_recvmsg+0x7e/0x90 net/unix/af_unix.c:2676
 sock_recvmsg_nosec+0xc2/0xf0 net/socket.c:1137
 ____sys_recvmsg+0x26f/0x280 net/socket.c:2916
 ___sys_recvmsg+0x11f/0x3b0 net/socket.c:2960
 do_recvmmsg+0x1ef/0x560 net/socket.c:3055
 __sys_recvmmsg net/socket.c:3129 [inline]
 __do_sys_recvmmsg net/socket.c:3152 [inline]
 __se_sys_recvmmsg net/socket.c:3145 [inline]
 __x64_sys_recvmmsg+0xe5/0x170 net/socket.c:3145
 x64_sys_call+0x80f/0x3020 arch/x86/include/generated/asm/syscalls_64.h:300
 do_syscall_x64 arch/x86/entry/syscall_64.c:63 [inline]
 do_syscall_64+0x12c/0x3b0 arch/x86/entry/syscall_64.c:94
 entry_SYSCALL_64_after_hwframe+0x77/0x7f

read to 0xffffffff895d64f8 of 4 bytes by task 12 on cpu 0:
 tk_xtime_coarse kernel/time/timekeeping.c:212 [inline]
 ktime_get_coarse_real_ts64_mg+0x89/0x1a0 kernel/time/timekeeping.c:2606
 current_time+0x41/0x240 fs/inode.c:2370
 need_cmtime_update fs/inode.c:2392 [inline]
 file_update_time_flags+0x83/0x2e0 fs/inode.c:2413
 file_update_time+0x17/0x20 fs/inode.c:2443
 shmem_file_write_iter+0x9c/0xf0 mm/shmem.c:3475
 lo_rw_aio+0x67d/0x730 drivers/block/loop.c:-1
 do_req_filebacked drivers/block/loop.c:-1 [inline]
 loop_handle_cmd drivers/block/loop.c:1925 [inline]
 loop_process_work+0x56c/0xac0 drivers/block/loop.c:1960
 loop_workfn+0x31/0x40 drivers/block/loop.c:1984
 process_one_work kernel/workqueue.c:3302 [inline]
 process_scheduled_works+0x4f0/0x9c0 kernel/workqueue.c:3385
 worker_thread+0x58a/0x780 kernel/workqueue.c:3466
 kthread+0x22a/0x280 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

value changed: 0x31af5fed -> 0x3247f66d

Reported by Kernel Concurrency Sanitizer on:
CPU: 0 UID: 0 PID: 12 Comm: kworker/u8:0 Not tainted syzkaller #0 PREEMPT(full) 
Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 03/18/2026
Workqueue: loop1 loop_workfn
==================================================================

Crashes (1):
Time Kernel Commit Syzkaller Config Log Report Syz repro C repro VM info Assets (help?) Manager Title
2026/04/21 11:15 upstream b4e07588e743 3f2e655b .config console log report info [disk image] [vmlinux] [kernel image] ci2-upstream-kcsan-gce KCSAN: data-race in ktime_get_coarse_real_ts64_mg / timekeeping_update_from_shadow
* Struck through repros no longer work on HEAD.