Hello,
syzbot found the following issue on:
HEAD commit: 68efe5a6c16a Linux 5.15.197
git tree: linux-5.15.y
console output:
https://syzkaller.appspot.com/x/log.txt?x=1413d9b4580000
kernel config:
https://syzkaller.appspot.com/x/.config?x=7e6ed99963d6ee1d
dashboard link:
https://syzkaller.appspot.com/bug?extid=01ff0fc02b8f416f9f5f
compiler: Debian clang version 20.1.8 (++20250708063551+0c9f909b7976-1~exp1~20250708183702.136), Debian LLD 20.1.8
syz repro:
https://syzkaller.appspot.com/x/repro.syz?x=1593ddc2580000
Downloadable assets:
disk image:
https://storage.googleapis.com/syzbot-assets/998e4247f9d0/disk-68efe5a6.raw.xz
vmlinux:
https://storage.googleapis.com/syzbot-assets/4ef4066c91ec/vmlinux-68efe5a6.xz
kernel image:
https://storage.googleapis.com/syzbot-assets/922e7b640c48/bzImage-68efe5a6.xz
IMPORTANT: if you fix the issue, please add the following tag to the commit:
Reported-by:
syzbot+01ff0f...@syzkaller.appspotmail.com
rcu: INFO: rcu_preempt detected stalls on CPUs/tasks:
rcu: 0-...!: (1 GPs behind) idle=7d7/1/0x4000000000000002 softirq=46934/46938 fqs=251
(detected by 1, t=10506 jiffies, g=50773, q=673)
Sending NMI from CPU 1 to CPUs 0:
NMI backtrace for cpu 0
CPU: 0 PID: 10724 Comm: kworker/u4:7 Not tainted syzkaller #0
Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 10/25/2025
Workqueue: bat_events batadv_nc_worker
RIP: 0010:lock_is_held_type+0x3/0x190 kernel/locking/lockdep.c:5651
Code: 00 75 d6 48 c7 c7 80 1a 0b 8a 48 c7 c6 c0 1a 0b 8a e8 51 3e f5 ff 0f 0b eb bf e8 98 fd ff ff 0f 1f 84 00 00 00 00 00 55 41 57 <41> 56 41 55 41 54 53 48 83 ec 10 65 48 8b 04 25 28 00 00 00 48 89
RSP: 0018:ffffc90000007048 EFLAGS: 00000002
RAX: 1ffffffff1824101 RBX: 0000000000000001 RCX: e8ccb63fbc8a5c00
RDX: 0000000000000100 RSI: 00000000ffffffff RDI: ffffffff8c11c720
RBP: ffffc90000007190 R08: dffffc0000000000 R09: fffffbfff1ff5419
R10: fffffbfff1ff5419 R11: 1ffffffff1ff5418 R12: 1ffff92000000e1c
R13: 0000000000000008 R14: ffffc900000071e0 R15: ffffc90000007400
FS: 0000000000000000(0000) GS:ffff8880b9000000(0000) knlGS:0000000000000000
CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033
CR2: 00005555611de808 CR3: 0000000076a16000 CR4: 00000000003506f0
DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000
DR3: 0000000000000000 DR6: 00000000fffe0ff0 DR7: 0000000000000400
Call Trace:
<IRQ>
__perf_output_begin kernel/events/ring_buffer.c:170 [inline]
perf_output_begin_forward+0x1a6/0xa30 kernel/events/ring_buffer.c:271
__perf_event_output kernel/events/core.c:7804 [inline]
perf_event_output_forward+0x15c/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 ed 11 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:ffffc90000007840 EFLAGS: 00000206
RAX: e8ccb63fbc8a5c00 RBX: 1ffff92000000f0c RCX: e8ccb63fbc8a5c00
RDX: dffffc0000000000 RSI: ffffffff8a0b1be0 RDI: ffffffff8a59e800
RBP: ffffc90000007920 R08: dffffc0000000000 R09: fffffbfff1ff542c
R10: fffffbfff1ff542c R11: 1ffffffff1ff542b 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]
__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+0x13b/0x200 kernel/softirq.c:477
</IRQ>
<TASK>
__local_bh_enable_ip+0x174/0x1b0 kernel/softirq.c:401
spin_unlock_bh include/linux/spinlock.h:409 [inline]
batadv_nc_purge_paths+0x316/0x3b0 net/batman-adv/network-coding.c:475
batadv_nc_worker+0x2e7/0x5c0 net/batman-adv/network-coding.c:724
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 starved for 9250 jiffies! g50773 f0x0 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:27712 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 10/25/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:1685 [inline]
__hrtimer_run_queues+0x4fe/0xc40 kernel/time/hrtimer.c:1749
hrtimer_interrupt+0x3bb/0x8d0 kernel/time/hrtimer.c:1811
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 1f e2 49 00 44 38 e3 75 10 66 90 0f 00 2d c1 68 d4 08 fb f4 <e9> 33 ff ff ff fb e9 2d ff ff ff e8 4f df 6d 08 89 f9 80 e1 07 38
RSP: 0018:ffffc90000dd08a0 EFLAGS: 00000246
RAX: 659ec7bc0a9f7000 RBX: 0000000000000003 RCX: 659ec7bc0a9f7000
RDX: dffffc0000000000 RSI: ffffffff8a0b1be0 RDI: ffffffff8a59e800
RBP: ffffc90000dd0950 R08: dffffc0000000000 R09: fffffbfff1ff542c
R10: fffffbfff1ff542c R11: 1ffffffff1ff542b R12: 0000000000000003
R13: ffff8880b913b154 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:364 [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 c6 03 11 f8 eb b5 e8 ef b5 f6 ff 00 00 cc cc 00 00 cc cc 00 00 cc cc 00 00 cc 66 90 0f 00 2d 17 93 5a 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: 659ec7bc0a9f7000 RBX: ffff88813fe40000 RCX: 659ec7bc0a9f7000
RDX: 0000000000000001 RSI: ffffffff8a0b1be0 RDI: ffffffff8a59e800
RBP: ffffc90000d67e80 R08: dffffc0000000000 R09: ffffed1017227662
R10: ffffed1017227662 R11: 1ffff11017227661 R12: ffffffff8d6935a8
R13: 0000000000000001 R14: 0000000000000001 R15: 1ffff11027fc8000
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>
---
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