================================================================== BUG: KCSAN: data-race in wq_worker_tick / wq_worker_tick read-write to 0xffff888108ea6ab8 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 fsqr2 lib/crypto/x86/curve25519.h:778 [inline] point_add_and_double lib/crypto/x86/curve25519.h:1010 [inline] montgomery_ladder lib/crypto/x86/curve25519.h:1093 [inline] curve25519_ever64 lib/crypto/x86/curve25519.h:1247 [inline] curve25519_arch lib/crypto/x86/curve25519.h:1594 [inline] curve25519+0x22bb/0x5000 lib/crypto/curve25519.c:44 mix_dh drivers/net/wireguard/noise.c:411 [inline] wg_noise_handshake_create_initiation+0x17c/0x520 drivers/net/wireguard/noise.c:550 wg_packet_send_handshake_initiation drivers/net/wireguard/send.c:34 [inline] wg_packet_handshake_send_worker+0xb2/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 0xffff888108ea6ab8 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 is_atomic kernel/kcsan/core.c:249 [inline] should_watch kernel/kcsan/core.c:277 [inline] check_access kernel/kcsan/core.c:752 [inline] __tsan_unaligned_write4+0x11e/0x190 kernel/kcsan/core.c:1024 blake2s_set_lastblock lib/crypto/blake2s.c:115 [inline] blake2s_final+0x1f/0xa0 lib/crypto/blake2s.c:145 mix_hash drivers/net/wireguard/noise.c:439 [inline] message_encrypt drivers/net/wireguard/noise.c:470 [inline] wg_noise_handshake_create_initiation+0x2af/0x520 drivers/net/wireguard/noise.c:555 wg_packet_send_handshake_initiation drivers/net/wireguard/send.c:34 [inline] wg_packet_handshake_send_worker+0xb2/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: 1 UID: 0 PID: 3458 Comm: kworker/u8:7 Not tainted syzkaller #0 PREEMPT(voluntary) Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 10/02/2025 Workqueue: wg-kex-wg2 wg_packet_handshake_send_worker ==================================================================