================================================================== BUG: KCSAN: data-race in wg_packet_send_staged_packets / wg_packet_send_staged_packets write to 0xffff88802408aa08 of 4 bytes by interrupt on cpu 1: wg_cpumask_next_online drivers/net/wireguard/queueing.h:134 [inline] wg_queue_enqueue_per_device_and_peer drivers/net/wireguard/queueing.h:153 [inline] wg_packet_create_data drivers/net/wireguard/send.c:326 [inline] wg_packet_send_staged_packets+0x5d9/0x9b0 drivers/net/wireguard/send.c:396 wg_packet_send_keepalive+0x102/0x120 drivers/net/wireguard/send.c:239 wg_expired_send_persistent_keepalive+0x38/0x50 drivers/net/wireguard/timers.c:141 call_timer_fn+0x2e/0x240 kernel/time/timer.c:1417 expire_timers+0x116/0x260 kernel/time/timer.c:1462 __run_timers+0x358/0x3f0 kernel/time/timer.c:1731 run_timer_softirq+0x19/0x30 kernel/time/timer.c:1744 __do_softirq+0x13c/0x2c3 kernel/softirq.c:343 asm_call_irq_on_stack+0xf/0x20 __run_on_irqstack arch/x86/include/asm/irq_stack.h:26 [inline] run_on_irqstack_cond arch/x86/include/asm/irq_stack.h:77 [inline] do_softirq_own_stack+0x32/0x40 arch/x86/kernel/irq_64.c:77 invoke_softirq kernel/softirq.c:226 [inline] __irq_exit_rcu+0xb4/0xc0 kernel/softirq.c:420 sysvec_apic_timer_interrupt+0x74/0x90 arch/x86/kernel/apic/apic.c:1100 asm_sysvec_apic_timer_interrupt+0x12/0x20 arch/x86/include/asm/idtentry.h:629 native_safe_halt arch/x86/include/asm/irqflags.h:60 [inline] arch_safe_halt arch/x86/include/asm/irqflags.h:103 [inline] acpi_safe_halt drivers/acpi/processor_idle.c:110 [inline] acpi_idle_do_entry drivers/acpi/processor_idle.c:516 [inline] acpi_idle_enter+0x25b/0x2e0 drivers/acpi/processor_idle.c:647 cpuidle_enter_state+0x2b6/0x7c0 drivers/cpuidle/cpuidle.c:237 cpuidle_enter+0x3c/0x60 drivers/cpuidle/cpuidle.c:351 call_cpuidle kernel/sched/idle.c:158 [inline] cpuidle_idle_call kernel/sched/idle.c:239 [inline] do_idle+0x193/0x230 kernel/sched/idle.c:299 cpu_startup_entry+0x15/0x20 kernel/sched/idle.c:396 secondary_startup_64_no_verify+0xb0/0xbb read to 0xffff88802408aa08 of 4 bytes by interrupt on cpu 0: wg_cpumask_next_online drivers/net/wireguard/queueing.h:130 [inline] wg_queue_enqueue_per_device_and_peer drivers/net/wireguard/queueing.h:153 [inline] wg_packet_create_data drivers/net/wireguard/send.c:326 [inline] wg_packet_send_staged_packets+0x595/0x9b0 drivers/net/wireguard/send.c:396 wg_packet_send_keepalive+0x102/0x120 drivers/net/wireguard/send.c:239 wg_expired_send_persistent_keepalive+0x38/0x50 drivers/net/wireguard/timers.c:141 call_timer_fn+0x2e/0x240 kernel/time/timer.c:1417 expire_timers+0x116/0x260 kernel/time/timer.c:1462 __run_timers+0x358/0x3f0 kernel/time/timer.c:1731 run_timer_softirq+0x19/0x30 kernel/time/timer.c:1744 __do_softirq+0x13c/0x2c3 kernel/softirq.c:343 asm_call_irq_on_stack+0xf/0x20 __run_on_irqstack arch/x86/include/asm/irq_stack.h:26 [inline] run_on_irqstack_cond arch/x86/include/asm/irq_stack.h:77 [inline] do_softirq_own_stack+0x32/0x40 arch/x86/kernel/irq_64.c:77 invoke_softirq kernel/softirq.c:226 [inline] __irq_exit_rcu+0xb4/0xc0 kernel/softirq.c:420 sysvec_apic_timer_interrupt+0x74/0x90 arch/x86/kernel/apic/apic.c:1100 asm_sysvec_apic_timer_interrupt+0x12/0x20 arch/x86/include/asm/idtentry.h:629 native_restore_fl arch/x86/include/asm/irqflags.h:41 [inline] arch_local_irq_restore arch/x86/include/asm/irqflags.h:84 [inline] __raw_spin_unlock_irqrestore include/linux/spinlock_api_smp.h:160 [inline] _raw_spin_unlock_irqrestore+0x32/0x50 kernel/locking/spinlock.c:191 spin_unlock_irqrestore include/linux/spinlock.h:409 [inline] pcpu_alloc+0x84e/0x1090 mm/percpu.c:1806 __alloc_percpu_gfp+0x22/0x30 mm/percpu.c:1893 bpf_map_alloc_percpu+0xab/0x120 kernel/bpf/syscall.c:435 prealloc_init kernel/bpf/hashtab.c:296 [inline] htab_map_alloc+0x807/0xc70 kernel/bpf/hashtab.c:508 find_and_alloc_map kernel/bpf/syscall.c:122 [inline] map_create kernel/bpf/syscall.c:828 [inline] __do_sys_bpf+0x420c/0x9950 kernel/bpf/syscall.c:4364 __se_sys_bpf kernel/bpf/syscall.c:4340 [inline] __x64_sys_bpf+0x3d/0x50 kernel/bpf/syscall.c:4340 do_syscall_64+0x39/0x80 arch/x86/entry/common.c:46 entry_SYSCALL_64_after_hwframe+0x44/0xa9 Reported by Kernel Concurrency Sanitizer on: CPU: 0 PID: 15797 Comm: syz-executor.5 Not tainted 5.11.0-rc7-syzkaller #0 Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 01/01/2011 ==================================================================