syzbot


INFO: rcu detected stall in wg_packet_handshake_receive_worker

Status: upstream: reported on 2024/07/11 08:12
Reported-by: syzbot+9e56a56752d3ef48d28a@syzkaller.appspotmail.com
First crash: 91d, last: 91d
Similar bugs (5)
Kernel Title Repro Cause bisect Fix bisect Count Last Reported Patched Status
linux-6.1 BUG: soft lockup in wg_packet_handshake_receive_worker origin:upstream C error 7 31d 499d 0/3 upstream: reported C repro on 2023/05/29 21:30
upstream INFO: rcu detected stall in wg_packet_handshake_receive_worker (2) wireguard 1 351d 351d 0/28 auto-obsoleted due to no activity on 2024/01/22 15:31
upstream INFO: rcu detected stall in wg_packet_handshake_receive_worker wireguard C error inconclusive 3 454d 1350d 0/28 auto-obsoleted due to no activity on 2023/10/21 23:48
upstream BUG: soft lockup in wg_packet_handshake_receive_worker wireguard 1 103d 99d 0/28 auto-obsoleted due to no activity on 2024/09/26 23:05
android-5-15 BUG: soft lockup in wg_packet_handshake_receive_worker origin:lts syz 1 31d 31d 0/2 premoderation: reported syz repro on 2024/09/09 09:09

Sample crash report:
rcu: INFO: rcu_preempt detected stalls on CPUs/tasks:
	(detected by 0, t=14090 jiffies, g=33037, q=1102)
rcu: All QSes seen, last rcu_preempt kthread activity 4138 (4294980084-4294975946), jiffies_till_next_fqs=1, root ->qsmask 0x0
rcu: rcu_preempt kthread starved for 4138 jiffies! g33037 f0x2 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:27064 pid:   15 ppid:     2 flags:0x00004000
Call Trace:
 <TASK>
 context_switch kernel/sched/core.c:5030 [inline]
 __schedule+0x12c4/0x45b0 kernel/sched/core.c:6376
 schedule+0x11b/0x1f0 kernel/sched/core.c:6459
 schedule_timeout+0x1b9/0x300 kernel/time/timer.c:1914
 rcu_gp_fqs_loop+0x2bf/0x1080 kernel/rcu/tree.c:1972
 rcu_gp_kthread+0xa4/0x360 kernel/rcu/tree.c:2145
 kthread+0x3f6/0x4f0 kernel/kthread.c:334
 ret_from_fork+0x1f/0x30 arch/x86/entry/entry_64.S:300
 </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: 3549 Comm: kworker/1:5 Not tainted 5.15.162-syzkaller #0
Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 06/07/2024
Workqueue: wg-kex-wg2 wg_packet_handshake_receive_worker
RIP: 0010:lock_acquire+0x239/0x4f0 kernel/locking/lockdep.c:5626
Code: 4c 89 f7 e8 49 7f 67 00 48 c7 44 24 60 00 00 00 00 9c 8f 44 24 60 42 80 3c 2b 00 74 08 4c 89 f7 e8 ac 7e 67 00 f6 44 24 61 02 <0f> 85 84 01 00 00 41 f7 c7 00 02 00 00 74 01 fb 48 c7 44 24 40 0e
RSP: 0018:ffffc90000dd0b40 EFLAGS: 00000046
RAX: 0000000000000001 RBX: 1ffff920001ba174 RCX: 1ffff920001ba114
RDX: dffffc0000000000 RSI: ffffffff8a8b3ca0 RDI: ffffffff8ad8f680
RBP: ffffc90000dd0ca0 R08: dffffc0000000000 R09: fffffbfff1f7f219
R10: 0000000000000000 R11: dffffc0000000001 R12: 1ffff920001ba170
R13: dffffc0000000000 R14: ffffc90000dd0ba0 R15: 0000000000000046
FS:  0000000000000000(0000) GS:ffff8880b9b00000(0000) knlGS:0000000000000000
CS:  0010 DS: 0000 ES: 0000 CR0: 0000000080050033
CR2: 00007efc67d276c0 CR3: 0000000074ce9000 CR4: 00000000003506e0
DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000
DR3: 0000000000000000 DR6: 00000000fffe0ff0 DR7: 0000000000000400
Call Trace:
 <NMI>
 </NMI>
 <IRQ>
 rcu_lock_acquire+0x2a/0x30 include/linux/rcupdate.h:312
 rcu_read_lock include/linux/rcupdate.h:739 [inline]
 advance_sched+0x6ce/0x940 net/sched/sch_taprio.c:769
 __run_hrtimer kernel/time/hrtimer.c:1686 [inline]
 __hrtimer_run_queues+0x598/0xcf0 kernel/time/hrtimer.c:1750
 hrtimer_interrupt+0x392/0x980 kernel/time/hrtimer.c:1812
 local_apic_timer_interrupt arch/x86/kernel/apic/apic.c:1085 [inline]
 __sysvec_apic_timer_interrupt+0x139/0x470 arch/x86/kernel/apic/apic.c:1102
 sysvec_apic_timer_interrupt+0x8c/0xb0 arch/x86/kernel/apic/apic.c:1096
 </IRQ>
 <TASK>
 asm_sysvec_apic_timer_interrupt+0x16/0x20 arch/x86/include/asm/idtentry.h:638
RIP: 0010:___slab_alloc+0x379/0xe10 mm/slub.c:2982
Code: c7 44 24 40 00 00 00 00 9c 8f 44 24 40 f7 44 24 40 00 02 00 00 0f 85 36 06 00 00 f7 c3 00 02 00 00 74 01 fb 49 83 7c 24 18 00 <0f> 84 c4 00 00 00 48 c7 44 24 40 00 00 00 00 9c 8f 44 24 40 4c 8b
RSP: 0018:ffffc90002f47790 EFLAGS: 00000246
RAX: 2dcb49985ed3bb00 RBX: 0000000000000246 RCX: ffffffff81631708
RDX: dffffc0000000000 RSI: ffffffff8a8b2a00 RDI: ffffffff8ad8f680
RBP: 0000000000000001 R08: dffffc0000000000 R09: fffffbfff1f7f238
R10: 0000000000000000 R11: dffffc0000000001 R12: ffff8880b9b43a50
R13: 0000000000000000 R14: ffffffff7fff0000 R15: ffff888144bf1140
 __slab_alloc mm/slub.c:3095 [inline]
 slab_alloc_node mm/slub.c:3186 [inline]
 kmem_cache_alloc_node+0x1ba/0x2c0 mm/slub.c:3256
 __alloc_skb+0xdd/0x590 net/core/skbuff.c:415
 alloc_skb include/linux/skbuff.h:1167 [inline]
 wg_socket_send_buffer_to_peer+0x34/0x170 drivers/net/wireguard/socket.c:192
 wg_packet_send_handshake_response+0x194/0x2d0 drivers/net/wireguard/send.c:103
 wg_receive_handshake_packet drivers/net/wireguard/receive.c:161 [inline]
 wg_packet_handshake_receive_worker+0x619/0xe00 drivers/net/wireguard/receive.c:220
 process_one_work+0x8a1/0x10c0 kernel/workqueue.c:2310
 worker_thread+0xaca/0x1280 kernel/workqueue.c:2457
 kthread+0x3f6/0x4f0 kernel/kthread.c:334
 ret_from_fork+0x1f/0x30 arch/x86/entry/entry_64.S:300
 </TASK>

Crashes (1):
Time Kernel Commit Syzkaller Config Log Report Syz repro C repro VM info Assets (help?) Manager Title
2024/07/11 08:11 linux-5.15.y f45bea23c39c c699c2eb .config console log report info [disk image] [vmlinux] [kernel image] ci2-linux-5-15-kasan INFO: rcu detected stall in wg_packet_handshake_receive_worker
* Struck through repros no longer work on HEAD.