[v5.15] BUG: soft lockup in wg_packet_tx_worker

5 views
Skip to first unread message

syzbot

unread,
Nov 16, 2024, 11:23:31 AM11/16/24
to syzkaller...@googlegroups.com
Hello,

syzbot found the following issue on:

HEAD commit: d98fd109f827 Linux 5.15.172
git tree: linux-5.15.y
console output: https://syzkaller.appspot.com/x/log.txt?x=12b89b5f980000
kernel config: https://syzkaller.appspot.com/x/.config?x=59de8684d8fa887b
dashboard link: https://syzkaller.appspot.com/bug?extid=25c3230da59774581486
compiler: Debian clang version 15.0.6, GNU ld (GNU Binutils for Debian) 2.40
userspace arch: arm64
syz repro: https://syzkaller.appspot.com/x/repro.syz?x=1230b130580000
C reproducer: https://syzkaller.appspot.com/x/repro.c?x=131122e8580000

Downloadable assets:
disk image: https://storage.googleapis.com/syzbot-assets/f084f6e552b3/disk-d98fd109.raw.xz
vmlinux: https://storage.googleapis.com/syzbot-assets/0a4045cbebf6/vmlinux-d98fd109.xz
kernel image: https://storage.googleapis.com/syzbot-assets/d65ebe028930/Image-d98fd109.gz.xz

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

watchdog: BUG: soft lockup - CPU#0 stuck for 22s! [wg-crypt-wg2:4043]
Modules linked in:
irq event stamp: 6529
hardirqs last enabled at (6528): [<ffff800011ab9be4>] __exit_to_kernel_mode arch/arm64/kernel/entry-common.c:81 [inline]
hardirqs last enabled at (6528): [<ffff800011ab9be4>] exit_to_kernel_mode+0x100/0x178 arch/arm64/kernel/entry-common.c:91
hardirqs last disabled at (6529): [<ffff800011ab9e2c>] enter_el1_irq_or_nmi+0x10/0x1c arch/arm64/kernel/entry-common.c:227
softirqs last enabled at (1822): [<ffff80000c83fe34>] local_bh_enable+0x10/0x34 include/linux/bottom_half.h:31
softirqs last disabled at (1826): [<ffff80000c84af2c>] wg_socket_send_skb_to_peer+0x64/0x1a8 drivers/net/wireguard/socket.c:173
CPU: 0 PID: 4043 Comm: wg-crypt-wg2 Not tainted 5.15.172-syzkaller #0
Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 10/30/2024
Workqueue: wg-crypt-wg2 wg_packet_tx_worker
pstate: 80400005 (Nzcv daif +PAN -UAO -TCO -DIT -SSBS BTYPE=--)
pc : fq_dequeue+0x538/0x18fc net/sched/sch_fq.c:549
lr : fq_flow_add_tail net/sched/sch_fq.c:165 [inline]
lr : fq_dequeue+0x700/0x18fc net/sched/sch_fq.c:564
sp : ffff80001ff670c0
x29: ffff80001ff671e0 x28: ffff0000db58b2c0 x27: 000000202179a978
x26: dfff800000000000 x25: ffff0000c8602240 x24: ffff0000db58b2e8
x23: 1fffe000190c0451 x22: ffff0000db58b2d0 x21: ffff0000c8602108
x20: ffff0000db58b2d8 x19: ffff0000c8602288 x18: 0000000000000802
x17: 0000000000000000 x16: ffff8000082ec8b8 x15: 0000000000000001
x14: 1ffff0000295806a x13: dfff800000000000 x12: 0000000000000003
x11: 0000000000000802 x10: 0000000000000000 x9 : ffff0000d5073680
x8 : 0000000000000000 x7 : 0000000000000000 x6 : 0000000000000000
x5 : 0000000000000080 x4 : 0000000000000000 x3 : ffff80000804605c
x2 : 0000000000000002 x1 : 00000000e274b1f4 x0 : 0000000000000001
Call trace:
fq_dequeue+0x538/0x18fc net/sched/sch_fq.c:549
dequeue_skb net/sched/sch_generic.c:292 [inline]
qdisc_restart net/sched/sch_generic.c:397 [inline]
__qdisc_run+0x1ec/0x1fc0 net/sched/sch_generic.c:415
__dev_xmit_skb net/core/dev.c:3910 [inline]
__dev_queue_xmit+0x1038/0x2ac8 net/core/dev.c:4221
dev_queue_xmit+0x24/0x34 net/core/dev.c:4289
neigh_hh_output include/net/neighbour.h:493 [inline]
neigh_output include/net/neighbour.h:507 [inline]
ip_finish_output2+0xd3c/0x131c net/ipv4/ip_output.c:228
__ip_finish_output+0x1b0/0x458
ip_finish_output+0x40/0x218 net/ipv4/ip_output.c:316
NF_HOOK_COND include/linux/netfilter.h:291 [inline]
ip_output+0x330/0x49c net/ipv4/ip_output.c:430
dst_output include/net/dst.h:443 [inline]
ip_local_out+0x120/0x160 net/ipv4/ip_output.c:126
iptunnel_xmit+0x40c/0x8fc net/ipv4/ip_tunnel_core.c:82
udp_tunnel_xmit_skb+0x178/0x284 net/ipv4/udp_tunnel_core.c:175
send4+0x73c/0xcb0 drivers/net/wireguard/socket.c:85
wg_socket_send_skb_to_peer+0xc8/0x1a8 drivers/net/wireguard/socket.c:175
wg_packet_create_data_done drivers/net/wireguard/send.c:251 [inline]
wg_packet_tx_worker+0x1a8/0x714 drivers/net/wireguard/send.c:276
process_one_work+0x790/0x11b8 kernel/workqueue.c:2310
process_scheduled_works kernel/workqueue.c:2373 [inline]
rescuer_thread+0x5f4/0xe20 kernel/workqueue.c:2564
kthread+0x37c/0x45c kernel/kthread.c:334
ret_from_fork+0x10/0x20 arch/arm64/kernel/entry.S:870


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