================================================================== BUG: KCSAN: data-race in wq_worker_tick / wq_worker_tick read-write to 0xffff88810411d2b8 of 8 bytes by interrupt on cpu 0: wq_worker_tick+0x63/0x240 kernel/workqueue.c:1474 sched_tick+0xd2/0x110 kernel/sched/core.c:5609 update_process_times+0x15a/0x180 kernel/time/timer.c:2524 tick_sched_handle kernel/time/tick-sched.c:276 [inline] tick_nohz_handler+0x250/0x2d0 kernel/time/tick-sched.c:297 __run_hrtimer kernel/time/hrtimer.c:1691 [inline] __hrtimer_run_queues+0x20d/0x5e0 kernel/time/hrtimer.c:1755 hrtimer_interrupt+0x210/0x7b0 kernel/time/hrtimer.c:1817 local_apic_timer_interrupt arch/x86/kernel/apic/apic.c:1026 [inline] __sysvec_apic_timer_interrupt+0x5c/0x1a0 arch/x86/kernel/apic/apic.c:1043 instr_sysvec_apic_timer_interrupt arch/x86/kernel/apic/apic.c:1037 [inline] sysvec_apic_timer_interrupt+0x6e/0x80 arch/x86/kernel/apic/apic.c:1037 asm_sysvec_apic_timer_interrupt+0x1a/0x20 arch/x86/include/asm/idtentry.h:702 blake2s_compress_ssse3+0xb6/0x260 arch/x86/crypto/blake2s-core.S:83 blake2s_compress+0x8c/0xd0 arch/x86/crypto/blake2s-glue.c:48 blake2s_update+0x8e/0x140 lib/crypto/blake2s.c:32 hmac+0x20a/0x280 drivers/net/wireguard/noise.c:332 kdf drivers/net/wireguard/noise.c:367 [inline] message_ephemeral+0x16b/0x1d0 drivers/net/wireguard/noise.c:493 wg_noise_handshake_create_initiation+0x298/0x5f0 drivers/net/wireguard/noise.c:545 wg_packet_send_handshake_initiation drivers/net/wireguard/send.c:34 [inline] wg_packet_handshake_send_worker+0xb3/0x150 drivers/net/wireguard/send.c:51 process_one_work kernel/workqueue.c:3229 [inline] process_scheduled_works+0x483/0x9a0 kernel/workqueue.c:3310 worker_thread+0x51d/0x6f0 kernel/workqueue.c:3391 kthread+0x1d1/0x210 kernel/kthread.c:389 ret_from_fork+0x4b/0x60 arch/x86/kernel/process.c:147 ret_from_fork_asm+0x1a/0x30 arch/x86/entry/entry_64.S:244 read-write to 0xffff88810411d2b8 of 8 bytes by interrupt on cpu 1: wq_worker_tick+0x63/0x240 kernel/workqueue.c:1474 sched_tick+0xd2/0x110 kernel/sched/core.c:5609 update_process_times+0x15a/0x180 kernel/time/timer.c:2524 tick_sched_handle kernel/time/tick-sched.c:276 [inline] tick_nohz_handler+0x250/0x2d0 kernel/time/tick-sched.c:297 __run_hrtimer kernel/time/hrtimer.c:1691 [inline] __hrtimer_run_queues+0x20d/0x5e0 kernel/time/hrtimer.c:1755 hrtimer_interrupt+0x210/0x7b0 kernel/time/hrtimer.c:1817 local_apic_timer_interrupt arch/x86/kernel/apic/apic.c:1026 [inline] __sysvec_apic_timer_interrupt+0x5c/0x1a0 arch/x86/kernel/apic/apic.c:1043 instr_sysvec_apic_timer_interrupt arch/x86/kernel/apic/apic.c:1037 [inline] sysvec_apic_timer_interrupt+0x6e/0x80 arch/x86/kernel/apic/apic.c:1037 asm_sysvec_apic_timer_interrupt+0x1a/0x20 arch/x86/include/asm/idtentry.h:702 get_current arch/x86/include/asm/current.h:49 [inline] __sanitizer_cov_trace_pc+0x11/0x70 kernel/kcov.c:216 kernel_fpu_begin_mask+0xc4/0x200 arch/x86/kernel/fpu/core.c:426 kernel_fpu_begin arch/x86/include/asm/fpu/api.h:42 [inline] blake2s_compress+0x42/0xd0 arch/x86/crypto/blake2s-glue.c:43 blake2s_final+0x67/0xa0 lib/crypto/blake2s.c:54 hmac+0x215/0x280 drivers/net/wireguard/noise.c:333 kdf drivers/net/wireguard/noise.c:360 [inline] message_ephemeral+0x13a/0x1d0 drivers/net/wireguard/noise.c:493 wg_noise_handshake_create_initiation+0x298/0x5f0 drivers/net/wireguard/noise.c:545 wg_packet_send_handshake_initiation drivers/net/wireguard/send.c:34 [inline] wg_packet_handshake_send_worker+0xb3/0x150 drivers/net/wireguard/send.c:51 process_one_work kernel/workqueue.c:3229 [inline] process_scheduled_works+0x483/0x9a0 kernel/workqueue.c:3310 worker_thread+0x51d/0x6f0 kernel/workqueue.c:3391 kthread+0x1d1/0x210 kernel/kthread.c:389 ret_from_fork+0x4b/0x60 arch/x86/kernel/process.c:147 ret_from_fork_asm+0x1a/0x30 arch/x86/entry/entry_64.S:244 value changed: 0x0000000000000000 -> 0x0000000000002710 Reported by Kernel Concurrency Sanitizer on: CPU: 1 UID: 0 PID: 335 Comm: kworker/u8:5 Not tainted 6.11.0-syzkaller-08833-gde5cb0dcb74c #0 Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 08/06/2024 Workqueue: wg-kex-wg2 wg_packet_handshake_send_worker ==================================================================