syzbot


KCSAN: data-race in ktime_get_mono_fast_ns / update_fast_timekeeper

Status: moderation: reported on 2026/04/26 15:09
Subsystems: kernel
[Documentation on labels]
Reported-by: syzbot+86d8f93cf23743800fc8@syzkaller.appspotmail.com
First crash: 2h15m, last: 2h15m
✨ AI Jobs (1)
ID Workflow Result Correct Bug Created Started Finished Revision Error
e59ce648-cecf-4203-b697-885c383e4487 assessment-kcsan Benign: ✅  Confident: ✅  KCSAN: data-race in ktime_get_mono_fast_ns / update_fast_timekeeper 2026/04/26 15:09 2026/04/26 15:09 2026/04/26 15:29 9c2d0995bb06e7518555bd3b755e327c89b59823

Sample crash report:
==================================================================
BUG: KCSAN: data-race in ktime_get_mono_fast_ns / update_fast_timekeeper

write to 0xffffffff86d4fb88 of 56 bytes by interrupt on cpu 0:
 update_fast_timekeeper+0x38/0x70 kernel/time/timekeeping.c:476
 timekeeping_update_from_shadow+0x3ab/0x440 kernel/time/timekeeping.c:812
 __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
 native_safe_halt arch/x86/include/asm/irqflags.h:48 [inline]
 pv_native_safe_halt+0xf/0x20 arch/x86/kernel/paravirt.c:62
 arch_safe_halt arch/x86/kernel/process.c:766 [inline]
 default_idle+0x9/0x20 arch/x86/kernel/process.c:767
 default_idle_call+0x3b/0x60 kernel/sched/idle.c:122
 cpuidle_idle_call kernel/sched/idle.c:199 [inline]
 do_idle+0x17f/0x2b0 kernel/sched/idle.c:352
 cpu_startup_entry+0x24/0x30 kernel/sched/idle.c:451
 rest_init+0xee/0xf0 init/main.c:762
 start_kernel+0x49f/0x4d0 init/main.c:1220
 x86_64_start_reservations+0x24/0x30 arch/x86/kernel/head64.c:310
 x86_64_start_kernel+0xfc/0x100 arch/x86/kernel/head64.c:291
 common_startup_64+0x13e/0x147

read to 0xffffffff86d4fba8 of 8 bytes by task 35 on cpu 1:
 timekeeping_cycles_to_ns kernel/time/timekeeping.c:444 [inline]
 timekeeping_get_ns kernel/time/timekeeping.c:449 [inline]
 __ktime_get_fast_ns kernel/time/timekeeping.c:497 [inline]
 ktime_get_mono_fast_ns+0xdf/0x1a0 kernel/time/timekeeping.c:537
 pm_runtime_mark_last_busy include/linux/pm_runtime.h:235 [inline]
 usb_mark_last_busy include/linux/usb.h:823 [inline]
 usb_autopm_put_interface+0x29/0x60 drivers/usb/core/driver.c:1792
 hub_event+0x295f/0x2a60 drivers/usb/core/hub.c:5995
 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: 0x0015366a30a07c5c -> 0x0015c534d670747c

Reported by Kernel Concurrency Sanitizer on:
CPU: 1 UID: 0 PID: 35 Comm: kworker/1:1 Tainted: G        W           syzkaller #0 PREEMPT(full) 
Tainted: [W]=WARN
Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 04/18/2026
Workqueue: usb_hub_wq hub_event
==================================================================

Crashes (1):
Time Kernel Commit Syzkaller Config Log Report Syz repro C repro VM info Assets (help?) Manager Title
2026/04/26 15:09 upstream 897d54018cc9 9c2d0995 .config console log report info [disk image] [vmlinux] [kernel image] ci2-upstream-kcsan-gce KCSAN: data-race in ktime_get_mono_fast_ns / update_fast_timekeeper
* Struck through repros no longer work on HEAD.