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

0 views
Skip to first unread message

syzbot

unread,
Mar 10, 2026, 7:19:36 AM (20 hours ago) Mar 10
to syzkaller...@googlegroups.com
Hello,

syzbot found the following issue on:

HEAD commit: 4fc00fe35d46 Linux 6.6.129
git tree: linux-6.6.y
console output: https://syzkaller.appspot.com/x/log.txt?x=10b38d52580000
kernel config: https://syzkaller.appspot.com/x/.config?x=c5b35c4db8465904
dashboard link: https://syzkaller.appspot.com/bug?extid=e2f484aebb1ce6cef6be
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/fbfc516e4992/disk-4fc00fe3.raw.xz
vmlinux: https://storage.googleapis.com/syzbot-assets/e781b8cd32d5/vmlinux-4fc00fe3.xz
kernel image: https://storage.googleapis.com/syzbot-assets/6c03939713f9/bzImage-4fc00fe3.xz

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

rcu: INFO: rcu_preempt detected stalls on CPUs/tasks:
rcu: Tasks blocked on level-0 rcu_node (CPUs 0-1): P28662/1:b..l
rcu: (detected by 1, t=10502 jiffies, g=164897, q=266 ncpus=2)
task:syz.6.7570 state:R running task stack:26600 pid:28662 ppid:27011 flags:0x00004000
Call Trace:
<TASK>
context_switch kernel/sched/core.c:5381 [inline]
__schedule+0x1553/0x45a0 kernel/sched/core.c:6700
preempt_schedule_common+0x82/0xc0 kernel/sched/core.c:6867
preempt_schedule+0xc0/0xd0 kernel/sched/core.c:6891
preempt_schedule_thunk+0x1a/0x30 arch/x86/entry/thunk_64.S:45
__raw_spin_unlock include/linux/spinlock_api_smp.h:143 [inline]
_raw_spin_unlock+0x3a/0x40 kernel/locking/spinlock.c:186
spin_unlock include/linux/spinlock.h:391 [inline]
zap_pte_range mm/memory.c:1523 [inline]
zap_pmd_range mm/memory.c:1571 [inline]
zap_pud_range mm/memory.c:1600 [inline]
zap_p4d_range mm/memory.c:1621 [inline]
unmap_page_range+0x2315/0x3000 mm/memory.c:1642
unmap_vmas+0x286/0x3f0 mm/memory.c:1732
exit_mmap+0x238/0xb90 mm/mmap.c:3302
__mmput+0x118/0x3c0 kernel/fork.c:1355
exit_mm+0x1f2/0x2c0 kernel/exit.c:569
do_exit+0x8dd/0x2460 kernel/exit.c:870
do_group_exit+0x21b/0x2d0 kernel/exit.c:1024
get_signal+0x12fc/0x13f0 kernel/signal.c:2902
arch_do_signal_or_restart+0xc2/0x800 arch/x86/kernel/signal.c:310
exit_to_user_mode_loop+0x70/0x110 kernel/entry/common.c:174
exit_to_user_mode_prepare+0xee/0x180 kernel/entry/common.c:210
__syscall_exit_to_user_mode_work kernel/entry/common.c:291 [inline]
syscall_exit_to_user_mode+0x1a/0x50 kernel/entry/common.c:302
do_syscall_64+0x61/0xa0 arch/x86/entry/common.c:82
entry_SYSCALL_64_after_hwframe+0x68/0xd2
RIP: 0033:0x7f33dfd9c799
RSP: 002b:00007f33e0c310e8 EFLAGS: 00000246 ORIG_RAX: 00000000000000ca
RAX: fffffffffffffe00 RBX: 00007f33e0016098 RCX: 00007f33dfd9c799
RDX: 0000000000000000 RSI: 0000000000000080 RDI: 00007f33e0016098
RBP: 00007f33e0016090 R08: 0000000000000000 R09: 0000000000000000
R10: 0000000000000000 R11: 0000000000000246 R12: 0000000000000000
R13: 00007f33e0016128 R14: 00007ffc371aaa50 R15: 00007ffc371aab38
</TASK>
rcu: rcu_preempt kthread starved for 10098 jiffies! g164897 f0x0 RCU_GP_WAIT_FQS(5) ->state=0x0 ->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:R running task stack:26888 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 1 to CPUs 0:
NMI backtrace for cpu 0
CPU: 0 PID: 28653 Comm: syz.7.7568 Not tainted syzkaller #0
Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 02/12/2026
RIP: 0010:arch_static_branch arch/x86/include/asm/jump_label.h:27 [inline]
RIP: 0010:static_key_false include/linux/jump_label.h:207 [inline]
RIP: 0010:native_write_msr arch/x86/include/asm/msr.h:147 [inline]
RIP: 0010:wrmsr arch/x86/include/asm/msr.h:254 [inline]
RIP: 0010:native_apic_msr_write+0x39/0x50 arch/x86/include/asm/apic.h:196
Code: 74 2a 83 ff 30 74 25 eb 10 81 ff d0 00 00 00 74 1b 81 ff e0 00 00 00 74 13 c1 ef 04 81 c7 00 08 00 00 89 f9 89 f0 31 d2 0f 30 <66> 90 c3 89 f6 31 d2 e9 9b 7a 23 03 66 2e 0f 1f 84 00 00 00 00 00
RSP: 0018:ffffc900000074c0 EFLAGS: 00000046
RAX: 0000000000000098 RBX: ffff8880b8e28280 RCX: 0000000000000838
RDX: 0000000000000000 RSI: 0000000000000098 RDI: 0000000000000838
RBP: 0000000000000000 R08: ffffffff8e8aeeef R09: 1ffffffff1d15ddd
R10: dffffc0000000000 R11: fffffbfff1d15dde R12: dffffc0000000000
R13: 000000001000390a R14: 0000000000000098 R15: 0000000000000020
FS: 00007f19471c16c0(0000) GS:ffff8880b8e00000(0000) knlGS:0000000000000000
CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033
CR2: 000055de4313a3c0 CR3: 000000002703d000 CR4: 00000000003506f0
DR0: 0000200000000300 DR1: 0000000000000000 DR2: 0000000000000000
DR3: 0000000000000000 DR6: 00000000ffff0ff0 DR7: 0000000000000600
Call Trace:
<IRQ>
apic_write arch/x86/include/asm/apic.h:404 [inline]
lapic_next_event+0x11/0x20 arch/x86/kernel/apic/apic.c:448
clockevents_program_event+0x1c0/0x310 kernel/time/clockevents.c:334
hrtimer_interrupt+0x5a1/0x9c0 kernel/time/hrtimer.c:1889
local_apic_timer_interrupt arch/x86/kernel/apic/apic.c:1077 [inline]
__sysvec_apic_timer_interrupt+0xfb/0x3b0 arch/x86/kernel/apic/apic.c:1094
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 c9 cd f6 65 8b 05 2c f8 74 75 85 c0 74 3c 48 c7 04 24 0e 36
RSP: 0018:ffffc90000007720 EFLAGS: 00000206
RAX: dffffc0000000004 RBX: 0000000000000a06 RCX: 77602a11f813cc00
RDX: dffffc0000000000 RSI: ffffffff8acac960 RDI: 0000000000000001
RBP: ffffc900000077b8 R08: ffffffff911c15c7 R09: 1ffffffff22382b8
R10: dffffc0000000000 R11: fffffbfff22382b9 R12: dffffc0000000000
R13: ffff8880465e8000 R14: ffffffff974a7980 R15: 1ffff92000000ee4
__debug_check_no_obj_freed lib/debugobjects.c:999 [inline]
debug_check_no_obj_freed+0x51f/0x540 lib/debugobjects.c:1020
free_pages_prepare mm/page_alloc.c:1187 [inline]
free_unref_page_prepare+0x1da/0x8c0 mm/page_alloc.c:2365
free_unref_page+0x32/0x2e0 mm/page_alloc.c:2458
napi_frag_unref include/linux/skbuff.h:3539 [inline]
skb_release_data+0x49a/0x800 net/core/skbuff.c:985
skb_release_all net/core/skbuff.c:1057 [inline]
__kfree_skb+0x57/0x70 net/core/skbuff.c:1071
tcp_write_queue_purge+0x143/0x2f0 net/ipv4/tcp.c:3006
tcp_done_with_error+0x43/0xc0 net/ipv4/tcp_input.c:4446
tcp_write_err net/ipv4/tcp_timer.c:72 [inline]
tcp_write_timeout net/ipv4/tcp_timer.c:281 [inline]
tcp_retransmit_timer+0x1728/0x3020 net/ipv4/tcp_timer.c:576
tcp_write_timer+0x12a/0x280 net/ipv4/tcp_timer.c:709
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:check_preemption_disabled+0x6/0x110 lib/smp_processor_id.c:13
Code: cc cc cc cc f3 0f 1e fa 48 c7 c7 40 85 1c 8b 48 c7 c6 80 85 1c 8b eb 0c 66 2e 0f 1f 84 00 00 00 00 00 66 90 55 41 57 41 56 53 <48> 83 ec 10 65 48 8b 04 25 28 00 00 00 48 89 44 24 08 65 8b 05 5d
RSP: 0018:ffffc90010326f98 EFLAGS: 00000287
RAX: 0000000000000001 RBX: 0000000000000000 RCX: ffffffff8168ab56
RDX: 0000000000000000 RSI: ffffffff8b1c8580 RDI: ffffffff8b1c8540
RBP: ffffc900103270f0 R08: ffffffff8e8aeeef R09: 1ffffffff1d15ddd
R10: dffffc0000000000 R11: fffffbfff1d15dde R12: ffffffff819102e3
R13: dffffc0000000000 R14: ffff8880767ee4a8 R15: 1ffff92002064e08
rcu_dynticks_curr_cpu_in_eqs include/linux/context_tracking.h:122 [inline]
rcu_is_watching+0x15/0xb0 kernel/rcu/tree.c:700
trace_lock_release include/trace/events/lock.h:69 [inline]
lock_release+0xb5/0x8c0 kernel/locking/lockdep.c:5765
rcu_lock_release include/linux/rcupdate.h:344 [inline]
rcu_read_unlock include/linux/rcupdate.h:819 [inline]
trace_call_bpf+0x5dd/0x6c0 kernel/trace/bpf_trace.c:145
perf_trace_run_bpf_submit+0x7a/0x1c0 kernel/events/core.c:10263
perf_trace_lock_acquire+0x34f/0x410 include/trace/events/lock.h:24
trace_lock_acquire include/trace/events/lock.h:24 [inline]
lock_acquire+0x3ef/0x420 kernel/locking/lockdep.c:5725
rcu_lock_acquire include/linux/rcupdate.h:334 [inline]
rcu_read_lock_sched include/linux/rcupdate.h:878 [inline]
pfn_valid+0xe9/0x420 include/linux/mmzone.h:2011
page_table_check_set+0x25/0x6e0 mm/page_table_check.c:110
page_table_check_ptes_set include/linux/page_table_check.h:74 [inline]
set_ptes include/linux/pgtable.h:238 [inline]
copy_present_pte mm/memory.c:979 [inline]
copy_pte_range mm/memory.c:1083 [inline]
copy_pmd_range mm/memory.c:1168 [inline]
copy_pud_range mm/memory.c:1205 [inline]
copy_p4d_range mm/memory.c:1229 [inline]
copy_page_range+0x24e5/0x3670 mm/memory.c:1323
dup_mmap kernel/fork.c:764 [inline]
dup_mm kernel/fork.c:1692 [inline]
copy_mm+0x11cb/0x1d50 kernel/fork.c:1741
copy_process+0x16f7/0x3d80 kernel/fork.c:2506
kernel_clone+0x24b/0x8a0 kernel/fork.c:2914
__do_sys_clone kernel/fork.c:3057 [inline]
__se_sys_clone kernel/fork.c:3041 [inline]
__x64_sys_clone+0x1b7/0x230 kernel/fork.c:3041
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:0x7f194639c799
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:00007f19471c0fd8 EFLAGS: 00000206 ORIG_RAX: 0000000000000038
RAX: ffffffffffffffda RBX: 00007f1946615fa0 RCX: 00007f194639c799
RDX: 0000000000000000 RSI: 0000000000000000 RDI: 00000000ae02f400
RBP: 00007f1946432bd9 R08: 0000000000000000 R09: 0000000000000000
R10: 0000000000000000 R11: 0000000000000206 R12: 0000000000000000
R13: 00007f1946616038 R14: 00007f1946615fa0 R15: 00007fff23ea8b98
</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