KCSAN: data-race in kick_pool_pick / wq_worker_running

Status: moderation: reported on 2026/08/20 22:04
Subsystems: kernel
Labels: race:benign prio:low
[Documentation on labels]
Reported-by: syzbot+8922e6b8343f70be92e8@syzkaller.appspotmail.com
First crash: 2d05h, last: 22h31m
✨ AI Jobs (2)
ID Workflow Result Correct Bug Created Started Finished Revision
80dde489 assessment-security DenialOfService: ❌ Exploitable: ❌ FilesystemTrigger: ❌ NetworkTrigger: ❌ PeripheralTrigger: ❌ RemoteTrigger: ❌ Unprivileged: ❌ UserNamespace: ❌ VMGuestTrigger: ❌ VMHostTrigger: ❌ KCSAN: data-race in kick_pool_pick / wq_worker_running 2026/08/22 00:00 2026/08/22 00:00 2026/08/22 00:14 1e72964b
c85495d2 assessment-kcsan Benign: ✅ KCSAN: data-race in kick_pool_pick / wq_worker_running 2026/08/20 22:03 2026/08/20 22:04 2026/08/20 22:27 1e72964b

Sample crash report:
==================================================================
BUG: KCSAN: data-race in kick_pool_pick / wq_worker_running

read-write to 0xffff888237d2abe4 of 4 bytes by task 3374 on cpu 1:
 wq_worker_running+0x9c/0x120 kernel/workqueue.c:1465
 exp_funnel_lock kernel/rcu/tree_exp.h:334 [inline]
 synchronize_rcu_expedited+0x67c/0x770 kernel/rcu/tree_exp.h:964
 srcu_readers_active_idx_check kernel/rcu/srcutree.c:537 [inline]
 try_check_zero+0x189/0x260 kernel/rcu/srcutree.c:1154
 srcu_advance_state kernel/rcu/srcutree.c:1864 [inline]
 process_srcu+0x1ea/0xd90 kernel/rcu/srcutree.c:1973
 process_one_work kernel/workqueue.c:3387 [inline]
 process_scheduled_works+0x56a/0xa50 kernel/workqueue.c:3470
 worker_thread+0x569/0x750 kernel/workqueue.c:3551
 kthread+0x223/0x270 kernel/kthread.c:436
 ret_from_fork+0x146/0x330 arch/x86/kernel/process.c:158
 ret_from_fork_asm+0x1a/0x30 arch/x86/entry/entry_64.S:245

read to 0xffff888237d2abe4 of 4 bytes by task 18774 on cpu 0:
 need_more_worker kernel/workqueue.c:954 [inline]
 kick_pool_pick+0x5f/0x310 kernel/workqueue.c:1284
 __queue_work+0x90a/0xbc0 kernel/workqueue.c:2449
 queue_work_on+0xa9/0x140 kernel/workqueue.c:2501
 queue_work include/linux/workqueue.h:699 [inline]
 schedule_work include/linux/workqueue.h:760 [inline]
 put_ipc_ns+0x16b/0x200 ipc/namespace.c:210
 nsproxy_free+0xc2/0x3a0 kernel/nsproxy.c:68
 deactivate_nsproxy kernel/nsproxy.c:80 [inline]
 put_nsproxy include/linux/nsproxy.h:110 [inline]
 switch_task_namespaces+0x9a/0xe0 kernel/nsproxy.c:260
 exit_nsproxy_namespaces+0x17/0x20 kernel/nsproxy.c:265
 do_exit+0x49f/0x1510 kernel/exit.c:1007
 do_group_exit+0xfe/0x140 kernel/exit.c:1151
 get_signal+0xe07/0xf10 kernel/signal.c:3046
 arch_do_signal_or_restart+0x96/0x480 arch/x86/kernel/signal.c:337
 __exit_to_user_mode_loop kernel/entry/common.c:66 [inline]
 exit_to_user_mode_loop+0x15d/0x8c0 kernel/entry/common.c:101
 __exit_to_user_mode_prepare include/linux/irq-entry-common.h:207 [inline]
 syscall_exit_to_user_mode_prepare include/linux/irq-entry-common.h:230 [inline]
 syscall_exit_to_user_mode include/linux/entry-common.h:336 [inline]
 do_syscall_64+0x212/0x360 arch/x86/entry/syscall_64.c:89
 entry_SYSCALL_64_after_hwframe+0x77/0x7f

value changed: 0x00000000 -> 0x00000001

Reported by Kernel Concurrency Sanitizer on:
CPU: 0 UID: 0 PID: 18774 Comm: syz.2.1864 Tainted: G        W           syzkaller #0 PREEMPT(lazy) 
Tainted: [W]=WARN
Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 07/24/2026
==================================================================

Crashes (2):
Time Kernel Commit Syzkaller Config Log Report Syz repro C repro VM info Assets (help?) Manager Title
2026/08/22 04:38 upstream 26260251022f 1e72964b .config console log report info [disk image] [vmlinux] [kernel image] ci2-upstream-kcsan-gce KCSAN: data-race in kick_pool_pick / wq_worker_running
2026/08/20 22:03 upstream cf62c7084acf 1e72964b .config console log report info [disk image] [vmlinux] [kernel image] ci2-upstream-kcsan-gce KCSAN: data-race in kick_pool_pick / wq_worker_running
* Struck through repros no longer work on HEAD.