syzbot


KCSAN: data-race in ktime_get_mono_fast_ns / update_fast_timekeeper

Status: moderation: reported on 2026/04/26 15:09
Subsystems: kernel
Labels: prio:high
[Documentation on labels]
Reported-by: syzbot+86d8f93cf23743800fc8@syzkaller.appspotmail.com
First crash: 23d, last: 2d12h
✨ AI Jobs (2)
ID Workflow Result Correct Bug Created Started Finished Revision Error
0cc79473-5b7d-4fde-b818-e61a7c4ccf38 assessment-security DenialOfService: ❌ Exploitable: ❌ FilesystemTrigger: ❌ NetworkTrigger: ❌ PeripheralTrigger: ❌ RemoteTrigger: ❌ Unprivileged: ✅ UserNamespace: ✅ VMGuestTrigger: ✅ VMHostTrigger: ❌ KCSAN: data-race in ktime_get_mono_fast_ns / update_fast_timekeeper 2026/05/12 03:02 2026/05/12 03:02 2026/05/12 03:47 d168f2605715ec7b7ab6840d636f69c758e424d9
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:
ext2: Unknown parameter 'fsname'
==================================================================
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
 zap_pte_range mm/memory.c:-1 [inline]
 zap_pmd_range mm/memory.c:2004 [inline]
 zap_pud_range mm/memory.c:2032 [inline]
 zap_p4d_range mm/memory.c:2053 [inline]
 __zap_vma_range+0x77a/0x2c10 mm/memory.c:2093
 unmap_vmas+0x22a/0x340 mm/memory.c:2162
 exit_mmap+0x1ab/0x5f0 mm/mmap.c:1300
 __mmput+0x28/0x1c0 kernel/fork.c:1178
 mmput+0x40/0x50 kernel/fork.c:1201
 exit_mm+0x15f/0x1f0 kernel/exit.c:582
 do_exit+0x442/0x1530 kernel/exit.c:964
 do_group_exit+0xfe/0x140 kernel/exit.c:1119
 get_signal+0xe30/0xf20 kernel/signal.c:3037
 arch_do_signal_or_restart+0x96/0x480 arch/x86/kernel/signal.c:337
 __exit_to_user_mode_loop kernel/entry/common.c:64 [inline]
 exit_to_user_mode_loop+0x6f/0x820 kernel/entry/common.c:98
 __exit_to_user_mode_prepare include/linux/irq-entry-common.h:207 [inline]
 syscall_exit_to_user_mode_prepare include/linux/irq-entry-common.h:238 [inline]
 syscall_exit_to_user_mode include/linux/entry-common.h:318 [inline]
 do_syscall_64+0x232/0x3b0 arch/x86/entry/syscall_64.c:100
 entry_SYSCALL_64_after_hwframe+0x77/0x7f

read to 0xffffffff86d4fba8 of 8 bytes by task 6734 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
 ____bpf_ktime_get_ns kernel/bpf/helpers.c:181 [inline]
 bpf_ktime_get_ns+0xe/0x20 kernel/bpf/helpers.c:178
 bpf_prog_3aa7d5b0ccc3ba5f+0x48/0x50
 bpf_dispatcher_nop_func include/linux/bpf.h:1402 [inline]
 __bpf_prog_run include/linux/filter.h:722 [inline]
 bpf_prog_run include/linux/filter.h:729 [inline]
 bpf_prog_run_pin_on_cpu include/linux/filter.h:746 [inline]
 bpf_flow_dissect+0x158/0x350 net/core/flow_dissector.c:1024
 bpf_prog_test_run_flow_dissector+0x25d/0x360 net/bpf/test_run.c:1525
 bpf_prog_test_run+0x204/0x340 kernel/bpf/syscall.c:4742
 __sys_bpf+0x52e/0x7e0 kernel/bpf/syscall.c:6266
 __do_sys_bpf kernel/bpf/syscall.c:6361 [inline]
 __se_sys_bpf kernel/bpf/syscall.c:6359 [inline]
 __x64_sys_bpf+0x41/0x50 kernel/bpf/syscall.c:6359
 x64_sys_call+0x10cb/0x3020 arch/x86/include/generated/asm/syscalls_64.h:322
 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

value changed: 0x000157a444a69734 -> 0x0001f03ac4d5fafa

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

Crashes (5):
Time Kernel Commit Syzkaller Config Log Report Syz repro C repro VM info Assets (help?) Manager Title
2026/05/17 16:06 upstream 6916d5703ddf de5aae85 .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
2026/05/13 01:43 upstream c21b90f77687 a0949470 .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
2026/05/10 16:20 upstream 1bfaee9d3351 29233ece .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
2026/05/09 07:19 upstream 27a26ccfd528 29233ece .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
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.