syzbot


INFO: rcu detected stall in pwq_unbound_release_workfn (2)

Status: upstream: reported syz repro on 2025/05/28 17:46
Bug presence: origin:lts-only
[Documentation on labels]
Reported-by: syzbot+3779eaac5078e34be805@syzkaller.appspotmail.com
First crash: 98d, last: 1d12h
Bug presence (2)
Date Name Commit Repro Result
2025/09/03 linux-5.15.y (ToT) 01879f56bdde syz [report] INFO: rcu detected stall in corrupted
2025/09/03 upstream (ToT) e6b9dce0aeeb syz Didn't crash
Similar bugs (6)
Kernel Title Rank 🛈 Repro Cause bisect Fix bisect Count Last Reported Patched Status
upstream INFO: rcu detected stall in pwq_unbound_release_workfn kernel 1 1 1374d 1374d 0/29 closed as invalid on 2022/02/08 10:10
upstream INFO: rcu detected stall in pwq_unbound_release_workfn (2) kernel 1 1 1153d 1153d 0/29 auto-closed as invalid on 2022/09/06 17:05
linux-5.15 INFO: rcu detected stall in pwq_unbound_release_workfn 1 1 300d 300d 0/3 auto-obsoleted due to no activity on 2025/02/15 16:46
linux-6.1 INFO: rcu detected stall in pwq_unbound_release_workfn 1 1 390d 390d 0/3 auto-obsoleted due to no activity on 2024/11/17 13:02
upstream INFO: rcu detected stall in pwq_unbound_release_workfn (3) kernel 1 1 952d 952d 0/29 auto-obsoleted due to no activity on 2023/04/25 19:12
upstream INFO: rcu detected stall in pwq_unbound_release_workfn (4) kernel 1 2 786d 835d 0/29 auto-obsoleted due to no activity on 2023/10/08 15:59

Sample crash report:
rcu: INFO: rcu_preempt detected stalls on CPUs/tasks:
rcu: 	0-...!: (1 GPs behind) idle=05b/1/0x4000000000000002 softirq=7182/7183 fqs=181 
	(detected by 1, t=10502 jiffies, g=8437, q=122)
Sending NMI from CPU 1 to CPUs 0:
NMI backtrace for cpu 0
CPU: 0 PID: 4369 Comm: kworker/0:5 Not tainted syzkaller #0
Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 08/14/2025
Workqueue: events pwq_unbound_release_workfn
RIP: 0010:check_kcov_mode kernel/kcov.c:172 [inline]
RIP: 0010:write_comp_data kernel/kcov.c:227 [inline]
RIP: 0010:__sanitizer_cov_trace_const_cmp8+0x2a/0x80 kernel/kcov.c:300
Code: 48 8b 04 24 65 48 8b 0d 24 a1 8a 7e 65 8b 15 25 a1 8a 7e 81 e2 00 01 ff 00 74 11 81 fa 00 01 00 00 75 57 83 b9 34 16 00 00 00 <74> 4e 8b 91 10 16 00 00 83 fa 03 75 43 48 8b 91 18 16 00 00 44 8b
RSP: 0018:ffffc90000007010 EFLAGS: 00000046
RAX: ffffffff81010d1f RBX: ffff8880b9035178 RCX: ffff888018199dc0
RDX: 0000000000000100 RSI: 0000000000000000 RDI: 0000000000000000
RBP: 0000000000000000 R08: dffffc0000000000 R09: ffffc90000007180
R10: fffff52000000e37 R11: 1ffff92000000e30 R12: dffffc0000000000
R13: ffffc900000071e6 R14: 0000000000000000 R15: dffffc0000000000
FS:  0000000000000000(0000) GS:ffff8880b9000000(0000) knlGS:0000000000000000
CS:  0010 DS: 0000 ES: 0000 CR0: 0000000080050033
CR2: 0000000000000000 CR3: 000000001b58f000 CR4: 00000000003506f0
DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000
DR3: 0000000000000000 DR6: 00000000fffe0ff0 DR7: 0000000000000400
Call Trace:
 <IRQ>
 user_mode arch/x86/include/asm/ptrace.h:136 [inline]
 perf_misc_flags+0x13f/0x1b0 arch/x86/events/core.c:2970
 perf_prepare_sample+0x132/0x1cb0 kernel/events/core.c:7622
 __perf_event_output kernel/events/core.c:7802 [inline]
 perf_event_output_forward+0x146/0x280 kernel/events/core.c:7822
 __perf_event_overflow+0x364/0x530 kernel/events/core.c:9515
 perf_tp_event+0x32c/0xb50 kernel/events/core.c:10047
 perf_trace_run_bpf_submit+0xf3/0x1c0 kernel/events/core.c:10021
 perf_trace_preemptirq_template+0x2be/0x380 include/trace/events/preemptirq.h:14
 trace_irq_enable_rcuidle+0x108/0x180 include/trace/events/preemptirq.h:40
 trace_hardirqs_on+0x57/0x80 kernel/trace/trace_preemptirq.c:44
 asm_sysvec_irq_work+0x16/0x20 arch/x86/include/asm/idtentry.h:713
RIP: 0010:rcu_read_unlock_special+0x84/0x480 kernel/rcu/tree_plugin.h:674
Code: f1 f1 f1 00 f2 f2 f2 4a 89 04 2b 66 42 c7 44 2b 09 f3 f3 42 c6 44 2b 0b f3 65 44 8b 35 dd 13 9e 7e 41 f7 c6 00 00 f0 00 74 45 <48> c7 44 24 20 0e 36 e0 45 4a c7 04 2b 00 00 00 00 66 42 c7 44 2b
RSP: 0018:ffffc90000007780 EFLAGS: 00000206
RAX: 186c6fb277b72400 RBX: 1ffff92000000ef4 RCX: 186c6fb277b72400
RDX: dffffc0000000000 RSI: ffffffff8a0b1620 RDI: ffffffff8a59a240
RBP: ffffc90000007860 R08: dffffc0000000000 R09: fffffbfff1ff762c
R10: fffffbfff1ff762c R11: 1ffffffff1ff762b R12: ffffffff8c120900
R13: dffffc0000000000 R14: 0000000000000246 R15: 0000000000000001
 __rcu_read_unlock+0x78/0xd0 kernel/rcu/tree_plugin.h:422
 rcu_read_unlock include/linux/rcupdate.h:771 [inline]
 __ip_queue_xmit+0x1244/0x1c00 net/ipv4/ip_output.c:533
 __tcp_transmit_skb+0x1ced/0x31c0 net/ipv4/tcp_output.c:1404
 tcp_delack_timer_handler+0x32e/0x730 net/ipv4/tcp_timer.c:314
 tcp_delack_timer+0x188/0x2e0 net/ipv4/tcp_timer.c:341
 call_timer_fn+0x16c/0x530 kernel/time/timer.c:1451
 expire_timers kernel/time/timer.c:1496 [inline]
 __run_timers+0x525/0x7c0 kernel/time/timer.c:1767
 run_timer_softirq+0x63/0xf0 kernel/time/timer.c:1780
 handle_softirqs+0x328/0x820 kernel/softirq.c:576
 __do_softirq kernel/softirq.c:610 [inline]
 invoke_softirq kernel/softirq.c:450 [inline]
 __irq_exit_rcu+0x12f/0x220 kernel/softirq.c:659
 irq_exit_rcu+0x5/0x20 kernel/softirq.c:671
 instr_sysvec_apic_timer_interrupt arch/x86/kernel/apic/apic.c:1108 [inline]
 sysvec_apic_timer_interrupt+0xa0/0xc0 arch/x86/kernel/apic/apic.c:1108
 </IRQ>
 <TASK>
 asm_sysvec_apic_timer_interrupt+0x16/0x20 arch/x86/include/asm/idtentry.h:676
RIP: 0010:preempt_schedule_irq+0xac/0x150 kernel/sched/core.c:6799
Code: 44 24 20 f6 44 24 21 02 74 0b 0f 0b 48 f7 03 08 00 00 00 74 70 bf 01 00 00 00 e8 ff 37 a0 f7 e8 aa b0 cc f7 fb bf 01 00 00 00 <e8> ef b5 ff ff 48 c7 44 24 40 00 00 00 00 9c 8f 44 24 40 8b 44 24
RSP: 0018:ffffc9000471f9c0 EFLAGS: 00000282
RAX: 186c6fb277b72400 RBX: 0000000000000000 RCX: 186c6fb277b72400
RDX: dffffc0000000000 RSI: ffffffff8a0b1620 RDI: 0000000000000001
RBP: ffffc9000471fa60 R08: dffffc0000000000 R09: fffffbfff1ff761e
R10: fffffbfff1ff761e R11: 1ffffffff1ff761d R12: 0000000000000000
R13: 0000000000000000 R14: dffffc0000000000 R15: 1ffff920008e3f38
 irqentry_exit+0x63/0x70 kernel/entry/common.c:432
 asm_sysvec_reschedule_ipi+0x16/0x20 arch/x86/include/asm/idtentry.h:681
RIP: 0010:lockdep_unregister_key+0x4ae/0x500 kernel/locking/lockdep.c:6334
Code: 48 3b 84 24 80 00 00 00 75 39 48 8d 65 d8 5b 41 5c 41 5d 41 5e 41 5f 5d c3 e8 be 4f 4c 08 41 f7 c4 00 02 00 00 74 8b fb 84 db <75> 8a eb 9b 0f 0b e9 58 ff ff ff 0f 0b e9 c4 fe ff ff 0f 0b e9 11
RSP: 0018:ffffc9000471fb20 EFLAGS: 00000246
RAX: 186c6fb277b72400 RBX: 0000000000000000 RCX: 186c6fb277b72400
RDX: 0000000000000001 RSI: ffffffff8a0b2420 RDI: ffffffff8a59a240
RBP: ffffc9000471fbf0 R08: dffffc0000000000 R09: fffffbfff1ff175f
R10: fffffbfff1ff175f R11: 1ffffffff1ff175e R12: 0000000000000a06
R13: ffff88805e74d129 R14: ffffffff8ff8b028 R15: 1ffff920008e3f68
 wq_unregister_lockdep kernel/workqueue.c:3518 [inline]
 pwq_unbound_release_workfn+0x262/0x2b0 kernel/workqueue.c:3756
 process_one_work+0x863/0x1000 kernel/workqueue.c:2310
 worker_thread+0xaa8/0x12a0 kernel/workqueue.c:2457
 kthread+0x436/0x520 kernel/kthread.c:334
 ret_from_fork+0x1f/0x30 arch/x86/entry/entry_64.S:287
 </TASK>
rcu: rcu_preempt kthread timer wakeup didn't happen for 10139 jiffies! g8437 f0x0 RCU_GP_WAIT_FQS(5) ->state=0x402
rcu: 	Possible timer handling issue on cpu=1 timer-softirq=4943
rcu: rcu_preempt kthread starved for 10140 jiffies! g8437 f0x0 RCU_GP_WAIT_FQS(5) ->state=0x402 ->cpu=1
rcu: 	Unless rcu_preempt kthread gets sufficient CPU time, OOM is now expected behavior.
rcu: RCU grace-period kthread stack dump:
task:rcu_preempt     state:I stack:27104 pid:   15 ppid:     2 flags:0x00004000
Call Trace:
 <TASK>
 context_switch kernel/sched/core.c:5049 [inline]
 __schedule+0x11bb/0x4390 kernel/sched/core.c:6395
 schedule+0x11b/0x1e0 kernel/sched/core.c:6478
 schedule_timeout+0x15c/0x280 kernel/time/timer.c:1914
 rcu_gp_fqs_loop+0x29e/0x11b0 kernel/rcu/tree.c:1972
 rcu_gp_kthread+0x98/0x350 kernel/rcu/tree.c:2145
 kthread+0x436/0x520 kernel/kthread.c:334
 ret_from_fork+0x1f/0x30 arch/x86/entry/entry_64.S:287
 </TASK>
rcu: Stack dump where RCU GP kthread last ran:
NMI backtrace for cpu 1
CPU: 1 PID: 0 Comm: swapper/1 Not tainted syzkaller #0
Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 08/14/2025
Call Trace:
 <IRQ>
 dump_stack_lvl+0x168/0x230 lib/dump_stack.c:106
 nmi_cpu_backtrace+0x397/0x3d0 lib/nmi_backtrace.c:111
 nmi_trigger_cpumask_backtrace+0x163/0x280 lib/nmi_backtrace.c:62
 trigger_single_cpu_backtrace include/linux/nmi.h:166 [inline]
 rcu_check_gp_kthread_starvation+0x1cd/0x250 kernel/rcu/tree_stall.h:487
 print_other_cpu_stall+0x10c8/0x1220 kernel/rcu/tree_stall.h:592
 check_cpu_stall kernel/rcu/tree_stall.h:745 [inline]
 rcu_pending kernel/rcu/tree.c:3936 [inline]
 rcu_sched_clock_irq+0x831/0x1110 kernel/rcu/tree.c:2619
 update_process_times+0x193/0x200 kernel/time/timer.c:1818
 tick_sched_handle kernel/time/tick-sched.c:254 [inline]
 tick_sched_timer+0x37d/0x560 kernel/time/tick-sched.c:1473
 __run_hrtimer kernel/time/hrtimer.c:1690 [inline]
 __hrtimer_run_queues+0x4fe/0xc40 kernel/time/hrtimer.c:1754
 hrtimer_interrupt+0x3bb/0x8d0 kernel/time/hrtimer.c:1816
 local_apic_timer_interrupt arch/x86/kernel/apic/apic.c:1097 [inline]
 __sysvec_apic_timer_interrupt+0x137/0x4a0 arch/x86/kernel/apic/apic.c:1114
 instr_sysvec_apic_timer_interrupt arch/x86/kernel/apic/apic.c:1108 [inline]
 sysvec_apic_timer_interrupt+0x4d/0xc0 arch/x86/kernel/apic/apic.c:1108
 asm_sysvec_apic_timer_interrupt+0x16/0x20 arch/x86/include/asm/idtentry.h:676
RIP: 0010:native_safe_halt arch/x86/include/asm/irqflags.h:51 [inline]
RIP: 0010:arch_safe_halt arch/x86/include/asm/irqflags.h:89 [inline]
RIP: 0010:kvm_wait+0x141/0x190 arch/x86/kernel/kvm.c:918
Code: 89 df 48 89 f8 48 c1 e8 03 42 0f b6 04 30 84 c0 75 47 0f b6 1f e8 0f e1 49 00 44 38 e3 75 10 66 90 0f 00 2d e1 63 d4 08 fb f4 <e9> 33 ff ff ff fb e9 2d ff ff ff e8 df e5 74 08 89 f9 80 e1 07 38
RSP: 0018:ffffc90000dd08a0 EFLAGS: 00000246
RAX: 62805447a2e73500 RBX: 0000000000000003 RCX: 62805447a2e73500
RDX: dffffc0000000000 RSI: ffffffff8a0b1620 RDI: ffffffff8a59a240
RBP: ffffc90000dd0950 R08: dffffc0000000000 R09: fffffbfff1ff762c
R10: fffffbfff1ff762c R11: 1ffffffff1ff762b R12: 0000000000000003
R13: ffff8880b913b114 R14: dffffc0000000000 R15: 1ffff920001ba114
 pv_wait arch/x86/include/asm/paravirt.h:597 [inline]
 pv_wait_head_or_lock kernel/locking/qspinlock_paravirt.h:470 [inline]
 __pv_queued_spin_lock_slowpath+0x60f/0x9c0 kernel/locking/qspinlock.c:508
 pv_queued_spin_lock_slowpath arch/x86/include/asm/paravirt.h:585 [inline]
 queued_spin_lock_slowpath+0x43/0x50 arch/x86/include/asm/qspinlock.h:51
 queued_spin_lock include/asm-generic/qspinlock.h:85 [inline]
 do_raw_spin_lock+0x217/0x280 kernel/locking/spinlock_debug.c:115
 spin_lock include/linux/spinlock.h:363 [inline]
 tcp_keepalive_timer+0x2f/0xe30 net/ipv4/tcp_timer.c:714
 call_timer_fn+0x16c/0x530 kernel/time/timer.c:1451
 expire_timers kernel/time/timer.c:1496 [inline]
 __run_timers+0x525/0x7c0 kernel/time/timer.c:1767
 run_timer_softirq+0x63/0xf0 kernel/time/timer.c:1780
 handle_softirqs+0x328/0x820 kernel/softirq.c:576
 __do_softirq kernel/softirq.c:610 [inline]
 invoke_softirq kernel/softirq.c:450 [inline]
 __irq_exit_rcu+0x12f/0x220 kernel/softirq.c:659
 irq_exit_rcu+0x5/0x20 kernel/softirq.c:671
 instr_sysvec_apic_timer_interrupt arch/x86/kernel/apic/apic.c:1108 [inline]
 sysvec_apic_timer_interrupt+0xa0/0xc0 arch/x86/kernel/apic/apic.c:1108
 </IRQ>
 <TASK>
 asm_sysvec_apic_timer_interrupt+0x16/0x20 arch/x86/include/asm/idtentry.h:676
RIP: 0010:default_idle+0xb/0x10 arch/x86/kernel/process.c:730
Code: bf 48 89 df e8 b6 f3 09 f8 eb b5 e8 3f b0 f6 ff 00 00 cc cc 00 00 cc cc 00 00 cc cc 00 00 cc 66 90 0f 00 2d 77 84 53 00 fb f4 <c3> 0f 1f 40 00 41 57 41 56 53 49 be 00 00 00 00 00 fc ff df 65 48
RSP: 0018:ffffc90000d67d48 EFLAGS: 000002c2
RAX: 62805447a2e73500 RBX: ffff88813fe28000 RCX: 62805447a2e73500
RDX: 0000000000000001 RSI: ffffffff8a0b1620 RDI: ffffffff8a59a240
RBP: ffffc90000d67e80 R08: dffffc0000000000 R09: ffffed101722765a
R10: ffffed101722765a R11: 1ffff11017227659 R12: ffffffff8d698ca8
R13: 0000000000000001 R14: 0000000000000001 R15: 1ffff11027fc5000
 default_idle_call+0x81/0xc0 kernel/sched/idle.c:112
 cpuidle_idle_call kernel/sched/idle.c:194 [inline]
 do_idle+0x21b/0x5b0 kernel/sched/idle.c:306
 cpu_startup_entry+0x14/0x20 kernel/sched/idle.c:403
 start_secondary+0x31f/0x430 arch/x86/kernel/smpboot.c:281
 secondary_startup_64_no_verify+0xb1/0xbb
 </TASK>

Crashes (2):
Time Kernel Commit Syzkaller Config Log Report Syz repro C repro VM info Assets (help?) Manager Title
2025/09/02 08:33 linux-5.15.y 01879f56bdde 807a3b61 .config console log report syz / log [disk image] [vmlinux] [kernel image] ci2-linux-5-15-kasan-perf INFO: rcu detected stall in pwq_unbound_release_workfn
2025/05/28 17:45 linux-5.15.y 98f47d0e9b8c 3d2f584d .config console log report info [disk image] [vmlinux] [kernel image] ci2-linux-5-15-kasan INFO: rcu detected stall in pwq_unbound_release_workfn
* Struck through repros no longer work on HEAD.