================================================================== BUG: KCSAN: data-race in kick_pool / wq_worker_running read-write to 0xffff888237c299e4 of 4 bytes by task 10 on cpu 0: wq_worker_running+0x95/0x120 kernel/workqueue.c:1400 schedule_timeout+0xb7/0x170 kernel/time/sleep_timeout.c:99 do_wait_for_common kernel/sched/completion.c:95 [inline] __wait_for_common kernel/sched/completion.c:116 [inline] wait_for_common+0xfa/0x1e0 kernel/sched/completion.c:127 usb_start_wait_urb+0xd6/0x190 drivers/usb/core/message.c:64 usb_internal_control_msg drivers/usb/core/message.c:103 [inline] usb_control_msg+0x18f/0x250 drivers/usb/core/message.c:154 get_port_status drivers/usb/core/hub.c:605 [inline] hub_ext_port_status+0xc0/0x480 drivers/usb/core/hub.c:622 usb_hub_port_status drivers/usb/core/hub.c:672 [inline] hub_port_debounce+0x19e/0x200 drivers/usb/core/hub.c:4669 hub_port_debounce_be_stable drivers/usb/core/hub.h:183 [inline] hub_port_connect drivers/usb/core/hub.c:5383 [inline] hub_port_connect_change drivers/usb/core/hub.c:5671 [inline] port_event drivers/usb/core/hub.c:5831 [inline] hub_event+0x13db/0x2940 drivers/usb/core/hub.c:5913 process_one_work kernel/workqueue.c:3238 [inline] process_scheduled_works+0x4ce/0x9d0 kernel/workqueue.c:3319 worker_thread+0x582/0x770 kernel/workqueue.c:3400 kthread+0x489/0x510 kernel/kthread.c:464 ret_from_fork+0x4b/0x60 arch/x86/kernel/process.c:153 ret_from_fork_asm+0x1a/0x30 arch/x86/entry/entry_64.S:245 read to 0xffff888237c299e4 of 4 bytes by interrupt on cpu 1: need_more_worker kernel/workqueue.c:934 [inline] kick_pool+0x49/0x2d0 kernel/workqueue.c:1240 __queue_work+0x8d6/0xb60 kernel/workqueue.c:2342 queue_work_on+0xd1/0x160 kernel/workqueue.c:2392 wg_queue_enqueue_per_device_and_peer drivers/net/wireguard/queueing.h:176 [inline] wg_packet_create_data drivers/net/wireguard/send.c:320 [inline] wg_packet_send_staged_packets+0x83d/0xab0 drivers/net/wireguard/send.c:388 wg_packet_send_keepalive+0xeb/0x100 drivers/net/wireguard/send.c:239 wg_expired_send_persistent_keepalive+0x3c/0x50 drivers/net/wireguard/timers.c:141 call_timer_fn+0x38/0x2c0 kernel/time/timer.c:1789 expire_timers kernel/time/timer.c:1840 [inline] __run_timers kernel/time/timer.c:2414 [inline] __run_timer_base+0x415/0x610 kernel/time/timer.c:2426 run_timer_base kernel/time/timer.c:2435 [inline] run_timer_softirq+0x31/0x70 kernel/time/timer.c:2445 handle_softirqs+0xb7/0x290 kernel/softirq.c:579 __do_softirq kernel/softirq.c:613 [inline] invoke_softirq kernel/softirq.c:453 [inline] __irq_exit_rcu+0x3a/0xc0 kernel/softirq.c:680 instr_sysvec_apic_timer_interrupt arch/x86/kernel/apic/apic.c:1049 [inline] sysvec_apic_timer_interrupt+0x74/0x80 arch/x86/kernel/apic/apic.c:1049 asm_sysvec_apic_timer_interrupt+0x1a/0x20 arch/x86/include/asm/idtentry.h:702 __sanitizer_cov_trace_switch+0x0/0x130 kernel/kcov.c:323 rb_reserve_next_event kernel/trace/ring_buffer.c:4537 [inline] ring_buffer_lock_reserve+0x69b/0x830 kernel/trace/ring_buffer.c:4594 __trace_buffer_lock_reserve kernel/trace/trace.c:1028 [inline] trace_event_buffer_lock_reserve+0x148/0x300 kernel/trace/trace.c:2742 trace_event_buffer_reserve+0x15c/0x1e0 kernel/trace/trace_events.c:661 do_trace_event_raw_event_bpf_trace_printk kernel/trace/bpf_trace.h:11 [inline] trace_event_raw_event_bpf_trace_printk+0x95/0x160 kernel/trace/bpf_trace.h:11 __do_trace_bpf_trace_printk kernel/trace/bpf_trace.h:11 [inline] trace_bpf_trace_printk kernel/trace/bpf_trace.h:11 [inline] ____bpf_trace_printk kernel/trace/bpf_trace.c:380 [inline] bpf_trace_printk+0x168/0x1c0 kernel/trace/bpf_trace.c:363 bpf_prog_7288d49156658ef5+0x40/0x6c bpf_dispatcher_nop_func include/linux/bpf.h:1316 [inline] __bpf_prog_run include/linux/filter.h:718 [inline] bpf_prog_run include/linux/filter.h:725 [inline] __bpf_trace_run kernel/trace/bpf_trace.c:2363 [inline] bpf_trace_run2+0x107/0x1c0 kernel/trace/bpf_trace.c:2404 __traceiter_kfree+0x2e/0x50 include/trace/events/kmem.h:94 __do_trace_kfree include/trace/events/kmem.h:94 [inline] trace_kfree include/trace/events/kmem.h:94 [inline] kfree+0x26f/0x310 mm/slub.c:4828 ___sys_recvmsg+0x135/0x370 net/socket.c:2829 do_recvmmsg+0x1ef/0x540 net/socket.c:2923 __sys_recvmmsg net/socket.c:2997 [inline] __do_sys_recvmmsg net/socket.c:3020 [inline] __se_sys_recvmmsg net/socket.c:3013 [inline] __x64_sys_recvmmsg+0xe5/0x170 net/socket.c:3013 x64_sys_call+0x1c6a/0x2fb0 arch/x86/include/generated/asm/syscalls_64.h:300 do_syscall_x64 arch/x86/entry/syscall_64.c:63 [inline] do_syscall_64+0xd0/0x1a0 arch/x86/entry/syscall_64.c:94 entry_SYSCALL_64_after_hwframe+0x77/0x7f value changed: 0x00000000 -> 0x00000001 Reported by Kernel Concurrency Sanitizer on: CPU: 1 UID: 0 PID: 4640 Comm: syz.3.312 Not tainted 6.15.0-rc6-syzkaller-00085-gc94d59a126cb #0 PREEMPT(voluntary) Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 04/19/2025 ==================================================================