================================================================== BUG: KCSAN: data-race in kick_pool / wq_worker_running read-write to 0xffff888237c299e4 of 4 bytes by task 14235 on cpu 0: wq_worker_running+0x95/0x120 kernel/workqueue.c:1400 schedule_timeout+0xb7/0x170 kernel/time/sleep_timeout.c:99 schedule_timeout_uninterruptible kernel/time/sleep_timeout.c:158 [inline] msleep+0x50/0x90 kernel/time/sleep_timeout.c:318 nsim_fib4_rt_add drivers/net/netdevsim/fib.c:369 [inline] nsim_fib4_rt_insert drivers/net/netdevsim/fib.c:432 [inline] nsim_fib4_event drivers/net/netdevsim/fib.c:464 [inline] nsim_fib_event drivers/net/netdevsim/fib.c:884 [inline] nsim_fib_event_work+0x14a2/0x21a0 drivers/net/netdevsim/fib.c:1493 process_one_work kernel/workqueue.c:3238 [inline] process_scheduled_works+0x4cb/0x9d0 kernel/workqueue.c:3319 worker_thread+0x582/0x770 kernel/workqueue.c:3400 kthread+0x486/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 kcsan_setup_watchpoint+0x415/0x430 kernel/kcsan/core.c:705 __tlb_remove_folio_pages_size mm/mmu_gather.c:195 [inline] __tlb_remove_folio_pages+0x89/0x220 mm/mmu_gather.c:208 zap_present_folio_ptes mm/memory.c:1530 [inline] zap_present_ptes mm/memory.c:1586 [inline] do_zap_pte_range mm/memory.c:1687 [inline] zap_pte_range mm/memory.c:1731 [inline] zap_pmd_range mm/memory.c:1823 [inline] zap_pud_range mm/memory.c:1852 [inline] zap_p4d_range mm/memory.c:1873 [inline] unmap_page_range+0xec0/0x27b0 mm/memory.c:1894 unmap_single_vma+0x138/0x1d0 mm/memory.c:1940 unmap_vmas+0x18a/0x2b0 mm/memory.c:1984 exit_mmap+0x1b0/0x6c0 mm/mmap.c:1284 __mmput+0x28/0x1c0 kernel/fork.c:1379 mmput+0x40/0x50 kernel/fork.c:1401 exit_mm+0xe4/0x190 kernel/exit.c:589 do_exit+0x55f/0x17c0 kernel/exit.c:940 do_group_exit+0xff/0x140 kernel/exit.c:1102 get_signal+0xe59/0xf70 kernel/signal.c:3034 arch_do_signal_or_restart+0x97/0x480 arch/x86/kernel/signal.c:337 exit_to_user_mode_loop kernel/entry/common.c:111 [inline] exit_to_user_mode_prepare include/linux/entry-common.h:329 [inline] __syscall_exit_to_user_mode_work kernel/entry/common.c:207 [inline] syscall_exit_to_user_mode+0x68/0xb0 kernel/entry/common.c:218 do_syscall_64+0xdd/0x1a0 arch/x86/entry/syscall_64.c:100 entry_SYSCALL_64_after_hwframe+0x77/0x7f value changed: 0x00000000 -> 0x00000001 Reported by Kernel Concurrency Sanitizer on: CPU: 1 UID: 0 PID: 15785 Comm: syz.9.4255 Not tainted 6.15.0-rc4-syzkaller-00021-gca91b9500108 #0 PREEMPT(voluntary) Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 04/19/2025 ==================================================================