syzbot has found a reproducer for the following issue on:
HEAD commit: d1cfde2d5d15 Linux 6.6.143
git tree: linux-6.6.y
console output:
https://syzkaller.appspot.com/x/log.txt?x=155cb146580000
kernel config:
https://syzkaller.appspot.com/x/.config?x=441765643cbfb8d
dashboard link:
https://syzkaller.appspot.com/bug?extid=419fa9f4a183b1e48463
compiler: Debian clang version 22.1.6 (++20260514074242+fc4aad7b5db3-1~exp1~20260514074407.73), Debian LLD 22.1.6
syz repro:
https://syzkaller.appspot.com/x/repro.syz?x=136f21d0580000
C reproducer:
https://syzkaller.appspot.com/x/repro.c?x=1432b9fa580000
Downloadable assets:
disk image:
https://storage.googleapis.com/syzbot-assets/4e37bcd98892/disk-d1cfde2d.raw.xz
vmlinux:
https://storage.googleapis.com/syzbot-assets/64b2ed856057/vmlinux-d1cfde2d.xz
kernel image:
https://storage.googleapis.com/syzbot-assets/0a6949479d66/bzImage-d1cfde2d.xz
rcu: Tasks blocked on level-0 rcu_node (CPUs 0-1): P11/2:b..l
rcu: (detected by 0, t=10502 jiffies, g=13529, q=415 ncpus=2)
task:kworker/u4:0 state:R running task stack:25032 pid:11 ppid:2 flags:0x00004000
Workqueue: ipv6_addrconf addrconf_dad_work
Call Trace:
<TASK>
context_switch kernel/sched/core.c:5381 [inline]
__schedule+0x15ae/0x4660 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
__local_bh_enable_ip+0x14b/0x1c0 kernel/softirq.c:413
local_bh_enable include/linux/bottom_half.h:33 [inline]
rcu_read_unlock_bh include/linux/rcupdate.h:856 [inline]
__dev_queue_xmit+0x1bc2/0x3630 net/core/dev.c:4490
dev_queue_xmit include/linux/netdevice.h:3113 [inline]
neigh_hh_output include/net/neighbour.h:527 [inline]
neigh_output include/net/neighbour.h:541 [inline]
ip6_finish_output2+0xdf7/0x1620 net/ipv6/ip6_output.c:141
dst_output include/net/dst.h:467 [inline]
NF_HOOK+0x167/0x4a0 include/linux/netfilter.h:304
mld_sendpack+0x802/0xd60 net/ipv6/mcast.c:1823
ipv6_mc_dad_complete+0x87/0x4b0 net/ipv6/mcast.c:2248
addrconf_dad_completed+0x77e/0xd90 net/ipv6/addrconf.c:4327
addrconf_dad_work+0xc9e/0x1550 net/ipv6/addrconf.c:-1
process_one_work kernel/workqueue.c:2653 [inline]
process_scheduled_works+0xa60/0x1600 kernel/workqueue.c:2730
worker_thread+0xa5e/0xfe0 kernel/workqueue.c:2811
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: rcu_preempt kthread starved for 10532 jiffies! g13529 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:25960 pid:17 ppid:2 flags:0x00004000
Call Trace:
<TASK>
context_switch kernel/sched/core.c:5381 [inline]
__schedule+0x15ae/0x4660 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+0x30d/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: 6021 Comm: syz.1.18 Not tainted syzkaller #0
Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 05/09/2026
RIP: 0010:netdev_core_pick_tx+0x11a/0x370 net/core/dev.c:4325
Code: 8b 6d 00 49 83 c5 30 4c 89 e8 48 c1 e8 03 48 b9 00 00 00 00 00 fc ff df 80 3c 08 00 74 08 4c 89 ef e8 fa 44 67 f9 4d 8b 6d 00 <4d> 85 ed 74 13 e8 7c d0 0e f9 48 89 df 4c 89 f6 4c 89 e2 41 ff d5
RSP: 0018:ffffc900001f0668 EFLAGS: 00000246
RAX: 1ffffffff16a68e2 RBX: ffff88806ca10000 RCX: dffffc0000000000
RDX: ffff88802c6dbc00 RSI: 0000000000000002 RDI: 0000000000000001
RBP: 0000000000000002 R08: dffffc0000000000 R09: 1ffffffff22378ad
R10: dffffc0000000000 R11: fffffbfff22378ae R12: 0000000000000000
R13: 0000000000000000 R14: ffff88801fb0b640 R15: 1ffff1100d942089
FS: 000055557c607500(0000) GS:ffff8880b8f00000(0000) knlGS:0000000000000000
CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033
CR2: 0000200000004200 CR3: 000000005f210000 CR4: 00000000003506e0
Call Trace:
<IRQ>
__dev_queue_xmit+0x864/0x3630 net/core/dev.c:4410
dev_queue_xmit include/linux/netdevice.h:3113 [inline]
hsr_xmit net/hsr/hsr_forward.c:382 [inline]
hsr_forward_do net/hsr/hsr_forward.c:473 [inline]
hsr_forward_skb+0x12a9/0x20b0 net/hsr/hsr_forward.c:626
send_hsr_supervision_frame+0x5fb/0xb90 net/hsr/hsr_device.c:346
hsr_announce+0x198/0x350 net/hsr/hsr_device.c:402
call_timer_fn+0x189/0x540 kernel/time/timer.c:1701
expire_timers kernel/time/timer.c:1752 [inline]
__run_timers+0x570/0x810 kernel/time/timer.c:2023
run_timer_softirq+0x67/0xf0 kernel/time/timer.c:2036
handle_softirqs+0x27d/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:in_gate_area_no_mm+0x3d/0x50 arch/x86/entry/vsyscall/vsyscall_64.c:332
Code: 0b bf 02 00 00 00 89 ee e8 00 4d 86 00 83 fd 02 40 0f 95 c5 48 81 e3 00 f0 ff ff 48 c7 c7 00 00 60 ff 48 89 de e8 73 4d 86 00 <48> 81 fb 00 00 60 ff 0f 94 c0 40 20 e8 0f b6 c0 5b 5d c3 f3 0f 1e
RSP: 0018:ffffc900035073b8 EFLAGS: 00000293
RAX: ffffffff81009c1d RBX: 00007fd46899d000 RCX: ffff88802c6dbc00
RDX: 0000000000000000 RSI: 00007fd46899d000 RDI: ffffffffff600000
RBP: 0000000000000001 R08: ffff88802c6dbc00 R09: 0000000000000003
R10: 0000000000000004 R11: 0000000000000000 R12: ffffffff8aa000d0
R13: ffffc90003507840 R14: dffffc0000000000 R15: 1ffff920006a0e8e
is_kernel_text include/linux/kallsyms.h:31 [inline]
core_kernel_text kernel/extable.c:68 [inline]
kernel_text_address+0x2d/0xd0 kernel/extable.c:99
__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+0xaa/0x100 kernel/stacktrace.c:122
kasan_save_stack mm/kasan/common.c:46 [inline]
kasan_set_track+0x4e/0x70 mm/kasan/common.c:53
kasan_save_free_info+0x28/0x40 mm/kasan/generic.c:522
____kasan_slab_free+0x126/0x1f0 mm/kasan/common.c:237
kasan_slab_free include/linux/kasan.h:164 [inline]
slab_free_hook mm/slub.c:1811 [inline]
slab_free_freelist_hook+0x130/0x1a0 mm/slub.c:1837
slab_free mm/slub.c:3830 [inline]
__kmem_cache_free+0xba/0x1f0 mm/slub.c:3843
iter_file_splice_write+0xb36/0xcf0 fs/splice.c:764
do_splice_from fs/splice.c:933 [inline]
direct_splice_actor+0xe8/0x130 fs/splice.c:1142
splice_direct_to_actor+0x30b/0x8e0 fs/splice.c:1088
do_splice_direct+0x1d5/0x2f0 fs/splice.c:1194
do_sendfile+0x52b/0xe80 fs/read_write.c:1254
__do_sys_sendfile64 fs/read_write.c:1322 [inline]
__se_sys_sendfile64+0x145/0x1a0 fs/read_write.c:1308
do_syscall_x64 arch/x86/entry/common.c:46 [inline]
do_syscall_64+0x55/0xb0 arch/x86/entry/common.c:76
entry_SYSCALL_64_after_hwframe+0x68/0xd2
RIP: 0033:0x7fd46899de59
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:00007fffc47efc68 EFLAGS: 00000246 ORIG_RAX: 0000000000000028
RAX: ffffffffffffffda RBX: 00007fd468c25fa0 RCX: 00007fd46899de59
RDX: 0000000000000000 RSI: 0000000000000007 RDI: 0000000000000008
RBP: 00007fd468a33e6f R08: 0000000000000000 R09: 0000000000000000
R10: 000000007fffffff R11: 0000000000000246 R12: 0000000000000000
R13: 00007fd468c25fac R14: 00007fd468c25fa0 R15: 00007fd468c25fa0
</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.