================================================================== BUG: KCSAN: data-race in wq_worker_tick / wq_worker_tick read-write to 0xffff888118bd7ab8 of 8 bytes by interrupt on cpu 1: wq_worker_tick+0x60/0x230 kernel/workqueue.c:1480 sched_tick+0x11a/0x270 kernel/sched/core.c:5616 update_process_times+0x15f/0x190 kernel/time/timer.c:2478 tick_sched_handle kernel/time/tick-sched.c:276 [inline] tick_nohz_handler+0x249/0x2d0 kernel/time/tick-sched.c:297 __run_hrtimer kernel/time/hrtimer.c:1777 [inline] __hrtimer_run_queues+0x20f/0x5a0 kernel/time/hrtimer.c:1841 hrtimer_interrupt+0x21a/0x460 kernel/time/hrtimer.c:1903 local_apic_timer_interrupt arch/x86/kernel/apic/apic.c:1041 [inline] __sysvec_apic_timer_interrupt+0x5f/0x1d0 arch/x86/kernel/apic/apic.c:1058 instr_sysvec_apic_timer_interrupt arch/x86/kernel/apic/apic.c:1052 [inline] sysvec_apic_timer_interrupt+0x6f/0x80 arch/x86/kernel/apic/apic.c:1052 asm_sysvec_apic_timer_interrupt+0x1a/0x20 arch/x86/include/asm/idtentry.h:697 neigh_resolve_output+0xc1/0x460 net/core/neighbour.c:1584 neigh_output include/net/neighbour.h:547 [inline] ip_finish_output2+0x7bf/0x8b0 net/ipv4/ip_output.c:237 __ip_finish_output net/ipv4/ip_output.c:-1 [inline] ip_finish_output+0x114/0x2a0 net/ipv4/ip_output.c:325 NF_HOOK_COND include/linux/netfilter.h:307 [inline] ip_output+0xbd/0x190 net/ipv4/ip_output.c:438 dst_output include/net/dst.h:464 [inline] ip_local_out+0xb9/0xe0 net/ipv4/ip_output.c:131 iptunnel_xmit+0x3c0/0x510 net/ipv4/ip_tunnel_core.c:84 udp_tunnel_xmit_skb+0x1aa/0x1f0 net/ipv4/udp_tunnel_core.c:193 send4+0x494/0x580 drivers/net/wireguard/socket.c:85 wg_socket_send_skb_to_peer+0x95/0x130 drivers/net/wireguard/socket.c:175 wg_socket_send_buffer_to_peer+0xf1/0x120 drivers/net/wireguard/socket.c:200 wg_packet_send_handshake_initiation drivers/net/wireguard/send.c:40 [inline] wg_packet_handshake_send_worker+0x10d/0x160 drivers/net/wireguard/send.c:51 process_one_work kernel/workqueue.c:3263 [inline] process_scheduled_works+0x4ce/0x9d0 kernel/workqueue.c:3346 worker_thread+0x582/0x770 kernel/workqueue.c:3427 kthread+0x489/0x510 kernel/kthread.c:463 ret_from_fork+0x122/0x1b0 arch/x86/kernel/process.c:158 ret_from_fork_asm+0x1a/0x30 arch/x86/entry/entry_64.S:245 read-write to 0xffff888118bd7ab8 of 8 bytes by interrupt on cpu 0: wq_worker_tick+0x60/0x230 kernel/workqueue.c:1480 sched_tick+0x11a/0x270 kernel/sched/core.c:5616 update_process_times+0x15f/0x190 kernel/time/timer.c:2478 tick_sched_handle kernel/time/tick-sched.c:276 [inline] tick_nohz_handler+0x249/0x2d0 kernel/time/tick-sched.c:297 __run_hrtimer kernel/time/hrtimer.c:1777 [inline] __hrtimer_run_queues+0x20f/0x5a0 kernel/time/hrtimer.c:1841 hrtimer_interrupt+0x21a/0x460 kernel/time/hrtimer.c:1903 local_apic_timer_interrupt arch/x86/kernel/apic/apic.c:1041 [inline] __sysvec_apic_timer_interrupt+0x5f/0x1d0 arch/x86/kernel/apic/apic.c:1058 instr_sysvec_apic_timer_interrupt arch/x86/kernel/apic/apic.c:1052 [inline] sysvec_apic_timer_interrupt+0x6f/0x80 arch/x86/kernel/apic/apic.c:1052 asm_sysvec_apic_timer_interrupt+0x1a/0x20 arch/x86/include/asm/idtentry.h:697 is_atomic kernel/kcsan/core.c:260 [inline] should_watch kernel/kcsan/core.c:277 [inline] check_access kernel/kcsan/core.c:752 [inline] __tsan_memcpy+0x161/0x3c0 kernel/kcsan/core.c:1364 eth_header+0xaf/0x130 net/ethernet/eth.c:96 dev_hard_header include/linux/netdevice.h:3419 [inline] neigh_resolve_output+0x35e/0x460 net/core/neighbour.c:1590 neigh_output include/net/neighbour.h:547 [inline] ip6_finish_output2+0xa5f/0xd10 net/ipv6/ip6_output.c:136 __ip6_finish_output net/ipv6/ip6_output.c:-1 [inline] ip6_finish_output+0x3a4/0x540 net/ipv6/ip6_output.c:220 NF_HOOK_COND include/linux/netfilter.h:307 [inline] ip6_output+0x10a/0x250 net/ipv6/ip6_output.c:247 dst_output include/net/dst.h:464 [inline] ip6_local_out+0x79/0xe0 net/ipv6/output_core.c:157 ip6tunnel_xmit include/net/ip6_tunnel.h:162 [inline] udp_tunnel6_xmit_skb+0x3e9/0x540 net/ipv6/ip6_udp_tunnel.c:112 send6+0x326/0x3f0 drivers/net/wireguard/socket.c:152 wg_socket_send_skb_to_peer+0xbd/0x130 drivers/net/wireguard/socket.c:178 wg_socket_send_buffer_to_peer+0xf1/0x120 drivers/net/wireguard/socket.c:200 wg_packet_send_handshake_initiation drivers/net/wireguard/send.c:40 [inline] wg_packet_handshake_send_worker+0x10d/0x160 drivers/net/wireguard/send.c:51 process_one_work kernel/workqueue.c:3263 [inline] process_scheduled_works+0x4ce/0x9d0 kernel/workqueue.c:3346 worker_thread+0x582/0x770 kernel/workqueue.c:3427 kthread+0x489/0x510 kernel/kthread.c:463 ret_from_fork+0x122/0x1b0 arch/x86/kernel/process.c:158 ret_from_fork_asm+0x1a/0x30 arch/x86/entry/entry_64.S:245 value changed: 0x0000000000000000 -> 0x0000000000002710 Reported by Kernel Concurrency Sanitizer on: CPU: 0 UID: 0 PID: 31 Comm: kworker/u8:1 Not tainted syzkaller #0 PREEMPT(voluntary) Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 10/02/2025 Workqueue: wg-kex-wg0 wg_packet_handshake_send_worker ==================================================================