================================================================== BUG: KCSAN: data-race in wq_worker_tick / wq_worker_tick read-write to 0xffff88810ac210a8 of 8 bytes by interrupt on cpu 0: wq_worker_tick+0x66/0x3c0 kernel/workqueue.c:1339 scheduler_tick+0x13e/0x1d0 kernel/sched/core.c:5690 update_process_times+0xf5/0x110 kernel/time/timer.c:2092 tick_sched_handle kernel/time/tick-sched.c:255 [inline] tick_nohz_highres_handler+0x244/0x2c0 kernel/time/tick-sched.c:1519 __run_hrtimer kernel/time/hrtimer.c:1688 [inline] __hrtimer_run_queues+0x217/0x700 kernel/time/hrtimer.c:1752 hrtimer_interrupt+0x20d/0x7b0 kernel/time/hrtimer.c:1814 local_apic_timer_interrupt arch/x86/kernel/apic/apic.c:1065 [inline] __sysvec_apic_timer_interrupt+0x52/0x190 arch/x86/kernel/apic/apic.c:1082 sysvec_apic_timer_interrupt+0x68/0x80 arch/x86/kernel/apic/apic.c:1076 asm_sysvec_apic_timer_interrupt+0x1a/0x20 arch/x86/include/asm/idtentry.h:649 fmul2 arch/x86/crypto/curve25519-x86_64.c:296 [inline] point_add_and_double arch/x86/crypto/curve25519-x86_64.c:1024 [inline] montgomery_ladder arch/x86/crypto/curve25519-x86_64.c:1098 [inline] curve25519_ever64 arch/x86/crypto/curve25519-x86_64.c:1252 [inline] curve25519_arch+0x2ba0/0x4ff0 arch/x86/crypto/curve25519-x86_64.c:1599 curve25519 include/crypto/curve25519.h:39 [inline] mix_dh+0x5e/0x1c0 drivers/net/wireguard/noise.c:411 wg_noise_handshake_create_initiation+0x2ad/0x5f0 drivers/net/wireguard/noise.c:550 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:2633 [inline] process_scheduled_works+0x5b8/0xa30 kernel/workqueue.c:2706 worker_thread+0x525/0x730 kernel/workqueue.c:2787 kthread+0x1d7/0x210 kernel/kthread.c:388 ret_from_fork+0x48/0x60 arch/x86/kernel/process.c:147 ret_from_fork_asm+0x11/0x20 arch/x86/entry/entry_64.S:242 read-write to 0xffff88810ac210a8 of 8 bytes by interrupt on cpu 1: wq_worker_tick+0x66/0x3c0 kernel/workqueue.c:1339 scheduler_tick+0x13e/0x1d0 kernel/sched/core.c:5690 update_process_times+0xf5/0x110 kernel/time/timer.c:2092 tick_sched_handle kernel/time/tick-sched.c:255 [inline] tick_nohz_highres_handler+0x244/0x2c0 kernel/time/tick-sched.c:1519 __run_hrtimer kernel/time/hrtimer.c:1688 [inline] __hrtimer_run_queues+0x217/0x700 kernel/time/hrtimer.c:1752 hrtimer_interrupt+0x20d/0x7b0 kernel/time/hrtimer.c:1814 local_apic_timer_interrupt arch/x86/kernel/apic/apic.c:1065 [inline] __sysvec_apic_timer_interrupt+0x52/0x190 arch/x86/kernel/apic/apic.c:1082 sysvec_apic_timer_interrupt+0x68/0x80 arch/x86/kernel/apic/apic.c:1076 asm_sysvec_apic_timer_interrupt+0x1a/0x20 arch/x86/include/asm/idtentry.h:649 fmul2 arch/x86/crypto/curve25519-x86_64.c:296 [inline] point_add_and_double arch/x86/crypto/curve25519-x86_64.c:1006 [inline] montgomery_ladder arch/x86/crypto/curve25519-x86_64.c:1098 [inline] curve25519_ever64 arch/x86/crypto/curve25519-x86_64.c:1252 [inline] curve25519_arch+0x1d2d/0x4ff0 arch/x86/crypto/curve25519-x86_64.c:1599 curve25519 include/crypto/curve25519.h:39 [inline] mix_dh+0x5e/0x1c0 drivers/net/wireguard/noise.c:411 wg_noise_handshake_create_initiation+0x2ad/0x5f0 drivers/net/wireguard/noise.c:550 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:2633 [inline] process_scheduled_works+0x5b8/0xa30 kernel/workqueue.c:2706 worker_thread+0x525/0x730 kernel/workqueue.c:2787 kthread+0x1d7/0x210 kernel/kthread.c:388 ret_from_fork+0x48/0x60 arch/x86/kernel/process.c:147 ret_from_fork_asm+0x11/0x20 arch/x86/entry/entry_64.S:242 value changed: 0x0000000000000000 -> 0x0000000000002710 Reported by Kernel Concurrency Sanitizer on: CPU: 1 PID: 3640 Comm: kworker/u4:36 Not tainted 6.7.0-syzkaller-09928-g052d534373b7 #0 Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 11/17/2023 Workqueue: wg-kex-wg0 wg_packet_handshake_send_worker ==================================================================