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: 95d, last: 3d07h
✨ AI Jobs (3)
ID Workflow Result Correct Bug Created Started Finished Revision Error
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
failed to run ["git" "pull" "origin" "HEAD" "--depth=1" "--allow-unrelated-histories"]: exit status 128
From /app/workdir/repo/linux
 * branch                HEAD       -> FETCH_HEAD
Updating files:  ...
truncated to first 200 bytes; open job for full error
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 0xffffffff893d54c8 of 304 bytes by interrupt on cpu 1:
 timekeeping_update_from_shadow+0x40d/0x440 kernel/time/timekeeping.c:835
 __timekeeping_advance+0xa68/0xc10 kernel/time/timekeeping.c:2614
 timekeeping_advance kernel/time/timekeeping.c:2622 [inline]
 update_wall_time+0x21/0x50 kernel/time/timekeeping.c:2632
 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:2032 [inline]
 __hrtimer_run_queues+0x1f8/0x510 kernel/time/hrtimer.c:2096
 hrtimer_interrupt+0x257/0x810 kernel/time/hrtimer.c:2215
 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
 __tsan_read8+0xe/0x190 kernel/kcsan/core.c:1025
 net_ipvs include/net/ip_vs.h:62 [inline]
 ip_vs_out_hook+0x43/0x9a0 net/netfilter/ipvs/ip_vs_core.c:1508
 nf_hook_entry_hookfn include/linux/netfilter.h:158 [inline]
 nf_hook_slow+0x78/0x180 net/netfilter/core.c:619
 nf_hook include/linux/netfilter.h:273 [inline]
 __ip_local_out+0x2fd/0x320 net/ipv4/ip_output.c:120
 ip_local_out net/ipv4/ip_output.c:129 [inline]
 __ip_queue_xmit+0xa95/0xb80 net/ipv4/ip_output.c:533
 ip_queue_xmit+0x39/0x50 net/ipv4/ip_output.c:547
 __tcp_transmit_skb+0x1c4f/0x20f0 net/ipv4/tcp_output.c:1717
 tcp_transmit_skb net/ipv4/tcp_output.c:1734 [inline]
 tcp_write_xmit+0x17f7/0x3630 net/ipv4/tcp_output.c:3062
 __tcp_push_pending_frames+0x6d/0x1b0 net/ipv4/tcp_output.c:3245
 tcp_send_fin+0x572/0x680 net/ipv4/tcp_output.c:3844
 tcp_shutdown+0xbe/0xd0 net/ipv4/tcp.c:3084
 inet_shutdown+0x1c2/0x210 net/ipv4/af_inet.c:931
 rds_tcp_conn_path_shutdown+0x133/0x5f0 net/rds/tcp_connect.c:248
 rds_conn_shutdown+0x287/0x4d0 net/rds/connection.c:414
 rds_shutdown_worker+0x1c/0x30 net/rds/threads.c:249
 process_one_work kernel/workqueue.c:3322 [inline]
 process_scheduled_works+0x4d4/0x9a0 kernel/workqueue.c:3405
 worker_thread+0x569/0x750 kernel/workqueue.c:3486
 kthread+0x221/0x270 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

read to 0xffffffff893d5538 of 4 bytes by task 4104 on cpu 0:
 tk_xtime_coarse kernel/time/timekeeping.c:217 [inline]
 ktime_get_coarse_real_ts64_mg+0x89/0x1a0 kernel/time/timekeeping.c:2688
 inode_set_ctime_current+0x43/0x8e0 fs/inode.c:2895
 simple_inode_init_ts+0x19/0x70 fs/libfs.c:2124
 proc_pid_make_inode+0x58/0x200 fs/proc/base.c:1940
 proc_pident_instantiate+0x44/0x180 fs/proc/base.c:2667
 proc_pident_lookup+0x115/0x1a0 fs/proc/base.c:2702
 proc_tgid_base_lookup+0x2b/0x40 fs/proc/base.c:3418
 __lookup_slow+0x155/0x200 fs/namei.c:1919
 lookup_slow+0x3c/0x60 fs/namei.c:1936
 walk_component fs/namei.c:2282 [inline]
 link_path_walk+0x919/0xdd0 fs/namei.c:2656
 path_openat+0x1ac/0x2000 fs/namei.c:4859
 do_file_open+0x16c/0x290 fs/namei.c:4892
 do_sys_openat2+0xa0/0x130 fs/open.c:1368
 do_sys_open fs/open.c:1374 [inline]
 __do_sys_openat fs/open.c:1390 [inline]
 __se_sys_openat fs/open.c:1385 [inline]
 __x64_sys_openat+0xf2/0x120 fs/open.c:1385
 x64_sys_call+0x1e39/0x3020 arch/x86/include/generated/asm/syscalls_64.h:258
 do_syscall_x64 arch/x86/entry/syscall_64.c:63 [inline]
 do_syscall_64+0x136/0x3c0 arch/x86/entry/syscall_64.c:94
 entry_SYSCALL_64_after_hwframe+0x77/0x7f

value changed: 0x38074fca -> 0x389fe64a

Reported by Kernel Concurrency Sanitizer on:
CPU: 0 UID: 0 PID: 4104 Comm: syz.4.8580 Tainted: G        W           syzkaller #0 PREEMPT(lazy) 
Tainted: [W]=WARN
Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 05/09/2026
==================================================================
pim6reg: entered allmulticast mode
pim6reg: left allmulticast mode

Crashes (8):
Time Kernel Commit Syzkaller Config Log Report Syz repro C repro VM info Assets (help?) Manager Title
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.