================================================================== BUG: KCSAN: data-race in wg_packet_send_staged_packets / wg_packet_send_staged_packets write to 0xffff8880a5d7fa08 of 4 bytes by interrupt on cpu 0: wg_cpumask_next_online drivers/net/wireguard/queueing.h:141 [inline] wg_queue_enqueue_per_device_and_peer drivers/net/wireguard/queueing.h:160 [inline] wg_packet_create_data drivers/net/wireguard/send.c:321 [inline] wg_packet_send_staged_packets+0x8dd/0xd90 drivers/net/wireguard/send.c:393 wg_packet_send_keepalive+0x3f/0x140 drivers/net/wireguard/send.c:237 wg_expired_send_persistent_keepalive+0x43/0x50 drivers/net/wireguard/timers.c:141 call_timer_fn+0x58/0x2e0 kernel/time/timer.c:1405 expire_timers kernel/time/timer.c:1450 [inline] __run_timers kernel/time/timer.c:1774 [inline] __run_timers kernel/time/timer.c:1741 [inline] run_timer_softirq+0xb14/0xbd0 kernel/time/timer.c:1787 __do_softirq+0x118/0x34a kernel/softirq.c:292 invoke_softirq kernel/softirq.c:373 [inline] irq_exit+0xb5/0xd0 kernel/softirq.c:413 exiting_irq arch/x86/include/asm/apic.h:546 [inline] smp_apic_timer_interrupt+0xe2/0x270 arch/x86/kernel/apic/apic.c:1140 apic_timer_interrupt+0xf/0x20 arch/x86/entry/entry_64.S:829 get_current arch/x86/include/asm/current.h:15 [inline] __sanitizer_cov_trace_pc+0x9/0x50 kernel/kcov.c:186 set_pte_at arch/x86/include/asm/paravirt.h:453 [inline] copy_one_pte mm/memory.c:810 [inline] copy_pte_range mm/memory.c:853 [inline] copy_pmd_range mm/memory.c:904 [inline] copy_pud_range mm/memory.c:938 [inline] copy_p4d_range mm/memory.c:960 [inline] copy_page_range+0xbb6/0x1a50 mm/memory.c:1022 dup_mmap kernel/fork.c:607 [inline] dup_mm+0x6db/0xb50 kernel/fork.c:1363 copy_mm kernel/fork.c:1419 [inline] copy_process+0x394f/0x3ab0 kernel/fork.c:2085 _do_fork+0xf7/0x790 kernel/fork.c:2430 __do_sys_clone+0xf9/0x130 kernel/fork.c:2585 __se_sys_clone kernel/fork.c:2566 [inline] __x64_sys_clone+0x6c/0x80 kernel/fork.c:2566 do_syscall_64+0xc7/0x3b0 arch/x86/entry/common.c:295 entry_SYSCALL_64_after_hwframe+0x44/0xa9 read to 0xffff8880a5d7fa08 of 4 bytes by interrupt on cpu 1: wg_cpumask_next_online drivers/net/wireguard/queueing.h:137 [inline] wg_queue_enqueue_per_device_and_peer drivers/net/wireguard/queueing.h:160 [inline] wg_packet_create_data drivers/net/wireguard/send.c:321 [inline] wg_packet_send_staged_packets+0x88c/0xd90 drivers/net/wireguard/send.c:393 wg_packet_send_keepalive+0x3f/0x140 drivers/net/wireguard/send.c:237 wg_expired_send_persistent_keepalive+0x43/0x50 drivers/net/wireguard/timers.c:141 call_timer_fn+0x58/0x2e0 kernel/time/timer.c:1405 expire_timers kernel/time/timer.c:1450 [inline] __run_timers kernel/time/timer.c:1774 [inline] __run_timers kernel/time/timer.c:1741 [inline] run_timer_softirq+0xb14/0xbd0 kernel/time/timer.c:1787 __do_softirq+0x118/0x34a kernel/softirq.c:292 invoke_softirq kernel/softirq.c:373 [inline] irq_exit+0xb5/0xd0 kernel/softirq.c:413 exiting_irq arch/x86/include/asm/apic.h:546 [inline] smp_apic_timer_interrupt+0xe2/0x270 arch/x86/kernel/apic/apic.c:1140 apic_timer_interrupt+0xf/0x20 arch/x86/entry/entry_64.S:829 matching_access kernel/kcsan/encoding.h:90 [inline] find_watchpoint kernel/kcsan/core.c:127 [inline] check_access kernel/kcsan/core.c:566 [inline] __tsan_unaligned_write8+0x30/0x110 kernel/kcsan/core.c:770 __tlb_remove_page_size+0x63/0x1b0 mm/mmu_gather.c:81 __tlb_remove_page include/asm-generic/tlb.h:439 [inline] zap_pte_range mm/memory.c:1095 [inline] zap_pmd_range mm/memory.c:1196 [inline] zap_pud_range mm/memory.c:1225 [inline] zap_p4d_range mm/memory.c:1246 [inline] unmap_page_range+0xb7f/0x1c50 mm/memory.c:1267 unmap_single_vma+0x13c/0x1f0 mm/memory.c:1312 unmap_vmas+0xe2/0x1b0 mm/memory.c:1344 exit_mmap+0x13e/0x2f0 mm/mmap.c:3150 __mmput kernel/fork.c:1085 [inline] mmput+0xe2/0x260 kernel/fork.c:1106 exit_mm kernel/exit.c:479 [inline] do_exit+0x644/0x11e0 kernel/exit.c:782 do_group_exit+0xae/0x1a0 kernel/exit.c:893 get_signal+0x2a7/0x1290 kernel/signal.c:2739 do_signal+0x2b/0x840 arch/x86/kernel/signal.c:784 exit_to_usermode_loop+0x24a/0x2c0 arch/x86/entry/common.c:161 prepare_exit_to_usermode arch/x86/entry/common.c:196 [inline] syscall_return_slowpath arch/x86/entry/common.c:279 [inline] do_syscall_64+0x38b/0x3b0 arch/x86/entry/common.c:305 entry_SYSCALL_64_after_hwframe+0x44/0xa9 Reported by Kernel Concurrency Sanitizer on: CPU: 1 PID: 10901 Comm: syz-executor.5 Not tainted 5.7.0-rc1-syzkaller #0 Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 01/01/2011 ==================================================================