syzbot


BUG: unable to handle kernel paging request in wg_destruct

Status: moderation: reported on 2025/05/14 01:42
Subsystems: wireguard
[Documentation on labels]
Reported-by: syzbot+80a83fa36a6929334890@syzkaller.appspotmail.com
First crash: 4d06h, last: 4d06h
Similar bugs (2)
Kernel Title Repro Cause bisect Fix bisect Count Last Reported Patched Status
upstream KASAN: slab-out-of-bounds Read in wg_destruct wireguard 3 776d 777d 0/28 auto-obsoleted due to no activity on 2023/06/20 10:46
upstream general protection fault in wg_destruct wireguard 1 205d 205d 0/28 closed as invalid on 2024/12/17 17:57

Sample crash report:
veth1_vlan: left promiscuous mode
veth0_vlan: left promiscuous mode
team0 (unregistering): Port device team_slave_1 removed
team0 (unregistering): Port device team_slave_0 removed
BUG: unable to handle page fault for address: ffffffffffffff78
#PF: supervisor read access in kernel mode
#PF: error_code(0x0000) - not-present page
PGD e184067 P4D e184067 PUD e186067 PMD 0 
Oops: Oops: 0000 [#1] SMP KASAN NOPTI
CPU: 1 UID: 0 PID: 1134 Comm: kworker/u32:6 Not tainted 6.15.0-rc5-syzkaller-00204-g0e1329d4045c #0 PREEMPT(full) 
Hardware name: QEMU Standard PC (Q35 + ICH9, 2009), BIOS 1.16.3-debian-1.16.3-2~bpo12+1 04/01/2014
Workqueue: netns cleanup_net
RIP: 0010:flush_workqueue_prep_pwqs+0x16a/0x510 kernel/workqueue.c:3865
Code: 00 00 00 48 8d 98 78 ff ff ff 48 39 04 24 0f 84 61 01 00 00 e8 47 bd 38 00 48 89 d8 48 c1 e8 03 80 3c 28 00 0f 85 f9 02 00 00 <4c> 8b 3b 4d 39 ef 74 3c e8 29 bd 38 00 4d 85 ed 0f 84 81 01 00 00
RSP: 0018:ffffc90006daf640 EFLAGS: 00010246
RAX: 1fffffffffffffef RBX: ffffffffffffff78 RCX: ffff88802593b000
RDX: ffff88801fec2440 RSI: ffffffff8181df99 RDI: ffff88802593b0b8
RBP: dffffc0000000000 R08: 0000000000000001 R09: ffffed1004b27617
R10: ffff88802593b0bb R11: 0000000000000000 R12: 0000000000000001
R13: 0000000000000000 R14: 0000000000000000 R15: 0000000000000000
FS:  0000000000000000(0000) GS:ffff8880978ec000(0000) knlGS:0000000000000000
CS:  0010 DS: 0000 ES: 0000 CR0: 0000000080050033
CR2: ffffffffffffff78 CR3: 000000000e180000 CR4: 0000000000352ef0
DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000
DR3: 0000000000000000 DR6: 00000000fffe0ff0 DR7: 0000000000000400
Call Trace:
 <TASK>
 __flush_workqueue+0x50c/0x1230 kernel/workqueue.c:3974
 drain_workqueue+0x199/0x3d0 kernel/workqueue.c:4113
 destroy_workqueue+0xc2/0xaa0 kernel/workqueue.c:5858
 wg_destruct+0x1f1/0x3d0 drivers/net/wireguard/device.c:255
 netdev_run_todo+0x78c/0x1320 net/core/dev.c:11298
 default_device_exit_batch+0x858/0xaf0 net/core/dev.c:12529
 ops_exit_list+0x128/0x180 net/core/net_namespace.c:177
 cleanup_net+0x5c1/0xb30 net/core/net_namespace.c:654
 process_one_work+0x9cc/0x1b70 kernel/workqueue.c:3238
 process_scheduled_works kernel/workqueue.c:3319 [inline]
 worker_thread+0x6c8/0xf10 kernel/workqueue.c:3400
 kthread+0x3c2/0x780 kernel/kthread.c:464
 ret_from_fork+0x45/0x80 arch/x86/kernel/process.c:153
 ret_from_fork_asm+0x1a/0x30 arch/x86/entry/entry_64.S:245
 </TASK>
Modules linked in:
CR2: ffffffffffffff78
---[ end trace 0000000000000000 ]---
RIP: 0010:flush_workqueue_prep_pwqs+0x16a/0x510 kernel/workqueue.c:3865
Code: 00 00 00 48 8d 98 78 ff ff ff 48 39 04 24 0f 84 61 01 00 00 e8 47 bd 38 00 48 89 d8 48 c1 e8 03 80 3c 28 00 0f 85 f9 02 00 00 <4c> 8b 3b 4d 39 ef 74 3c e8 29 bd 38 00 4d 85 ed 0f 84 81 01 00 00
RSP: 0018:ffffc90006daf640 EFLAGS: 00010246
RAX: 1fffffffffffffef RBX: ffffffffffffff78 RCX: ffff88802593b000
RDX: ffff88801fec2440 RSI: ffffffff8181df99 RDI: ffff88802593b0b8
RBP: dffffc0000000000 R08: 0000000000000001 R09: ffffed1004b27617
R10: ffff88802593b0bb R11: 0000000000000000 R12: 0000000000000001
R13: 0000000000000000 R14: 0000000000000000 R15: 0000000000000000
FS:  0000000000000000(0000) GS:ffff8880978ec000(0000) knlGS:0000000000000000
CS:  0010 DS: 0000 ES: 0000 CR0: 0000000080050033
CR2: ffffffffffffff78 CR3: 000000000e180000 CR4: 0000000000352ef0
DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000
DR3: 0000000000000000 DR6: 00000000fffe0ff0 DR7: 0000000000000400
----------------
Code disassembly (best guess), 1 bytes skipped:
   0:	00 00                	add    %al,(%rax)
   2:	48 8d 98 78 ff ff ff 	lea    -0x88(%rax),%rbx
   9:	48 39 04 24          	cmp    %rax,(%rsp)
   d:	0f 84 61 01 00 00    	je     0x174
  13:	e8 47 bd 38 00       	call   0x38bd5f
  18:	48 89 d8             	mov    %rbx,%rax
  1b:	48 c1 e8 03          	shr    $0x3,%rax
  1f:	80 3c 28 00          	cmpb   $0x0,(%rax,%rbp,1)
  23:	0f 85 f9 02 00 00    	jne    0x322
* 29:	4c 8b 3b             	mov    (%rbx),%r15 <-- trapping instruction
  2c:	4d 39 ef             	cmp    %r13,%r15
  2f:	74 3c                	je     0x6d
  31:	e8 29 bd 38 00       	call   0x38bd5f
  36:	4d 85 ed             	test   %r13,%r13
  39:	0f 84 81 01 00 00    	je     0x1c0

Crashes (1):
Time Kernel Commit Syzkaller Config Log Report Syz repro C repro VM info Assets (help?) Manager Title
2025/05/10 01:35 upstream 0e1329d4045c 77908e5f .config console log report info [disk image (non-bootable)] [vmlinux] [kernel image] ci-qemu-upstream-386 BUG: unable to handle kernel paging request in wg_destruct
* Struck through repros no longer work on HEAD.