[v5.15] INFO: rcu detected stall in wg_ratelimiter_gc_entries (2)

0 views
Skip to first unread message

syzbot

unread,
Oct 29, 2025, 9:45:28 AM (5 days ago) Oct 29
to syzkaller...@googlegroups.com
Hello,

syzbot found the following issue on:

HEAD commit: ac56c046adf4 Linux 5.15.195
git tree: linux-5.15.y
console output: https://syzkaller.appspot.com/x/log.txt?x=15079f34580000
kernel config: https://syzkaller.appspot.com/x/.config?x=e1bb6d24ef2164eb
dashboard link: https://syzkaller.appspot.com/bug?extid=570961f0b265983ab31c
compiler: Debian clang version 20.1.8 (++20250708063551+0c9f909b7976-1~exp1~20250708183702.136), Debian LLD 20.1.8

Unfortunately, I don't have any reproducer for this issue yet.

Downloadable assets:
disk image: https://storage.googleapis.com/syzbot-assets/098286e78a2b/disk-ac56c046.raw.xz
vmlinux: https://storage.googleapis.com/syzbot-assets/34cbdaabbc45/vmlinux-ac56c046.xz
kernel image: https://storage.googleapis.com/syzbot-assets/ac636b4df380/bzImage-ac56c046.xz

IMPORTANT: if you fix the issue, please add the following tag to the commit:
Reported-by: syzbot+570961...@syzkaller.appspotmail.com

rcu: INFO: rcu_preempt detected stalls on CPUs/tasks:
rcu: 0-...!: (0 ticks this GP) idle=1a1/1/0x4000000000000002 softirq=16182/16182 fqs=0
(detected by 1, t=10506 jiffies, g=22225, q=2597)
Sending NMI from CPU 1 to CPUs 0:
NMI backtrace for cpu 0
CPU: 0 PID: 4233 Comm: kworker/0:4 Not tainted syzkaller #0
Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 10/02/2025
Workqueue: events_power_efficient wg_ratelimiter_gc_entries
RIP: 0010:check_preemption_disabled+0x42/0x110 lib/smp_processor_id.c:55
Code: 65 8b 05 49 b7 58 76 65 8b 0d b2 11 59 76 f7 c1 ff ff ff 7f 74 1f 65 48 8b 0c 25 28 00 00 00 48 3b 4c 24 08 0f 85 c4 00 00 00 <48> 83 c4 10 5b 41 5e 41 5f 5d c3 48 c7 04 24 00 00 00 00 9c 8f 04
RSP: 0018:ffffc90000007308 EFLAGS: 00000046
RAX: 0000000000000000 RBX: 9be2421a50ef4013 RCX: 514930a840f0ee00
RDX: 0000000000000003 RSI: ffffffff8a0b2b40 RDI: ffffffff8a59a880
RBP: ffffc90000007450 R08: dffffc0000000000 R09: fffffbfff1ad334e
R10: fffffbfff1ad334e R11: 1ffffffff1ad334d R12: ffff888021f62928
R13: dffffc0000000000 R14: ffff888021f628a0 R15: 1ffff92000000e74
FS: 0000000000000000(0000) GS:ffff8880b9000000(0000) knlGS:0000000000000000
CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033
CR2: 0000000000000000 CR3: 0000000049985000 CR4: 00000000003506f0
DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000
DR3: 0000000000000000 DR6: 00000000ffff0ff0 DR7: 0000000000000600
Call Trace:
<IRQ>
lockdep_recursion_finish kernel/locking/lockdep.c:436 [inline]
lock_release+0x540/0x870 kernel/locking/lockdep.c:5645
rcu_read_unlock include/linux/rcupdate.h:773 [inline]
__perf_event_output kernel/events/core.c:7813 [inline]
perf_event_output_forward+0x222/0x280 kernel/events/core.c:7822
__perf_event_overflow+0x364/0x530 kernel/events/core.c:9515
perf_swevent_overflow kernel/events/core.c:9591 [inline]
perf_swevent_event+0x4ad/0x530 kernel/events/core.c:9629
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 6d 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:ffffc90000007b00 EFLAGS: 00000206
RAX: 514930a840f0ee00 RBX: 1ffff92000000f64 RCX: 514930a840f0ee00
RDX: dffffc0000000000 RSI: ffffffff8a0b18a0 RDI: ffffffff8a59a880
RBP: ffffc90000007be0 R08: dffffc0000000000 R09: fffffbfff1ff7a37
R10: fffffbfff1ff7a37 R11: 1ffffffff1ff7a36 R12: ffffffff8c120c00
R13: dffffc0000000000 R14: 0000000000000246 R15: 0000000000000001
__rcu_read_unlock+0x78/0xd0 kernel/rcu/tree_plugin.h:422
rcu_read_unlock include/linux/rcupdate.h:772 [inline]
ieee80211_rx_napi+0x1f4/0x360 net/mac80211/rx.c:5010
ieee80211_rx include/net/mac80211.h:4573 [inline]
ieee80211_handle_queued_frames+0x105/0x1b0 net/mac80211/main.c:237
tasklet_action_common+0x298/0x400 kernel/softirq.c:806
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:strlen+0x2e/0x60 lib/string.c:581
Code: 41 54 53 48 c7 c0 ff ff ff ff 49 be 00 00 00 00 00 fc ff df 48 89 fb 49 89 c7 48 89 d8 48 c1 e8 03 42 0f b6 04 30 84 c0 75 11 <48> ff c3 49 8d 47 01 42 80 7c 3f 01 00 75 de eb 19 89 d9 80 e1 07
RSP: 0018:ffffc900031af958 EFLAGS: 00000246
RAX: 0000000000000000 RBX: ffffffff8a8c702d RCX: 0000000000000000
RDX: 0000000000000000 RSI: ffffffff8ca605b8 RDI: ffffffff8a8c7020
RBP: ffffc900031afa80 R08: 0000000000000000 R09: 0000000000000001
R10: fffffbfff1ad334e R11: 1ffffffff1ad334d R12: dffffc0000000000
R13: 1ffff92000635f60 R14: dffffc0000000000 R15: 000000000000000c
trace_event_get_offsets_lock_acquire include/trace/events/lock.h:13 [inline]
perf_trace_lock_acquire+0xb9/0x3c0 include/trace/events/lock.h:13
trace_lock_acquire include/trace/events/lock.h:13 [inline]
lock_acquire+0x3c6/0x3f0 kernel/locking/lockdep.c:5594
__raw_spin_lock include/linux/spinlock_api_smp.h:142 [inline]
_raw_spin_lock+0x2a/0x40 kernel/locking/spinlock.c:154
spin_lock include/linux/spinlock.h:364 [inline]
wg_ratelimiter_gc_entries+0x59/0x450 drivers/net/wireguard/ratelimiter.c:63
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 10505 jiffies! g22225 f0x0 RCU_GP_WAIT_FQS(5) ->state=0x402
rcu: Possible timer handling issue on cpu=0 timer-softirq=11863
rcu: rcu_preempt kthread starved for 10506 jiffies! g22225 f0x0 RCU_GP_WAIT_FQS(5) ->state=0x402 ->cpu=0
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:27904 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:
Sending NMI from CPU 1 to CPUs 0:
NMI backtrace for cpu 0
CPU: 0 PID: 4233 Comm: kworker/0:4 Not tainted syzkaller #0
Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 10/02/2025
Workqueue: events_power_efficient wg_ratelimiter_gc_entries
RIP: 0010:check_kcov_mode kernel/kcov.c:172 [inline]
RIP: 0010:__sanitizer_cov_trace_pc+0x2a/0x60 kernel/kcov.c:206
Code: 48 8b 04 24 65 48 8b 0d 24 a5 8a 7e 65 8b 15 25 a5 8a 7e 81 e2 00 01 ff 00 74 11 81 fa 00 01 00 00 75 35 83 b9 34 16 00 00 00 <74> 2c 8b 91 10 16 00 00 83 fa 02 75 21 48 8b 91 18 16 00 00 48 8b
RSP: 0018:ffffc900000072d0 EFLAGS: 00000046
RAX: ffffffff8183901a RBX: ffff8880b903b1f0 RCX: ffff888021f61dc0
RDX: 0000000000000100 RSI: 0000000000000000 RDI: 0000000000000008
RBP: 0000000000000000 R08: dffffc0000000000 R09: ffffed1017207640
R10: ffffed1017207640 R11: 1ffff1101720763f R12: 0000000000000000
R13: dffffc0000000001 R14: 0000000000000000 R15: dffffc0000000000
FS: 0000000000000000(0000) GS:ffff8880b9000000(0000) knlGS:0000000000000000
CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033
CR2: 0000000000000000 CR3: 0000000049985000 CR4: 00000000003506f0
DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000
DR3: 0000000000000000 DR6: 00000000ffff0ff0 DR7: 0000000000000600
Call Trace:
<IRQ>
__irq_work_queue_local+0x7a/0x190 kernel/irq_work.c:61
irq_work_queue_on+0x11e/0x220 kernel/irq_work.c:109
rcu_read_unlock_special+0x379/0x480 kernel/rcu/tree_plugin.h:667
__rcu_read_unlock+0x78/0xd0 kernel/rcu/tree_plugin.h:422
rcu_read_unlock include/linux/rcupdate.h:772 [inline]
__perf_event_output kernel/events/core.c:7813 [inline]
perf_event_output_forward+0x216/0x280 kernel/events/core.c:7822
__perf_event_overflow+0x364/0x530 kernel/events/core.c:9515
perf_swevent_overflow kernel/events/core.c:9591 [inline]
perf_swevent_event+0x4ad/0x530 kernel/events/core.c:9629
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 6d 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:ffffc90000007b00 EFLAGS: 00000206
RAX: 514930a840f0ee00 RBX: 1ffff92000000f64 RCX: 514930a840f0ee00
RDX: dffffc0000000000 RSI: ffffffff8a0b18a0 RDI: ffffffff8a59a880
RBP: ffffc90000007be0 R08: dffffc0000000000 R09: fffffbfff1ff7a37
R10: fffffbfff1ff7a37 R11: 1ffffffff1ff7a36 R12: ffffffff8c120c00
R13: dffffc0000000000 R14: 0000000000000246 R15: 0000000000000001
__rcu_read_unlock+0x78/0xd0 kernel/rcu/tree_plugin.h:422
rcu_read_unlock include/linux/rcupdate.h:772 [inline]
ieee80211_rx_napi+0x1f4/0x360 net/mac80211/rx.c:5010
ieee80211_rx include/net/mac80211.h:4573 [inline]
ieee80211_handle_queued_frames+0x105/0x1b0 net/mac80211/main.c:237
tasklet_action_common+0x298/0x400 kernel/softirq.c:806
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:strlen+0x2e/0x60 lib/string.c:581
Code: 41 54 53 48 c7 c0 ff ff ff ff 49 be 00 00 00 00 00 fc ff df 48 89 fb 49 89 c7 48 89 d8 48 c1 e8 03 42 0f b6 04 30 84 c0 75 11 <48> ff c3 49 8d 47 01 42 80 7c 3f 01 00 75 de eb 19 89 d9 80 e1 07
RSP: 0018:ffffc900031af958 EFLAGS: 00000246
RAX: 0000000000000000 RBX: ffffffff8a8c702d RCX: 0000000000000000
RDX: 0000000000000000 RSI: ffffffff8ca605b8 RDI: ffffffff8a8c7020
RBP: ffffc900031afa80 R08: 0000000000000000 R09: 0000000000000001
R10: fffffbfff1ad334e R11: 1ffffffff1ad334d R12: dffffc0000000000
R13: 1ffff92000635f60 R14: dffffc0000000000 R15: 000000000000000c
trace_event_get_offsets_lock_acquire include/trace/events/lock.h:13 [inline]
perf_trace_lock_acquire+0xb9/0x3c0 include/trace/events/lock.h:13
trace_lock_acquire include/trace/events/lock.h:13 [inline]
lock_acquire+0x3c6/0x3f0 kernel/locking/lockdep.c:5594
__raw_spin_lock include/linux/spinlock_api_smp.h:142 [inline]
_raw_spin_lock+0x2a/0x40 kernel/locking/spinlock.c:154
spin_lock include/linux/spinlock.h:364 [inline]
wg_ratelimiter_gc_entries+0x59/0x450 drivers/net/wireguard/ratelimiter.c:63
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>


---
This report is generated by a bot. It may contain errors.
See https://goo.gl/tpsmEJ for more information about syzbot.
syzbot engineers can be reached at syzk...@googlegroups.com.

syzbot will keep track of this issue. See:
https://goo.gl/tpsmEJ#status for how to communicate with syzbot.

If the report is already addressed, let syzbot know by replying with:
#syz fix: exact-commit-title

If you want to overwrite report's subsystems, reply with:
#syz set subsystems: new-subsystem
(See the list of subsystem names on the web dashboard)

If the report is a duplicate of another one, reply with:
#syz dup: exact-subject-of-another-report

If you want to undo deduplication, reply with:
#syz undup
Reply all
Reply to author
Forward
0 new messages