[v6.6] INFO: rcu detected stall in mrp_periodic_timer

0 views
Skip to first unread message

syzbot

unread,
12:59 AM (9 hours ago) 12:59 AM
to syzkaller...@googlegroups.com
Hello,

syzbot found the following issue on:

HEAD commit: 9760bf04666d Linux 6.6.135
git tree: linux-6.6.y
console output: https://syzkaller.appspot.com/x/log.txt?x=1602d2d2580000
kernel config: https://syzkaller.appspot.com/x/.config?x=c5b35c4db8465904
dashboard link: https://syzkaller.appspot.com/bug?extid=19e1cead0857b6a94d8f
compiler: Debian clang version 21.1.8 (++20251221033036+2078da43e25a-1~exp1~20251221153213.50), Debian LLD 21.1.8
syz repro: https://syzkaller.appspot.com/x/repro.syz?x=14704506580000
C reproducer: https://syzkaller.appspot.com/x/repro.c?x=1102d2d2580000

Downloadable assets:
disk image: https://storage.googleapis.com/syzbot-assets/33c29b12edc9/disk-9760bf04.raw.xz
vmlinux: https://storage.googleapis.com/syzbot-assets/a47e841e1ee9/vmlinux-9760bf04.xz
kernel image: https://storage.googleapis.com/syzbot-assets/ef3e43dc5483/bzImage-9760bf04.xz

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

rcu: INFO: rcu_preempt detected stalls on CPUs/tasks:
rcu: (detected by 0, t=10502 jiffies, g=11145, q=219 ncpus=2)
rcu: All QSes seen, last rcu_preempt kthread activity 10502 (4294960103-4294949601), jiffies_till_next_fqs=1, root ->qsmask 0x0
rcu: rcu_preempt kthread starved for 10502 jiffies! g11145 f0x2 RCU_GP_WAIT_FQS(5) ->state=0x0 ->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:R running task stack:27656 pid:17 ppid:2 flags:0x00004000
Call Trace:
<TASK>
context_switch kernel/sched/core.c:5381 [inline]
__schedule+0x1553/0x45a0 kernel/sched/core.c:6700
schedule+0xbd/0x170 kernel/sched/core.c:6774
schedule_timeout+0x188/0x2d0 kernel/time/timer.c:2168
rcu_gp_fqs_loop+0x313/0x1590 kernel/rcu/tree.c:1667
rcu_gp_kthread+0x9d/0x3b0 kernel/rcu/tree.c:1866
kthread+0x2fa/0x390 kernel/kthread.c:388
ret_from_fork+0x48/0x80 arch/x86/kernel/process.c:152
ret_from_fork_asm+0x11/0x20 arch/x86/entry/entry_64.S:293
</TASK>
rcu: Stack dump where RCU GP kthread last ran:
Sending NMI from CPU 0 to CPUs 1:
NMI backtrace for cpu 1
CPU: 1 PID: 5945 Comm: syz.0.17 Not tainted syzkaller #0
Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 04/18/2026
RIP: 0010:local_apic_timer_interrupt arch/x86/kernel/apic/apic.c:1051 [inline]
RIP: 0010:__sysvec_apic_timer_interrupt+0x8d/0x3b0 arch/x86/kernel/apic/apic.c:1094
Code: e8 15 8b 8e be 08 00 00 00 e8 cf 7e a6 00 48 0f a3 1d 5f 39 52 0d 73 0d e8 50 08 38 00 84 c0 0f 84 84 01 00 00 e8 33 83 4d 09 <89> c3 83 f8 08 0f 83 82 01 00 00 4c 8d 34 dd 30 7a a7 8c 4c 89 f0
RSP: 0018:ffffc900001f08d8 EFLAGS: 00000082
RAX: 0000000000000001 RBX: 0000000000000001 RCX: 2036ab1792a3e600
RDX: 0000000000000000 RSI: ffffffff8b1c8e40 RDI: ffffffff8b1c8e00
RBP: 0000000000000000 R08: ffffffff8e8b15ef R09: 1ffffffff1d162bd
R10: dffffc0000000000 R11: fffffbfff1d162be R12: dffffc0000000000
R13: 0000000000000000 R14: 0000000000000000 R15: 0000000000000000
FS: 00007fa54d63f6c0(0000) GS:ffff8880b8f00000(0000) knlGS:0000000000000000
CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033
CR2: 0000000100000000 CR3: 0000000025718000 CR4: 00000000003506e0
Call Trace:
<IRQ>
instr_sysvec_apic_timer_interrupt arch/x86/kernel/apic/apic.c:1088 [inline]
sysvec_apic_timer_interrupt+0x51/0xc0 arch/x86/kernel/apic/apic.c:1088
asm_sysvec_apic_timer_interrupt+0x1a/0x20 arch/x86/include/asm/idtentry.h:687
RIP: 0010:__raw_spin_unlock_irqrestore include/linux/spinlock_api_smp.h:152 [inline]
RIP: 0010:_raw_spin_unlock_irqrestore+0xc0/0x120 kernel/locking/spinlock.c:194
Code: c7 44 24 20 00 00 00 00 9c 8f 44 24 20 f7 44 24 20 00 02 00 00 41 c6 04 07 f8 75 4b f7 c3 00 02 00 00 74 01 fb bf 01 00 00 00 <e8> 0b 94 cc f6 65 8b 05 4c c1 73 75 85 c0 74 3c 48 c7 04 24 0e 36
RSP: 0018:ffffc900001f09c0 EFLAGS: 00000206
RAX: dffffc0000000004 RBX: 0000000000000a02 RCX: 2036ab1792a3e600
RDX: dffffc0000000000 RSI: ffffffff8acac9e0 RDI: 0000000000000001
RBP: ffffc900001f0a50 R08: ffffffff911c55f7 R09: 1ffffffff2238abe
R10: dffffc0000000000 R11: fffffbfff2238abf R12: dffffc0000000000
R13: ffff88802e25fd20 R14: ffffffff97586560 R15: 1ffff9200003e138
debug_object_assert_init+0x1f1/0x2f0 lib/debugobjects.c:900
debug_timer_assert_init kernel/time/timer.c:792 [inline]
debug_assert_init kernel/time/timer.c:837 [inline]
__mod_timer+0x55/0xdb0 kernel/time/timer.c:1020
mrp_periodic_timer_arm net/802/mrp.c:617 [inline]
mrp_periodic_timer+0x1c9/0x210 net/802/mrp.c:629
call_timer_fn+0x189/0x540 kernel/time/timer.c:1701
expire_timers kernel/time/timer.c:1752 [inline]
__run_timers+0x542/0x800 kernel/time/timer.c:2023
run_timer_softirq+0x67/0xf0 kernel/time/timer.c:2036
handle_softirqs+0x280/0x820 kernel/softirq.c:578
__do_softirq kernel/softirq.c:612 [inline]
invoke_softirq kernel/softirq.c:452 [inline]
__irq_exit_rcu+0xd3/0x190 kernel/softirq.c:661
irq_exit_rcu+0x9/0x20 kernel/softirq.c:673
instr_sysvec_apic_timer_interrupt arch/x86/kernel/apic/apic.c:1088 [inline]
sysvec_apic_timer_interrupt+0xa4/0xc0 arch/x86/kernel/apic/apic.c:1088
</IRQ>
<TASK>
asm_sysvec_apic_timer_interrupt+0x1a/0x20 arch/x86/include/asm/idtentry.h:687
RIP: 0010:generic_exec_single+0x481/0x4f0 kernel/smp.c:418
Code: 75 11 e8 42 05 0b 00 48 85 db 75 16 e8 38 05 0b 00 eb 15 e8 31 05 0b 00 e8 0c 2e 0a 09 48 85 db 74 ea e8 22 05 0b 00 fb 31 c0 <48> c7 44 24 20 0e 36 e0 45 4b c7 04 2c 00 00 00 00 43 c7 44 2c 08
RSP: 0018:ffffc90003487a00 EFLAGS: 00000246
RAX: 0000000000000000 RBX: 0000000000000200 RCX: ffff888027121e00
RDX: 0000000000000000 RSI: 0000000000000000 RDI: 0000000000000000
RBP: ffffc90003487ad0 R08: ffffffff911c560f R09: 1ffffffff2238ac1
R10: dffffc0000000000 R11: fffffbfff2238ac2 R12: 1ffff92000690f44
R13: dffffc0000000000 R14: 0000000000000000 R15: 1ffff92000690f65
smp_call_function_single+0x36d/0x5a0 kernel/smp.c:647
task_function_call kernel/events/core.c:120 [inline]
perf_install_in_context+0x5be/0x920 kernel/events/core.c:2959
__do_sys_perf_event_open kernel/events/core.c:12957 [inline]
__se_sys_perf_event_open+0x1836/0x1c50 kernel/events/core.c:12609
do_syscall_x64 arch/x86/entry/common.c:46 [inline]
do_syscall_64+0x55/0xa0 arch/x86/entry/common.c:76
entry_SYSCALL_64_after_hwframe+0x68/0xd2
RIP: 0033:0x7fa54c79cdd9
Code: ff c3 66 2e 0f 1f 84 00 00 00 00 00 0f 1f 44 00 00 48 89 f8 48 89 f7 48 89 d6 48 89 ca 4d 89 c2 4d 89 c8 4c 8b 4c 24 08 0f 05 <48> 3d 01 f0 ff ff 73 01 c3 48 c7 c1 e8 ff ff ff f7 d8 64 89 01 48
RSP: 002b:00007fa54d63f028 EFLAGS: 00000246 ORIG_RAX: 000000000000012a
RAX: ffffffffffffffda RBX: 00007fa54ca15fa0 RCX: 00007fa54c79cdd9
RDX: ffffffffffffffff RSI: 0000000000000000 RDI: 0000200000000480
RBP: 00007fa54c832d69 R08: 0000000000000000 R09: 0000000000000000
R10: ffffffffffffffff R11: 0000000000000246 R12: 0000000000000000
R13: 00007fa54ca16038 R14: 00007fa54ca15fa0 R15: 00007ffeb3dde6e8
</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 syzbot to run the reproducer, reply with:
#syz test: git://repo/address.git branch-or-commit-hash
If you attach or paste a git patch, syzbot will apply it before testing.

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