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

0 views
Skip to first unread message

syzbot

unread,
May 10, 2026, 3:55:27 PM (3 days ago) May 10
to syzkaller...@googlegroups.com
Hello,

syzbot found the following issue on:

HEAD commit: de8dfb3f0278 Linux 5.15.206
git tree: linux-5.15.y
console output: https://syzkaller.appspot.com/x/log.txt?x=17469636580000
kernel config: https://syzkaller.appspot.com/x/.config?x=353ae28c40b35af5
dashboard link: https://syzkaller.appspot.com/bug?extid=62be84fc1c3e2ec694cd
compiler: Debian clang version 21.1.8 (++20251221033036+2078da43e25a-1~exp1~20251221153213.50), Debian LLD 21.1.8

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

Downloadable assets:
disk image: https://storage.googleapis.com/syzbot-assets/63cca9d359d4/disk-de8dfb3f.raw.xz
vmlinux: https://storage.googleapis.com/syzbot-assets/62d730f8b5f0/vmlinux-de8dfb3f.xz
kernel image: https://storage.googleapis.com/syzbot-assets/26b3a87c5b91/bzImage-de8dfb3f.xz

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

rcu: INFO: rcu_preempt detected stalls on CPUs/tasks:
rcu: 0-...!: (0 ticks this GP) idle=1a9/1/0x4000000000000000 softirq=9637/9637 fqs=0
(detected by 1, t=10506 jiffies, g=10985, q=3491)
Sending NMI from CPU 1 to CPUs 0:
NMI backtrace for cpu 0
CPU: 0 PID: 4230 Comm: kworker/0:5 Not tainted syzkaller #0
Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 04/18/2026
Workqueue: events free_work
RIP: 0010:get_current arch/x86/include/asm/current.h:15 [inline]
RIP: 0010:__sanitizer_cov_trace_pc+0x4/0x60 kernel/kcov.c:205
Code: 84 00 00 00 00 00 53 48 89 fb e8 17 00 00 00 48 8b 3d d0 bd 10 0c 48 89 de 5b e9 27 55 44 00 00 00 cc cc 00 00 cc 48 8b 04 24 <65> 48 8b 0d 24 3b 89 7e 65 8b 15 25 3b 89 7e 81 e2 00 01 ff 00 74
RSP: 0018:ffffc900000078c8 EFLAGS: 00000046
RAX: ffffffff81988ba6 RBX: 0000000000000001 RCX: ffff888027b08000
RDX: 0000000000000100 RSI: 0000000000000000 RDI: 0000000000000000
RBP: 0000000000000000 R08: ffff8880b903b30b R09: 1ffff11017207661
R10: dffffc0000000000 R11: ffffed1017207662 R12: 1ffff11017206a21
R13: dffffc0000000000 R14: ffff8880b9035108 R15: dffffc0000000000
FS: 0000000000000000(0000) GS:ffff8880b9000000(0000) knlGS:0000000000000000
CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033
CR2: 00007fb79a9b9a08 CR3: 000000000c08e000 CR4: 00000000003506f0
DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000
DR3: 0000000000000000 DR6: 00000000ffff0ff0 DR7: 0000000000000600
Call Trace:
<IRQ>
get_recursion_context kernel/events/internal.h:219 [inline]
perf_swevent_get_recursion_context+0xe6/0x150 kernel/events/core.c:9744
perf_trace_buf_alloc+0x54/0x300 kernel/trace/trace_event_perf.c:414
perf_trace_preemptirq_template+0x180/0x360 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+0x7f/0x4a0 kernel/rcu/tree_plugin.h:674
Code: eb 03 48 b8 f1 f1 f1 f1 f8 f2 f2 f2 4a 89 04 2b 42 c7 44 2b 08 f8 f3 f3 f3 65 44 8b 35 32 e1 9c 7e 41 f7 c6 00 00 f0 00 74 40 <48> c7 44 24 20 0e 36 e0 45 4a c7 04 2b 00 00 00 00 42 c7 44 2b 08
RSP: 0018:ffffc90000007b00 EFLAGS: 00000206
RAX: c879a3414550a500 RBX: 1ffff92000000f64 RCX: c879a3414550a500
RDX: dffffc0000000000 RSI: ffffffff8a2b2800 RDI: ffffffff8a79fe00
RBP: ffffc90000007bd8 R08: ffffffff901d50ef R09: 1ffffffff203aa1d
R10: dffffc0000000000 R11: fffffbfff203aa1e R12: ffffffff8c323000
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_iterate_active_interfaces_atomic+0x132/0x140 net/mac80211/util.c:831
mac80211_hwsim_beacon+0x9b/0x180 drivers/net/wireless/mac80211_hwsim.c:1865
__run_hrtimer kernel/time/hrtimer.c:1685 [inline]
__hrtimer_run_queues+0x4f2/0xb70 kernel/time/hrtimer.c:1749
hrtimer_run_softirq+0x176/0x240 kernel/time/hrtimer.c:1766
handle_softirqs+0x339/0x830 kernel/softirq.c:576
__do_softirq kernel/softirq.c:610 [inline]
invoke_softirq kernel/softirq.c:450 [inline]
__irq_exit_rcu+0x13b/0x230 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:raw_spin_rq_unlock_irq+0x13/0x90 kernel/sched/sched.h:1339
Code: c0 48 8b 3c 24 e8 1d d8 69 00 eb b5 66 2e 0f 1f 84 00 00 00 00 00 90 41 57 41 56 53 66 90 e8 84 bc 71 08 e8 ff e4 2a 00 fb 5b <41> 5e 41 5f c3 49 be 00 00 00 00 00 fc ff df 49 89 ff 48 8d 9f 58
RSP: 0018:ffffc9000303f628 EFLAGS: 00000282
RAX: c879a3414550a500 RBX: ffff8880b903a340 RCX: c879a3414550a500
RDX: dffffc0000000000 RSI: ffffffff8a2b2800 RDI: ffffffff8a79fe00
RBP: ffffc9000303f810 R08: ffffffff901d50ef R09: 1ffffffff203aa1d
R10: dffffc0000000000 R11: fffffbfff203aa1e R12: 1ffff110172075ab
R13: dffffc0000000000 R14: ffff888027b08000 R15: ffff888027b08000
__schedule+0x1497/0x43c0 kernel/sched/core.c:6401
preempt_schedule_common+0x82/0xd0 kernel/sched/core.c:6571
preempt_schedule+0xbc/0xd0 kernel/sched/core.c:6596
preempt_schedule_thunk+0x16/0x18 arch/x86/entry/thunk_64.S:34
__raw_spin_unlock_irqrestore include/linux/spinlock_api_smp.h:161 [inline]
_raw_spin_unlock_irqrestore+0x10d/0x120 kernel/locking/spinlock.c:194
__debug_check_no_obj_freed lib/debugobjects.c:982 [inline]
debug_check_no_obj_freed+0x515/0x530 lib/debugobjects.c:1003
free_pages_prepare mm/page_alloc.c:1345 [inline]
free_pcp_prepare mm/page_alloc.c:1391 [inline]
free_unref_page_prepare+0x237/0x6c0 mm/page_alloc.c:3317
free_unref_page+0x8f/0x2a0 mm/page_alloc.c:3396
__vunmap+0x8b9/0xa50 mm/vmalloc.c:2628
free_work+0x56/0x80 mm/vmalloc.c:95
process_one_work+0x85f/0x1010 kernel/workqueue.c:2310
worker_thread+0xaa6/0x1290 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! g10985 f0x0 RCU_GP_WAIT_FQS(5) ->state=0x402
rcu: Possible timer handling issue on cpu=0 timer-softirq=6653
rcu: rcu_preempt kthread starved for 10506 jiffies! g10985 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:27416 pid: 15 ppid: 2 flags:0x00004000
Call Trace:
<TASK>
context_switch kernel/sched/core.c:5049 [inline]
__schedule+0x11ef/0x43c0 kernel/sched/core.c:6395
schedule+0x11b/0x1e0 kernel/sched/core.c:6478
schedule_timeout+0x184/0x2d0 kernel/time/timer.c:2117
rcu_gp_fqs_loop+0x2be/0x11d0 kernel/rcu/tree.c:1972
rcu_gp_kthread+0x9b/0x370 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: 4230 Comm: kworker/0:5 Not tainted syzkaller #0
Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 04/18/2026
Workqueue: events free_work
RIP: 0010:asm_sysvec_irq_work+0x0/0x20 arch/x86/include/asm/idtentry.h:707
Code: e9 a5 03 00 00 90 90 90 90 90 0f 01 ca fc 6a ff e8 a5 02 00 00 48 89 c4 48 89 e7 e8 5a 9d dc ff e9 85 03 00 00 90 90 90 90 90 <0f> 01 ca fc 6a ff e8 85 02 00 00 48 89 c4 48 89 e7 e8 2a a2 dc ff
RSP: 0018:ffffc90000007ad8 EFLAGS: 00000006
RAX: c879a3414550a500 RBX: 1ffff92000000f64 RCX: c879a3414550a500
RDX: dffffc0000000000 RSI: ffffffff8a2b2800 RDI: ffffffff8a79fe00
RBP: ffffc90000007bd8 R08: ffffffff901d50ef R09: 1ffffffff203aa1d
R10: dffffc0000000000 R11: fffffbfff203aa1e R12: ffffffff8c323000
R13: dffffc0000000000 R14: 0000000000000246 R15: 0000000000000001
FS: 0000000000000000(0000) GS:ffff8880b9000000(0000) knlGS:0000000000000000
CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033
CR2: 00007fb79a9b9a08 CR3: 000000000c08e000 CR4: 00000000003506f0
DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000
DR3: 0000000000000000 DR6: 00000000ffff0ff0 DR7: 0000000000000600
Call Trace:
<IRQ>
RIP: 0010:rcu_read_unlock_special+0x7f/0x4a0 kernel/rcu/tree_plugin.h:674
Code: eb 03 48 b8 f1 f1 f1 f1 f8 f2 f2 f2 4a 89 04 2b 42 c7 44 2b 08 f8 f3 f3 f3 65 44 8b 35 32 e1 9c 7e 41 f7 c6 00 00 f0 00 74 40 <48> c7 44 24 20 0e 36 e0 45 4a c7 04 2b 00 00 00 00 42 c7 44 2b 08
RSP: 0018:ffffc90000007b00 EFLAGS: 00000206
__rcu_read_unlock+0x78/0xd0 kernel/rcu/tree_plugin.h:422
rcu_read_unlock include/linux/rcupdate.h:772 [inline]
ieee80211_iterate_active_interfaces_atomic+0x132/0x140 net/mac80211/util.c:831
mac80211_hwsim_beacon+0x9b/0x180 drivers/net/wireless/mac80211_hwsim.c:1865
__run_hrtimer kernel/time/hrtimer.c:1685 [inline]
__hrtimer_run_queues+0x4f2/0xb70 kernel/time/hrtimer.c:1749
hrtimer_run_softirq+0x176/0x240 kernel/time/hrtimer.c:1766
handle_softirqs+0x339/0x830 kernel/softirq.c:576
__do_softirq kernel/softirq.c:610 [inline]
invoke_softirq kernel/softirq.c:450 [inline]
__irq_exit_rcu+0x13b/0x230 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:raw_spin_rq_unlock_irq+0x13/0x90 kernel/sched/sched.h:1339
Code: c0 48 8b 3c 24 e8 1d d8 69 00 eb b5 66 2e 0f 1f 84 00 00 00 00 00 90 41 57 41 56 53 66 90 e8 84 bc 71 08 e8 ff e4 2a 00 fb 5b <41> 5e 41 5f c3 49 be 00 00 00 00 00 fc ff df 49 89 ff 48 8d 9f 58
RSP: 0018:ffffc9000303f628 EFLAGS: 00000282
RAX: c879a3414550a500 RBX: ffff8880b903a340 RCX: c879a3414550a500
RDX: dffffc0000000000 RSI: ffffffff8a2b2800 RDI: ffffffff8a79fe00
RBP: ffffc9000303f810 R08: ffffffff901d50ef R09: 1ffffffff203aa1d
R10: dffffc0000000000 R11: fffffbfff203aa1e R12: 1ffff110172075ab
R13: dffffc0000000000 R14: ffff888027b08000 R15: ffff888027b08000
__schedule+0x1497/0x43c0 kernel/sched/core.c:6401
preempt_schedule_common+0x82/0xd0 kernel/sched/core.c:6571
preempt_schedule+0xbc/0xd0 kernel/sched/core.c:6596
preempt_schedule_thunk+0x16/0x18 arch/x86/entry/thunk_64.S:34
__raw_spin_unlock_irqrestore include/linux/spinlock_api_smp.h:161 [inline]
_raw_spin_unlock_irqrestore+0x10d/0x120 kernel/locking/spinlock.c:194
__debug_check_no_obj_freed lib/debugobjects.c:982 [inline]
debug_check_no_obj_freed+0x515/0x530 lib/debugobjects.c:1003
free_pages_prepare mm/page_alloc.c:1345 [inline]
free_pcp_prepare mm/page_alloc.c:1391 [inline]
free_unref_page_prepare+0x237/0x6c0 mm/page_alloc.c:3317
free_unref_page+0x8f/0x2a0 mm/page_alloc.c:3396
__vunmap+0x8b9/0xa50 mm/vmalloc.c:2628
free_work+0x56/0x80 mm/vmalloc.c:95
process_one_work+0x85f/0x1010 kernel/workqueue.c:2310
worker_thread+0xaa6/0x1290 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