================================================================== BUG: KCSAN: data-race in wg_packet_send_staged_packets / wg_packet_send_staged_packets write to 0xffff88812b048a08 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+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 get_ctx kernel/kcsan/core.c:198 [inline] check_access kernel/kcsan/core.c:629 [inline] __tsan_read8+0x108/0x180 kernel/kcsan/core.c:842 PageAnon include/linux/page-flags.h:484 [inline] mm_counter include/linux/mm.h:1922 [inline] zap_pte_range+0x525/0x13c0 mm/memory.c:1263 zap_pmd_range mm/memory.c:1368 [inline] zap_pud_range mm/memory.c:1397 [inline] zap_p4d_range mm/memory.c:1418 [inline] unmap_page_range+0x560/0x660 mm/memory.c:1439 unmap_single_vma+0x157/0x210 mm/memory.c:1484 unmap_vmas+0xbf/0x150 mm/memory.c:1516 exit_mmap+0x1c7/0x400 mm/mmap.c:3220 __mmput+0xa2/0x220 kernel/fork.c:1082 mmput+0x38/0x40 kernel/fork.c:1103 exit_mm+0x32f/0x420 kernel/exit.c:501 do_exit+0x41f/0x1690 kernel/exit.c:812 do_group_exit+0xc8/0x170 kernel/exit.c:922 get_signal+0xd7e/0x1470 kernel/signal.c:2773 arch_do_signal_or_restart+0x2a/0x270 arch/x86/kernel/signal.c:811 handle_signal_work kernel/entry/common.c:147 [inline] exit_to_user_mode_loop kernel/entry/common.c:171 [inline] exit_to_user_mode_prepare+0x109/0x1a0 kernel/entry/common.c:201 __syscall_exit_to_user_mode_work kernel/entry/common.c:291 [inline] syscall_exit_to_user_mode+0x20/0x40 kernel/entry/common.c:302 do_syscall_64+0x45/0x80 arch/x86/entry/common.c:56 entry_SYSCALL_64_after_hwframe+0x44/0xa9 read to 0xffff88812b048a08 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+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 rest_init+0xd7/0xe0 init/main.c:720 arch_call_rest_init+0xa/0xb start_kernel+0x59b/0x620 init/main.c:1061 secondary_startup_64_no_verify+0xb0/0xbb Reported by Kernel Concurrency Sanitizer on: CPU: 0 PID: 0 Comm: swapper/0 Not tainted 5.11.0-rc5-syzkaller #0 Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 01/01/2011 ==================================================================