================================================================== BUG: KCSAN: data-race in wg_packet_send_staged_packets / wg_packet_send_staged_packets write to 0xffff888029a79a08 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 __sanitizer_cov_trace_pc+0x0/0x60 vfs_write+0x3ca/0x7c0 fs/read_write.c:608 ksys_pwrite64 fs/read_write.c:712 [inline] __do_sys_pwrite64 fs/read_write.c:722 [inline] __se_sys_pwrite64 fs/read_write.c:719 [inline] __x64_sys_pwrite64+0xf5/0x150 fs/read_write.c:719 do_syscall_64+0x39/0x80 arch/x86/entry/common.c:46 entry_SYSCALL_64_after_hwframe+0x44/0xa9 read to 0xffff888029a79a08 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 __preempt_count_dec_and_test arch/x86/include/asm/preempt.h:94 [inline] __raw_spin_unlock_irq include/linux/spinlock_api_smp.h:169 [inline] _raw_spin_unlock_irq+0x2c/0x40 kernel/locking/spinlock.c:199 finish_lock_switch kernel/sched/core.c:4065 [inline] finish_task_switch+0xc0/0x2a0 kernel/sched/core.c:4182 context_switch kernel/sched/core.c:4316 [inline] __schedule+0x3c1/0x580 kernel/sched/core.c:5064 preempt_schedule_irq+0x43/0x80 kernel/sched/core.c:5326 irqentry_exit_cond_resched+0x30/0x40 kernel/entry/common.c:393 irqentry_exit+0x2a/0x40 kernel/entry/common.c:423 sysvec_apic_timer_interrupt+0x80/0x90 arch/x86/kernel/apic/apic.c:1096 asm_sysvec_apic_timer_interrupt+0x12/0x20 arch/x86/include/asm/idtentry.h:628 native_restore_fl arch/x86/include/asm/irqflags.h:41 [inline] arch_local_irq_restore arch/x86/include/asm/irqflags.h:84 [inline] kcsan_setup_watchpoint+0x1fc/0x4e0 kernel/kcsan/core.c:591 vga_imageblit_expand drivers/video/fbdev/vga16fb.c:1176 [inline] vga16fb_imageblit+0x7e8/0xff0 drivers/video/fbdev/vga16fb.c:1260 bit_putcs+0xdd0/0xe80 drivers/video/fbdev/core/bitblit.c:86 fbcon_putcs+0x57c/0x5a0 drivers/video/fbdev/core/fbcon.c:1304 fbcon_redraw+0x1a2/0x310 drivers/video/fbdev/core/fbcon.c:1662 fbcon_scroll+0x324/0x2dc0 drivers/video/fbdev/core/fbcon.c:1787 con_scroll+0x3df/0x4f0 drivers/tty/vt/vt.c:630 lf drivers/tty/vt/vt.c:1490 [inline] vc_con_write_normal drivers/tty/vt/vt.c:2811 [inline] do_con_write+0x1114/0x5c00 drivers/tty/vt/vt.c:2915 con_put_char+0x63/0x90 drivers/tty/vt/vt.c:3265 tty_put_char+0x5f/0xa0 drivers/tty/tty_io.c:3038 do_output_char+0x4bf/0x4e0 drivers/tty/n_tty.c:489 process_output drivers/tty/n_tty.c:515 [inline] n_tty_write+0x7e8/0xae0 drivers/tty/n_tty.c:2347 do_tty_write drivers/tty/tty_io.c:961 [inline] tty_write+0x3f9/0x610 drivers/tty/tty_io.c:1045 vfs_write+0x21a/0x7c0 fs/read_write.c:603 ksys_write+0xce/0x180 fs/read_write.c:658 __do_sys_write fs/read_write.c:670 [inline] __se_sys_write fs/read_write.c:667 [inline] __x64_sys_write+0x3e/0x50 fs/read_write.c:667 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: 1 PID: 29916 Comm: syz-executor.3 Not tainted 5.11.0-rc3-syzkaller #0 Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 01/01/2011 ==================================================================