================================================================== BUG: KCSAN: data-race in wg_packet_send_staged_packets / wg_packet_send_staged_packets write to 0xffff8881371bda48 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:1415 expire_timers+0x116/0x260 kernel/time/timer.c:1460 __run_timers+0x328/0x3c0 kernel/time/timer.c:1752 run_timer_softirq+0x19/0x30 kernel/time/timer.c:1765 __do_softirq+0x12c/0x2b1 kernel/softirq.c:298 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:393 [inline] __irq_exit_rcu+0xb2/0xc0 kernel/softirq.c:423 sysvec_apic_timer_interrupt+0x74/0x90 arch/x86/kernel/apic/apic.c:1091 asm_sysvec_apic_timer_interrupt+0x12/0x20 arch/x86/include/asm/idtentry.h:631 ieee80211_ibss_sta_expire net/mac80211/ibss.c:1257 [inline] ieee80211_sta_merge_ibss net/mac80211/ibss.c:1305 [inline] ieee80211_ibss_work+0x2b3/0xd90 net/mac80211/ibss.c:1711 ieee80211_iface_work+0x5e6/0x630 net/mac80211/iface.c:1476 process_one_work+0x3e1/0x950 kernel/workqueue.c:2272 worker_thread+0x635/0xb90 kernel/workqueue.c:2418 kthread+0x1fa/0x220 kernel/kthread.c:292 ret_from_fork+0x1f/0x30 arch/x86/entry/entry_64.S:296 read to 0xffff8881371bda48 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:1415 expire_timers+0x116/0x260 kernel/time/timer.c:1460 __run_timers+0x328/0x3c0 kernel/time/timer.c:1752 run_timer_softirq+0x19/0x30 kernel/time/timer.c:1765 __do_softirq+0x12c/0x2b1 kernel/softirq.c:298 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:393 [inline] __irq_exit_rcu+0xb2/0xc0 kernel/softirq.c:423 sysvec_apic_timer_interrupt+0x74/0x90 arch/x86/kernel/apic/apic.c:1091 asm_sysvec_apic_timer_interrupt+0x12/0x20 arch/x86/include/asm/idtentry.h:631 arch___set_bit arch/x86/include/asm/bitops.h:68 [inline] __set_bit include/asm-generic/bitops/instrumented-non-atomic.h:28 [inline] _ieee802_11_parse_elems_crc+0x15e8/0x1840 net/mac80211/util.c:1382 ieee802_11_parse_elems_crc+0x69a/0x890 net/mac80211/util.c:1485 ieee802_11_parse_elems net/mac80211/ieee80211_i.h:2048 [inline] ieee80211_rx_mgmt_probe_beacon net/mac80211/ibss.c:1612 [inline] ieee80211_ibss_rx_queued_mgmt+0x27b/0x12b0 net/mac80211/ibss.c:1642 ieee80211_iface_work+0x4e0/0x630 net/mac80211/iface.c:1455 process_one_work+0x3e1/0x950 kernel/workqueue.c:2272 worker_thread+0x635/0xb90 kernel/workqueue.c:2418 kthread+0x1fa/0x220 kernel/kthread.c:292 ret_from_fork+0x1f/0x30 arch/x86/entry/entry_64.S:296 Reported by Kernel Concurrency Sanitizer on: CPU: 0 PID: 26 Comm: kworker/u4:2 Not tainted 5.10.0-rc1-syzkaller #0 Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 01/01/2011 Workqueue: phy10 ieee80211_iface_work ==================================================================