syzbot


general protection fault in ip_route_output_key_hash_rcu (2)

Status: closed as invalid on 2024/07/26 12:16
Subsystems: net
[Documentation on labels]
First crash: 253d, last: 242d
Similar bugs (7)
Kernel Title Repro Cause bisect Fix bisect Count Last Reported Patched Status
upstream general protection fault in ip_route_output_key_hash_rcu net 46 1989d 2018d 0/28 closed as invalid on 2019/10/03 03:38
linux-4.19 general protection fault in ip_route_output_key_hash_rcu 2 1996d 2003d 0/1 auto-closed as invalid on 2019/12/10 05:04
upstream KMSAN: uninit-value in IP6_ECN_decapsulate net C 981 406d 2322d 25/28 fixed on 2023/12/21 03:45
upstream KMSAN: uninit-value in ip_route_output_key_hash_rcu (4) net 2 1457d 1476d 0/28 auto-closed as invalid on 2021/06/01 04:17
upstream KMSAN: kernel-infoleak in copyout (2) net C 6723 600d 1769d 22/28 fixed on 2023/06/08 14:41
upstream KMSAN: uninit-value in ip_route_output_key_hash_rcu (5) net 1 1155d 1155d 0/28 auto-closed as invalid on 2022/02/28 08:56
upstream KMSAN: kernel-infoleak in _copy_to_iter (7) net C 138977 704d 1056d 22/28 fixed on 2023/02/24 13:50

Sample crash report:
Oops: general protection fault, probably for non-canonical address 0xdffffc0000000008: 0000 [#1] PREEMPT SMP KASAN NOPTI
KASAN: null-ptr-deref in range [0x0000000000000040-0x0000000000000047]
CPU: 2 PID: 1128 Comm: kworker/u32:9 Not tainted 6.10.0-rc1-syzkaller-00027-g4a4be1ad3a6e #0
Hardware name: QEMU Standard PC (Q35 + ICH9, 2009), BIOS 1.16.2-debian-1.16.2-1 04/01/2014
Workqueue: wg-kex-wg1 wg_packet_handshake_send_worker
RIP: 0010:rt_cache_valid net/ipv4/route.c:1550 [inline]
RIP: 0010:__mkroute_output net/ipv4/route.c:2575 [inline]
RIP: 0010:ip_route_output_key_hash_rcu+0x73d/0x2770 net/ipv4/route.c:2802
Code: 0f 85 94 11 00 00 e8 d2 41 4e f8 4d 85 f6 74 51 e8 c8 41 4e f8 49 8d 7e 3a 48 b8 00 00 00 00 00 fc ff df 48 89 fa 48 c1 ea 03 <0f> b6 14 02 48 89 f8 83 e0 07 83 c0 01 38 d0 7c 09 84 d2 74 05 e8
RSP: 0018:ffffc90007047840 EFLAGS: 00010203
RAX: dffffc0000000000 RBX: ffffc90007047a10 RCX: ffffffff89404f43
RDX: 0000000000000008 RSI: ffffffff89403da8 RDI: 0000000000000044
RBP: ffff888029a10400 R08: 0000000000000005 R09: 0000000000000000
R10: 0000000000000001 R11: 0000000000000005 R12: 0000000000000001
R13: ffff888028d42e80 R14: 000000000000000a R15: ffff888011516000
FS:  0000000000000000(0000) GS:ffff88802c200000(0000) knlGS:0000000000000000
CS:  0010 DS: 0000 ES: 0000 CR0: 0000000080050033
CR2: 00007f9169541d98 CR3: 000000005d19e000 CR4: 0000000000350ef0
DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000
DR3: 0000000000000000 DR6: 00000000fffe0ff0 DR7: 0000000000000400
Call Trace:
 <TASK>
 ip_route_output_key_hash+0x138/0x2e0 net/ipv4/route.c:2631
 __ip_route_output_key include/net/route.h:140 [inline]
 ip_route_output_flow+0x27/0x150 net/ipv4/route.c:2859
 send4+0x5da/0xe20 drivers/net/wireguard/socket.c:61
 wg_socket_send_skb_to_peer+0x196/0x220 drivers/net/wireguard/socket.c:175
 wg_socket_send_buffer_to_peer+0x12b/0x190 drivers/net/wireguard/socket.c:200
 wg_packet_send_handshake_initiation+0x227/0x360 drivers/net/wireguard/send.c:40
 wg_packet_handshake_send_worker+0x1c/0x30 drivers/net/wireguard/send.c:51
 process_one_work+0x958/0x1ad0 kernel/workqueue.c:3231
 process_scheduled_works kernel/workqueue.c:3312 [inline]
 worker_thread+0x6c8/0xf70 kernel/workqueue.c:3393
 kthread+0x2c1/0x3a0 kernel/kthread.c:389
 ret_from_fork+0x45/0x80 arch/x86/kernel/process.c:147
 ret_from_fork_asm+0x1a/0x30 arch/x86/entry/entry_64.S:244
 </TASK>
Modules linked in:
---[ end trace 0000000000000000 ]---
RIP: 0010:rt_cache_valid net/ipv4/route.c:1550 [inline]
RIP: 0010:__mkroute_output net/ipv4/route.c:2575 [inline]
RIP: 0010:ip_route_output_key_hash_rcu+0x73d/0x2770 net/ipv4/route.c:2802
Code: 0f 85 94 11 00 00 e8 d2 41 4e f8 4d 85 f6 74 51 e8 c8 41 4e f8 49 8d 7e 3a 48 b8 00 00 00 00 00 fc ff df 48 89 fa 48 c1 ea 03 <0f> b6 14 02 48 89 f8 83 e0 07 83 c0 01 38 d0 7c 09 84 d2 74 05 e8
RSP: 0018:ffffc90007047840 EFLAGS: 00010203
RAX: dffffc0000000000 RBX: ffffc90007047a10 RCX: ffffffff89404f43
RDX: 0000000000000008 RSI: ffffffff89403da8 RDI: 0000000000000044
RBP: ffff888029a10400 R08: 0000000000000005 R09: 0000000000000000
R10: 0000000000000001 R11: 0000000000000005 R12: 0000000000000001
R13: ffff888028d42e80 R14: 000000000000000a R15: ffff888011516000
FS:  0000000000000000(0000) GS:ffff88802c200000(0000) knlGS:0000000000000000
CS:  0010 DS: 0000 ES: 0000 CR0: 0000000080050033
CR2: 00007f9169541d98 CR3: 000000005d19e000 CR4: 0000000000350ef0
DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000
DR3: 0000000000000000 DR6: 00000000fffe0ff0 DR7: 0000000000000400
----------------
Code disassembly (best guess):
   0:	0f 85 94 11 00 00    	jne    0x119a
   6:	e8 d2 41 4e f8       	call   0xf84e41dd
   b:	4d 85 f6             	test   %r14,%r14
   e:	74 51                	je     0x61
  10:	e8 c8 41 4e f8       	call   0xf84e41dd
  15:	49 8d 7e 3a          	lea    0x3a(%r14),%rdi
  19:	48 b8 00 00 00 00 00 	movabs $0xdffffc0000000000,%rax
  20:	fc ff df
  23:	48 89 fa             	mov    %rdi,%rdx
  26:	48 c1 ea 03          	shr    $0x3,%rdx
* 2a:	0f b6 14 02          	movzbl (%rdx,%rax,1),%edx <-- trapping instruction
  2e:	48 89 f8             	mov    %rdi,%rax
  31:	83 e0 07             	and    $0x7,%eax
  34:	83 c0 01             	add    $0x1,%eax
  37:	38 d0                	cmp    %dl,%al
  39:	7c 09                	jl     0x44
  3b:	84 d2                	test   %dl,%dl
  3d:	74 05                	je     0x44
  3f:	e8                   	.byte 0xe8

Crashes (2):
Time Kernel Commit Syzkaller Config Log Report Syz repro C repro VM info Assets (help?) Manager Title
2024/05/31 18:24 upstream 4a4be1ad3a6e c2e07261 .config console log report info [disk image (non-bootable)] [vmlinux] [kernel image] ci-qemu-upstream-386 general protection fault in ip_route_output_key_hash_rcu
2024/05/21 01:03 upstream 6e51b4b5bbc0 c2e07261 .config console log report info [disk image (non-bootable)] [vmlinux] [kernel image] ci-qemu-upstream-386 general protection fault in ip_route_output_key_hash_rcu
* Struck through repros no longer work on HEAD.