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

3 views
Skip to first unread message

syzbot

unread,
Aug 14, 2025, 7:08:29 AM8/14/25
to syzkaller...@googlegroups.com
Hello,

syzbot found the following issue on:

HEAD commit: 3a8ababb8b6a Linux 6.6.101
git tree: linux-6.6.y
console output: https://syzkaller.appspot.com/x/log.txt?x=12a72da2580000
kernel config: https://syzkaller.appspot.com/x/.config?x=a2bd95b6de4839b7
dashboard link: https://syzkaller.appspot.com/bug?extid=0c40b0eae227145b6069
compiler: Debian clang version 20.1.7 (++20250616065708+6146a88f6049-1~exp1~20250616065826.132), Debian LLD 20.1.7

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

Downloadable assets:
disk image: https://storage.googleapis.com/syzbot-assets/ae2055ece513/disk-3a8ababb.raw.xz
vmlinux: https://storage.googleapis.com/syzbot-assets/72f91e4de841/vmlinux-3a8ababb.xz
kernel image: https://storage.googleapis.com/syzbot-assets/3dae292c190e/bzImage-3a8ababb.xz

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

rcu: INFO: rcu_preempt self-detected stall on CPU
rcu: 0-....: (10495 ticks this GP) idle=abf4/1/0x4000000000000000 softirq=15589/99282 fqs=4746
rcu: hardirqs softirqs csw/system
rcu: number: 989199 46709 0
rcu: cputime: 47066 5314 154 ==> 52480(ms)
rcu: (t=10500 jiffies g=12933 q=2539 ncpus=2)
CPU: 0 PID: 6300 Comm: syz.4.56 Not tainted 6.6.101-syzkaller #0
Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 07/12/2025
RIP: 0010:check_kcov_mode kernel/kcov.c:182 [inline]
RIP: 0010:write_comp_data kernel/kcov.c:245 [inline]
RIP: 0010:__sanitizer_cov_trace_switch+0x96/0x120 kernel/kcov.c:350
Code: 41 54 53 48 8b 54 24 20 65 4c 8b 05 34 1f 7e 7e 45 31 c9 eb 08 49 ff c1 4c 39 c8 74 77 4e 8b 54 ce 10 65 44 8b 1d 22 1f 7e 7e <41> 81 e3 00 01 ff 00 74 13 41 81 fb 00 01 00 00 75 d9 41 83 b8 1c
RSP: 0018:ffffc90000007470 EFLAGS: 00000216
RAX: 0000000000000020 RBX: 000000373fb6c883 RCX: 0000000000000005
RDX: ffffffff81889a9d RSI: ffffffff8cd797a0 RDI: 0000000000000004
RBP: 0000000000000004 R08: ffff88802fb89e00 R09: 0000000000000008
R10: 0000000000000008 R11: 0000000000000105 R12: ffff8880182425d8
R13: f800000000000000 R14: 00000000000005c8 R15: 000000000006e2e4
FS: 00007fa1c5ff66c0(0000) GS:ffff8880b8e00000(0000) knlGS:0000000000000000
CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033
CR2: 00007f4cddfac520 CR3: 0000000060581000 CR4: 00000000003506f0
DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000
DR3: 0000000000000000 DR6: 00000000ffff0ff0 DR7: 0000000000000602
Call Trace:
<IRQ>
check_buffer+0x24d/0x950 kernel/trace/ring_buffer.c:3495
__rb_reserve_next+0x511/0xd50 kernel/trace/ring_buffer.c:3624
rb_reserve_next_event kernel/trace/ring_buffer.c:3759 [inline]
ring_buffer_lock_reserve+0xae1/0xed0 kernel/trace/ring_buffer.c:3818
__trace_buffer_lock_reserve kernel/trace/trace.c:992 [inline]
trace_event_buffer_lock_reserve+0x1d0/0x6e0 kernel/trace/trace.c:2902
trace_event_buffer_reserve+0x29b/0x3c0 kernel/trace/trace_events.c:661
do_trace_event_raw_event_bpf_trace_printk kernel/trace/bpf_trace.h:11 [inline]
trace_event_raw_event_bpf_trace_printk+0x101/0x210 kernel/trace/bpf_trace.h:11
trace_bpf_trace_printk+0x142/0x1a0 kernel/trace/bpf_trace.h:11
____bpf_trace_printk kernel/trace/bpf_trace.c:388 [inline]
bpf_trace_printk+0x11f/0x190 kernel/trace/bpf_trace.c:371
bpf_prog_0605f9f479290f07+0x37/0x3b
bpf_dispatcher_nop_func include/linux/bpf.h:1213 [inline]
__bpf_prog_run include/linux/filter.h:605 [inline]
bpf_prog_run include/linux/filter.h:619 [inline]
__bpf_trace_run kernel/trace/bpf_trace.c:2322 [inline]
bpf_trace_run1+0x30a/0x3b0 kernel/trace/bpf_trace.c:2360
__bpf_trace_rcu_utilization+0xa2/0xe0 include/trace/events/rcu.h:27
trace_rcu_utilization+0x179/0x1a0 include/trace/events/rcu.h:27
rcu_core+0x12d/0x1720 kernel/rcu/tree.c:2439
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+0xc7/0x190 kernel/softirq.c:661
irq_exit_rcu+0x9/0x20 kernel/softirq.c:673
instr_sysvec_irq_work arch/x86/kernel/irq_work.c:17 [inline]
sysvec_irq_work+0xa1/0xc0 arch/x86/kernel/irq_work.c:17
</IRQ>
<TASK>
asm_sysvec_irq_work+0x1a/0x20 arch/x86/include/asm/idtentry.h:723
RIP: 0010:preempt_schedule_irq+0xb0/0x140 kernel/sched/core.c:7010
Code: 44 24 20 f6 44 24 21 02 74 0b 0f 0b 48 f7 03 08 00 00 00 74 63 bf 01 00 00 00 e8 cb 12 e6 f6 e8 16 99 16 f7 fb bf 01 00 00 00 <e8> db b5 ff ff 48 c7 44 24 40 00 00 00 00 9c 8f 44 24 40 8b 44 24
RSP: 0018:ffffc900043ef540 EFLAGS: 00000286
RAX: 0b55d3d21822ea00 RBX: 0000000000000000 RCX: 0b55d3d21822ea00
RDX: dffffc0000000000 RSI: ffffffff8aaaba40 RDI: 0000000000000001
RBP: ffffc900043ef5e0 R08: ffffffff90da361f R09: 1ffffffff21b46c3
R10: dffffc0000000000 R11: fffffbfff21b46c4 R12: 0000000000000000
R13: 0000000000000000 R14: dffffc0000000000 R15: 1ffff9200087dea8
irqentry_exit+0x67/0x70 kernel/entry/common.c:438
asm_sysvec_apic_timer_interrupt+0x1a/0x20 arch/x86/include/asm/idtentry.h:687
RIP: 0010:get_current arch/x86/include/asm/current.h:41 [inline]
RIP: 0010:__sanitizer_cov_trace_pc+0x8/0x60 kernel/kcov.c:215
Code: 00 00 f3 0f 1e fa 53 48 89 fb e8 13 00 00 00 48 8b 3d 8c f1 c4 0c 48 89 de 5b e9 63 75 56 00 cc cc cc f3 0f 1e fa 48 8b 04 24 <65> 48 8b 0d 60 24 7e 7e 65 8b 15 61 24 7e 7e 81 e2 00 01 ff 00 74
RSP: 0018:ffffc900043ef6a0 EFLAGS: 00000282
RAX: ffffffff8192c2ca RBX: 00007fa1c7d8ebe9 RCX: 0000000000000000
RDX: 0000000000000002 RSI: ffffffff8afc6760 RDI: 00007fa1c7d8ebe9
RBP: 0000000000000001 R08: ffff88802fb89e00 R09: 0000000000000003
R10: 0000000000000004 R11: 0000000000000002 R12: ffffffff8a8000d0
R13: 0000000000000138 R14: 00007fa1c7d8ebe9 R15: 1ffff9200087def2
is_bpf_text_address+0x1a/0x2a0 kernel/bpf/core.c:738
kernel_text_address+0xa0/0xd0 kernel/extable.c:125
__kernel_text_address+0xd/0x30 kernel/extable.c:79
unwind_get_return_address+0x5d/0xc0 arch/x86/kernel/unwind_orc.c:369
arch_stack_walk+0x11d/0x190 arch/x86/kernel/stacktrace.c:26
stack_trace_save+0x9c/0xe0 kernel/stacktrace.c:122
kasan_save_stack mm/kasan/common.c:45 [inline]
kasan_set_track+0x4e/0x70 mm/kasan/common.c:52
__kasan_slab_alloc+0x6c/0x80 mm/kasan/common.c:328
kasan_slab_alloc include/linux/kasan.h:188 [inline]
slab_post_alloc_hook+0x6e/0x4d0 mm/slab.h:767
slab_alloc_node mm/slub.c:3485 [inline]
slab_alloc mm/slub.c:3493 [inline]
__kmem_cache_alloc_lru mm/slub.c:3500 [inline]
kmem_cache_alloc_lru+0x115/0x2e0 mm/slub.c:3516
__d_alloc+0x31/0x730 fs/dcache.c:1773
d_alloc_pseudo+0x1d/0x70 fs/dcache.c:1903
alloc_file_pseudo+0xcc/0x200 fs/file_table.c:329
__anon_inode_getfile fs/anon_inodes.c:122 [inline]
anon_inode_getfile+0xc5/0x1a0 fs/anon_inodes.c:160
__do_sys_perf_event_open kernel/events/core.c:12840 [inline]
__se_sys_perf_event_open+0xeb5/0x1c20 kernel/events/core.c:12552
do_syscall_x64 arch/x86/entry/common.c:51 [inline]
do_syscall_64+0x55/0xb0 arch/x86/entry/common.c:81
entry_SYSCALL_64_after_hwframe+0x68/0xd2
RIP: 0033:0x7fa1c7d8ebe9
Code: ff ff c3 66 2e 0f 1f 84 00 00 00 00 00 0f 1f 40 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 a8 ff ff ff f7 d8 64 89 01 48
RSP: 002b:00007fa1c5ff6038 EFLAGS: 00000246 ORIG_RAX: 000000000000012a
RAX: ffffffffffffffda RBX: 00007fa1c7fb5fa0 RCX: 00007fa1c7d8ebe9
RDX: ffffffffffffffff RSI: 0000000000000000 RDI: 0000200000000040
RBP: 00007fa1c7e11e19 R08: 0000000000000009 R09: 0000000000000000
R10: ffffffffffffffff R11: 0000000000000246 R12: 0000000000000000
R13: 00007fa1c7fb6038 R14: 00007fa1c7fb5fa0 R15: 00007fffee15c8e8
</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

syzbot

unread,
Aug 28, 2025, 1:58:33 AM8/28/25
to syzkaller...@googlegroups.com
syzbot has found a reproducer for the following issue on:

HEAD commit: bb9c90ab9c5a Linux 6.6.102
git tree: linux-6.6.y
console output: https://syzkaller.appspot.com/x/log.txt?x=11740262580000
kernel config: https://syzkaller.appspot.com/x/.config?x=7b989b97a0687b0a
dashboard link: https://syzkaller.appspot.com/bug?extid=0c40b0eae227145b6069
compiler: Debian clang version 20.1.7 (++20250616065708+6146a88f6049-1~exp1~20250616065826.132), Debian LLD 20.1.7
syz repro: https://syzkaller.appspot.com/x/repro.syz?x=1057bc42580000
C reproducer: https://syzkaller.appspot.com/x/repro.c?x=15740262580000

Downloadable assets:
disk image: https://storage.googleapis.com/syzbot-assets/3741b512b75a/disk-bb9c90ab.raw.xz
vmlinux: https://storage.googleapis.com/syzbot-assets/dedce7f4c998/vmlinux-bb9c90ab.xz
kernel image: https://storage.googleapis.com/syzbot-assets/acd529da0064/bzImage-bb9c90ab.xz

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

rcu: INFO: rcu_preempt detected stalls on CPUs/tasks:
rcu: 1-....: (4 ticks this GP) idle=1604/1/0x4000000000000000 softirq=13664/13665 fqs=5247
rcu: hardirqs softirqs csw/system
rcu: number: 13093390 0 0
rcu: cputime: 5589 46937 0 ==> 52510(ms)
rcu: (detected by 0, t=10502 jiffies, g=10245, q=3222 ncpus=2)
Sending NMI from CPU 0 to CPUs 1:
NMI backtrace for cpu 1
CPU: 1 PID: 6125 Comm: syz.0.154 Not tainted 6.6.102-syzkaller #0
Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 07/12/2025
RIP: 0010:match_held_lock+0xc/0xb0 kernel/locking/lockdep.c:5203
Code: c7 c6 a0 b8 aa 8a e8 83 be e2 f6 0f 0b eb b6 e8 ba f9 ff ff 66 2e 0f 1f 84 00 00 00 00 00 b9 01 00 00 00 48 39 77 10 74 6c 53 <81> 7f 20 00 00 20 00 72 5f 48 8b 46 08 48 85 c0 75 17 48 89 fb 48
RSP: 0018:ffffc900001efc68 EFLAGS: 00000006
RAX: 0000000000000009 RBX: ffff88802c9fbc00 RCX: 0000000000000001
RDX: ffff88802c9fbc00 RSI: ffffffff8cd2fbe0 RDI: ffff88802c9fc758
RBP: 00000000ffffffff R08: dffffc0000000000 R09: 1ffffffff21b46a0
R10: dffffc0000000000 R11: fffffbfff21b46a1 R12: 0000000000000003
R13: 0000000000000046 R14: ffffffff8cd2fbe0 R15: ffff88802c9fc758
FS: 0000555587b5c500(0000) GS:ffff8880b8f00000(0000) knlGS:0000000000000000
CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033
CR2: 0000001b2d763fff CR3: 000000007c25c000 CR4: 00000000003506e0
Call Trace:
<IRQ>
__lock_is_held kernel/locking/lockdep.c:5495 [inline]
lock_is_held_type+0xaa/0x190 kernel/locking/lockdep.c:5825
__perf_output_begin kernel/events/ring_buffer.c:170 [inline]
perf_output_begin_forward+0x1a8/0xa20 kernel/events/ring_buffer.c:273
__perf_event_output kernel/events/core.c:7974 [inline]
perf_event_output_forward+0x22b/0x3a0 kernel/events/core.c:7992
__perf_event_overflow+0x447/0x630 kernel/events/core.c:9717
perf_swevent_overflow kernel/events/core.c:9793 [inline]
perf_swevent_event+0x2f5/0x5c0 kernel/events/core.c:-1
perf_tp_event+0x4f9/0x13a0 kernel/events/core.c:10343
perf_trace_run_bpf_submit+0xf4/0x1c0 kernel/events/core.c:10267
perf_trace_preemptirq_template+0x281/0x340 include/trace/events/preemptirq.h:14
trace_irq_enable+0xbf/0xe0 include/trace/events/preemptirq.h:40
trace_hardirqs_on+0x18/0x40 kernel/trace/trace_preemptirq.c:56
asm_sysvec_irq_work+0x1a/0x20 arch/x86/include/asm/idtentry.h:723
RIP: 0010:rcu_read_unlock_special+0x88/0x4c0 kernel/rcu/tree_plugin.h:682
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 39 58 93 7e 41 f7 c6 00 00 f0 00 74 45 <48> c7 44 24 40 0e 36 e0 45 4a c7 04 2b 00 00 00 00 66 42 c7 44 2b
RSP: 0018:ffffc900001f0500 EFLAGS: 00000206
RAX: 2faca621a8eac400 RBX: 1ffff9200003e0a8 RCX: 2faca621a8eac400
RDX: dffffc0000000000 RSI: ffffffff8aaab9c0 RDI: ffffffff8afc66c0
RBP: ffffc900001f0600 R08: ffffffff90da35c7 R09: 1ffffffff21b46b8
R10: dffffc0000000000 R11: fffffbfff21b46b9 R12: ffffffff8cd35400
R13: dffffc0000000000 R14: 0000000000000246 R15: 0000000000000002
__rcu_read_unlock+0x7c/0xd0 kernel/rcu/tree_plugin.h:426
rcu_read_unlock include/linux/rcupdate.h:818 [inline]
dev_queue_xmit_nit+0xa84/0xbb0 net/core/dev.c:2376
xmit_one net/core/dev.c:3603 [inline]
dev_hard_start_xmit+0x148/0x740 net/core/dev.c:3623
sch_direct_xmit+0x252/0x4a0 net/sched/sch_generic.c:342
__dev_xmit_skb net/core/dev.c:3844 [inline]
__dev_queue_xmit+0x173e/0x35a0 net/core/dev.c:4379
lapb_data_transmit+0x8a/0xa0 net/lapb/lapb_iface.c:447
lapb_transmit_buffer+0x163/0x200 net/lapb/lapb_out.c:149
lapb_t1timer_expiry+0x699/0xab0 net/lapb/lapb_timer.c:-1
call_timer_fn+0x16e/0x530 kernel/time/timer.c:1700
expire_timers kernel/time/timer.c:1751 [inline]
__run_timers+0x52d/0x7d0 kernel/time/timer.c:2022
run_timer_softirq+0x67/0xf0 kernel/time/timer.c:2035
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+0xc7/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:lock_acquire+0x1f2/0x410 kernel/locking/lockdep.c:5758
Code: 00 9c 8f 84 24 80 00 00 00 f6 84 24 81 00 00 00 02 0f 85 f5 00 00 00 41 f7 c6 00 02 00 00 74 01 fb 48 c7 44 24 60 0e 36 e0 45 <4b> c7 04 3c 00 00 00 00 66 43 c7 44 3c 09 00 00 43 c6 44 3c 0b 00
RSP: 0018:ffffc9000430fac0 EFLAGS: 00000206
RAX: 0000000000000001 RBX: 0000000000000000 RCX: 2faca621a8eac400
RDX: 0000000000000000 RSI: ffffffff8aaacb40 RDI: ffffffff8afc66c0
RBP: ffffc9000430fbc8 R08: dffffc0000000000 R09: 1ffffffff21b46a8
R10: dffffc0000000000 R11: fffffbfff21b46a9 R12: 1ffff92000861f64
R13: ffff88802c9fd090 R14: 0000000000000246 R15: dffffc0000000000
__mutex_lock_common kernel/locking/mutex.c:603 [inline]
__mutex_lock+0x129/0xcc0 kernel/locking/mutex.c:747
__do_sys_perf_event_open kernel/events/core.c:12924 [inline]
__se_sys_perf_event_open+0x1878/0x1c20 kernel/events/core.c:12566
do_syscall_x64 arch/x86/entry/common.c:51 [inline]
do_syscall_64+0x55/0xb0 arch/x86/entry/common.c:81
entry_SYSCALL_64_after_hwframe+0x68/0xd2
RIP: 0033:0x7f4c0b78ebe9
Code: ff ff c3 66 2e 0f 1f 84 00 00 00 00 00 0f 1f 40 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 a8 ff ff ff f7 d8 64 89 01 48
RSP: 002b:00007ffd92c43b08 EFLAGS: 00000246 ORIG_RAX: 000000000000012a
RAX: ffffffffffffffda RBX: 00007f4c0b9b5fa0 RCX: 00007f4c0b78ebe9
RDX: ffffffffffffffff RSI: 0000000000000000 RDI: 00002000000003c0
RBP: 00007f4c0b811e19 R08: 0000000000000002 R09: 0000000000000000
R10: ffffffffffffffff R11: 0000000000000246 R12: 0000000000000000
R13: 00007f4c0b9b5fa0 R14: 00007f4c0b9b5fa0 R15: 0000000000000005
</TASK>


---
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.

syzbot

unread,
Oct 5, 2025, 5:08:03 PM10/5/25
to syzkaller...@googlegroups.com
syzbot suspects this issue was fixed by commit:

commit e7a375453cca2b8a0d2fa1b82b913f3fed7c0507
Author: Joel Fernandes <joela...@nvidia.com>
Date: Tue Jul 8 14:22:19 2025 +0000

rcu: Fix rcu_read_unlock() deadloop due to IRQ work

bisection log: https://syzkaller.appspot.com/x/bisect.txt?x=17527942580000
start commit: bb9c90ab9c5a Linux 6.6.102
git tree: linux-6.6.y
If the result looks correct, please mark the issue as fixed by replying with:

#syz fix: rcu: Fix rcu_read_unlock() deadloop due to IRQ work

For information about bisection process see: https://goo.gl/tpsmEJ#bisection
Reply all
Reply to author
Forward
0 new messages