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
Labels: prio:low
[Documentation on labels]
Reported-by: syzbot+a1d9ae81eab6ce5f53dd@syzkaller.appspotmail.com
First crash: 150d, last: 1d17h
✨ AI Jobs (3)
ID Workflow Result Correct Bug Created Started Finished Revision
df786149 assessment-security DenialOfService: ❌ Exploitable: ❌ FilesystemTrigger: ❌ NetworkTrigger: ❌ PeripheralTrigger: ❌ RemoteTrigger: ❌ Unprivileged: ✅ UserNamespace: ✅ VMGuestTrigger: ❌ VMHostTrigger: ❌ KCSAN: data-race in ktime_get_coarse_real_ts64_mg / timekeeping_update_from_shadow 2026/05/31 13:16 2026/05/31 13:16 2026/05/31 14:06 6b4a8443
2d180e8b assessment-security 💥 KCSAN: data-race in ktime_get_coarse_real_ts64_mg / timekeeping_update_from_shadow 2026/05/14 16:54 2026/05/14 16:54 2026/05/14 16:54 6ccb967e
57d5c7f4 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 3f2e655b

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

write to 0xffffffff895f4508 of 320 bytes by interrupt on cpu 0:
 timekeeping_update_from_shadow+0x448/0x480 kernel/time/timekeeping.c:866
 __timekeeping_advance+0xb36/0xcf0 kernel/time/timekeeping.c:2663
 timekeeping_advance kernel/time/timekeeping.c:2671 [inline]
 update_wall_time+0x21/0x50 kernel/time/timekeeping.c:2681
 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+0x88/0x380 kernel/time/tick-sched.c:310
 __run_hrtimer kernel/time/hrtimer.c:2074 [inline]
 __hrtimer_run_queues+0x1f8/0x510 kernel/time/hrtimer.c:2131
 hrtimer_interrupt+0x27b/0x860 kernel/time/hrtimer.c:2250
 local_apic_timer_interrupt arch/x86/kernel/apic/apic.c:1051 [inline]
 __sysvec_apic_timer_interrupt+0x5f/0x1c0 arch/x86/kernel/apic/apic.c:1068
 instr_sysvec_apic_timer_interrupt arch/x86/kernel/apic/apic.c:1062 [inline]
 sysvec_apic_timer_interrupt+0x6f/0x80 arch/x86/kernel/apic/apic.c:1062
 asm_sysvec_apic_timer_interrupt+0x1a/0x20 arch/x86/include/asm/idtentry.h:674
 __preempt_count_dec_and_test arch/x86/include/asm/preempt.h:123 [inline]
 __raw_spin_unlock_irqrestore include/linux/spinlock_api_smp.h:211 [inline]
 _raw_spin_unlock_irqrestore+0x1a/0x30 kernel/locking/spinlock.c:221
 spin_unlock_irqrestore include/linux/spinlock.h:425 [inline]
 lruvec_unlock_irqrestore include/linux/memcontrol.h:1535 [inline]
 folios_put_refs+0x25c/0x300 mm/folio.c:1028
 folios_put include/linux/mm.h:2219 [inline]
 __folio_batch_release+0x8e/0xb0 mm/folio.c:1096
 folio_batch_release include/linux/folio_batch.h:101 [inline]
 shmem_undo_range+0x346/0xb60 mm/shmem.c:1161
 shmem_truncate_range mm/shmem.c:1289 [inline]
 shmem_evict_inode+0x12d/0x580 mm/shmem.c:1420
 evict+0x2a5/0x510 fs/inode.c:822
 iput_final fs/inode.c:2015 [inline]
 iput+0x430/0x5a0 fs/inode.c:2064
 dentry_unlink_inode+0x24a/0x260 fs/dcache.c:479
 dentry_kill+0x184/0x500 fs/dcache.c:826
 finish_dput+0x16/0x1d0 fs/dcache.c:1001
 dput+0x48/0x50 fs/dcache.c:1042
 __fput+0x43e/0x630 fs/file_table.c:520
 ____fput+0x1c/0x30 fs/file_table.c:540
 task_work_run+0x130/0x1a0 kernel/task_work.c:233
 resume_user_mode_work include/linux/resume_user_mode.h:50 [inline]
 __exit_to_user_mode_loop kernel/entry/common.c:70 [inline]
 exit_to_user_mode_loop+0x1e4/0x8c0 kernel/entry/common.c:101
 __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:230 [inline]
 syscall_exit_to_user_mode include/linux/entry-common.h:343 [inline]
 do_syscall_64+0x212/0x360 arch/x86/entry/syscall_64.c:89
 entry_SYSCALL_64_after_hwframe+0x77/0x7f

read to 0xffffffff895f4578 of 4 bytes by task 12891 on cpu 1:
 tk_xtime_coarse kernel/time/timekeeping.c:217 [inline]
 ktime_get_coarse_real_ts64_mg+0x89/0x1a0 kernel/time/timekeeping.c:2737
 current_time+0x41/0x250 fs/inode.c:2431
 need_cmtime_update fs/inode.c:2453 [inline]
 file_update_time_flags+0x85/0x2d0 fs/inode.c:2474
 file_update_time+0x17/0x20 fs/inode.c:2504
 shmem_file_write_iter+0x9c/0xf0 mm/shmem.c:3437
 __kernel_write_iter+0x30f/0x590 fs/read_write.c:621
 dump_emit_page fs/coredump.c:1293 [inline]
 dump_user_range+0xa73/0xd00 fs/coredump.c:1367
 elf_core_dump+0x21c0/0x2340 fs/binfmt_elf.c:2106
 coredump_write+0xafb/0xdd0 fs/coredump.c:1047
 do_coredump fs/coredump.c:1126 [inline]
 vfs_coredump+0x2762/0x3270 fs/coredump.c:1195
 get_signal+0xd33/0xf10 kernel/signal.c:3036
 arch_do_signal_or_restart+0x96/0x480 arch/x86/kernel/signal.c:337
 __exit_to_user_mode_loop kernel/entry/common.c:66 [inline]
 exit_to_user_mode_loop kernel/entry/common.c:101 [inline]
 __exit_to_user_mode_prepare include/linux/irq-entry-common.h:207 [inline]
 irqentry_exit_to_user_mode_prepare include/linux/irq-entry-common.h:244 [inline]
 irqentry_exit_to_user_mode include/linux/irq-entry-common.h:315 [inline]
 irqentry_exit+0x14d/0x610 kernel/entry/common.c:165
 asm_exc_page_fault+0x26/0x30 arch/x86/include/asm/idtentry.h:595

value changed: 0x38244e9d -> 0x38bce51d

Reported by Kernel Concurrency Sanitizer on:
CPU: 1 UID: 0 PID: 12891 Comm: syz.3.2698 Not tainted syzkaller #0 PREEMPT(lazy) 
Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 07/24/2026
==================================================================

Crashes (13):
Time Kernel Commit Syzkaller Config Log Report Syz repro C repro VM info Assets (help?) Manager Title
2026/09/17 13:30 upstream 238650ef6c7c 95928915 .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
2026/09/15 19:27 upstream f6e7b42bf05b 2daa4bb5 .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
2026/09/02 16:23 upstream 89a312991dc6 85995287 .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
2026/08/07 05:33 upstream fcaeecb8b0cd c38879ea .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
2026/08/02 07:07 upstream 2d2338c93da7 e611ffe1 .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
2026/07/22 04:03 upstream 248951ddc14d b561ce9c .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
2026/07/06 09:27 upstream 8cdeaa50eae8 fcece630 .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
2026/06/28 03:28 upstream 780d569e6c4b fb92f11c .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
2026/05/24 11:52 upstream 4cbfe4502e3d c69befb3 .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
2026/05/22 06:50 upstream 6779b50faa56 70ae9b03 .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
2026/05/13 01:42 upstream c21b90f77687 a0949470 .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
2026/04/29 01:04 upstream dca922e019dd 95008c03 .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
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.