================================================================== BUG: KCSAN: data-race in wg_packet_send_staged_packets / wg_packet_send_staged_packets write to 0xffff88802b341a08 of 4 bytes by interrupt on cpu 0: 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+0x5d5/0x990 drivers/net/wireguard/send.c:396 wg_packet_send_keepalive+0xea/0x100 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+0x338/0x3d0 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:1096 asm_sysvec_apic_timer_interrupt+0x12/0x20 arch/x86/include/asm/idtentry.h:628 clear_page_erms+0x7/0x10 arch/x86/lib/clear_page_64.S:48 clear_page arch/x86/include/asm/page_64.h:49 [inline] clear_highpage include/linux/highmem.h:203 [inline] kernel_init_free_pages mm/page_alloc.c:1211 [inline] post_alloc_hook mm/page_alloc.c:2298 [inline] prep_new_page mm/page_alloc.c:2304 [inline] get_page_from_freelist+0x366/0x630 mm/page_alloc.c:3943 __alloc_pages_nodemask+0x19e/0x350 mm/page_alloc.c:4993 alloc_pages_current+0x21d/0x310 mm/mempolicy.c:2267 alloc_pages include/linux/gfp.h:547 [inline] __vmalloc_area_node mm/vmalloc.c:2510 [inline] __vmalloc_node_range+0x2b0/0x500 mm/vmalloc.c:2576 __bpf_map_area_alloc+0xfd/0x120 kernel/bpf/syscall.c:306 bpf_map_area_alloc+0x18/0x20 kernel/bpf/syscall.c:313 queue_stack_map_alloc+0x78/0xf0 kernel/bpf/queue_stack_maps.c:76 find_and_alloc_map kernel/bpf/syscall.c:122 [inline] map_create kernel/bpf/syscall.c:828 [inline] __do_sys_bpf+0x3fea/0x99f0 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 read to 0xffff88802b341a08 of 4 bytes by interrupt on cpu 1: 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+0x592/0x990 drivers/net/wireguard/send.c:396 wg_packet_send_keepalive+0xea/0x100 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+0x338/0x3d0 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:1096 asm_sysvec_apic_timer_interrupt+0x12/0x20 arch/x86/include/asm/idtentry.h:628 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+0x2bd/0x750 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 Reported by Kernel Concurrency Sanitizer on: CPU: 1 PID: 0 Comm: swapper/1 Not tainted 5.11.0-rc4-syzkaller #0 Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 01/01/2011 ==================================================================