syzbot


general protection fault in ip_route_output_key_hash_rcu (3)

Status: fixed on 2025/06/10 16:19
Subsystems: net
[Documentation on labels]
Fix commit: 27843ce6ba3d ipvlan: ensure network headers are in skb linear part
First crash: 168d, last: 142d
Similar bugs (11)
Kernel Title Rank 🛈 Repro Cause bisect Fix bisect Count Last Reported Patched Status
upstream general protection fault in ip_route_output_key_hash_rcu (2) net 2 2 413d 423d 0/29 closed as invalid on 2024/07/26 12:16
upstream general protection fault in ip_route_output_key_hash_rcu net 2 46 2160d 2189d 0/29 closed as invalid on 2019/10/03 03:38
linux-4.19 general protection fault in ip_route_output_key_hash_rcu 2 2 2167d 2174d 0/1 auto-closed as invalid on 2019/12/10 05:04
upstream KMSAN: uninit-value in IP6_ECN_decapsulate net 7 C 981 577d 2493d 25/29 fixed on 2023/12/21 03:45
upstream KMSAN: uninit-value in ip_route_output_key_hash_rcu (4) net 7 2 1628d 1647d 0/29 auto-closed as invalid on 2021/06/01 04:17
upstream KMSAN: kernel-infoleak in copyout (2) net 17 C 6723 771d 1940d 22/29 fixed on 2023/06/08 14:41
upstream KMSAN: uninit-value in ip_route_output_key_hash_rcu (5) net 7 1 1326d 1326d 0/29 auto-closed as invalid on 2022/02/28 08:56
upstream KMSAN: kernel-infoleak in _copy_to_iter (7) net 23 C 138977 875d 1227d 22/29 fixed on 2023/02/24 13:50
upstream KMSAN: uninit-value in ip_route_output_key_hash_rcu (2) net 7 1 2620d 2620d 0/29 closed as invalid on 2018/06/27 15:18
upstream KMSAN: uninit-value in ip_route_output_key_hash_rcu (3) net 7 2 1945d 1970d 0/29 auto-closed as invalid on 2020/06/19 03:56
upstream KMSAN: uninit-value in ip_route_output_key_hash_rcu net 7 179 2628d 2659d 5/29 fixed on 2018/05/08 18:30

Sample crash report:
Oops: general protection fault, probably for non-canonical address 0xdffffc0000000021: 0000 [#1] PREEMPT SMP KASAN NOPTI
KASAN: null-ptr-deref in range [0x0000000000000108-0x000000000000010f]
CPU: 0 UID: 0 PID: 5317 Comm: kworker/0:5 Not tainted 6.13.0-syzkaller-09585-gb4b0881156fb #0
Hardware name: QEMU Standard PC (Q35 + ICH9, 2009), BIOS 1.16.3-debian-1.16.3-2~bpo12+1 04/01/2014
Workqueue: mld mld_dad_work
RIP: 0010:read_pnet include/net/net_namespace.h:395 [inline]
RIP: 0010:dev_net include/linux/netdevice.h:2663 [inline]
RIP: 0010:__mkroute_output net/ipv4/route.c:2546 [inline]
RIP: 0010:ip_route_output_key_hash_rcu+0xb2e/0x2390 net/ipv4/route.c:2842
Code: c1 e8 03 48 89 44 24 68 80 3c 28 00 74 08 4c 89 ff e8 56 ac da f7 bb 08 01 00 00 49 03 1f e8 e9 ea a9 01 48 89 d8 48 c1 e8 03 <80> 3c 28 00 74 08 48 89 df e8 34 ac da f7 bd b0 06 00 00 48 03 2b
RSP: 0018:ffffc9000d3eed78 EFLAGS: 00010206
RAX: 0000000000000021 RBX: 0000000000000108 RCX: ffff88801ebb0000
RDX: 0000000000000000 RSI: 0000000000000001 RDI: 0000000000000000
RBP: dffffc0000000000 R08: ffffffff8a4b5503 R09: 1ffffffff20367ee
R10: dffffc0000000000 R11: fffffbfff20367ef R12: 0000000000000017
R13: ffff888043532200 R14: ffffc9000d3eee60 R15: ffff88804402a800
FS:  0000000000000000(0000) GS:ffff88801fc00000(0000) knlGS:0000000000000000
CS:  0010 DS: 0000 ES: 0000 CR0: 0000000080050033
CR2: 000055fa579800c8 CR3: 0000000043850000 CR4: 0000000000352ef0
DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000
DR3: 0000000000000000 DR6: 00000000fffe0ff0 DR7: 0000000000000400
Call Trace:
 <TASK>
 ip_route_output_key_hash+0x193/0x2b0 net/ipv4/route.c:2671
 __ip_route_output_key include/net/route.h:169 [inline]
 ip_route_output_flow+0x29/0x140 net/ipv4/route.c:2899
 ip_route_output_key include/net/route.h:179 [inline]
 udp_tunnel_dst_lookup+0x289/0x640 net/ipv4/udp_tunnel_core.c:239
 geneve_xmit_skb drivers/net/geneve.c:840 [inline]
 geneve_xmit+0x968/0x2cf0 drivers/net/geneve.c:1039
 __netdev_start_xmit include/linux/netdevice.h:5144 [inline]
 netdev_start_xmit include/linux/netdevice.h:5153 [inline]
 xmit_one net/core/dev.c:3735 [inline]
 dev_hard_start_xmit+0x27a/0x7d0 net/core/dev.c:3751
 __dev_queue_xmit+0x1b73/0x3f50 net/core/dev.c:4584
 dev_queue_xmit include/linux/netdevice.h:3305 [inline]
 neigh_hh_output include/net/neighbour.h:523 [inline]
 neigh_output include/net/neighbour.h:537 [inline]
 ip6_finish_output2+0x1263/0x1780 net/ipv6/ip6_output.c:141
 ip6_finish_output+0x41e/0x840 net/ipv6/ip6_output.c:226
 NF_HOOK+0x9e/0x430 include/linux/netfilter.h:314
 mld_sendpack+0x843/0xdb0 net/ipv6/mcast.c:1862
 mld_dad_work+0x44/0x500 net/ipv6/mcast.c:2303
 process_one_work kernel/workqueue.c:3236 [inline]
 process_scheduled_works+0xa66/0x1840 kernel/workqueue.c:3317
 worker_thread+0x870/0xd30 kernel/workqueue.c:3398
 kthread+0x7a9/0x920 kernel/kthread.c:464
 ret_from_fork+0x4b/0x80 arch/x86/kernel/process.c:148
 ret_from_fork_asm+0x1a/0x30 arch/x86/entry/entry_64.S:244
 </TASK>
Modules linked in:
---[ end trace 0000000000000000 ]---
RIP: 0010:read_pnet include/net/net_namespace.h:395 [inline]
RIP: 0010:dev_net include/linux/netdevice.h:2663 [inline]
RIP: 0010:__mkroute_output net/ipv4/route.c:2546 [inline]
RIP: 0010:ip_route_output_key_hash_rcu+0xb2e/0x2390 net/ipv4/route.c:2842
Code: c1 e8 03 48 89 44 24 68 80 3c 28 00 74 08 4c 89 ff e8 56 ac da f7 bb 08 01 00 00 49 03 1f e8 e9 ea a9 01 48 89 d8 48 c1 e8 03 <80> 3c 28 00 74 08 48 89 df e8 34 ac da f7 bd b0 06 00 00 48 03 2b
RSP: 0018:ffffc9000d3eed78 EFLAGS: 00010206
RAX: 0000000000000021 RBX: 0000000000000108 RCX: ffff88801ebb0000
RDX: 0000000000000000 RSI: 0000000000000001 RDI: 0000000000000000
RBP: dffffc0000000000 R08: ffffffff8a4b5503 R09: 1ffffffff20367ee
R10: dffffc0000000000 R11: fffffbfff20367ef R12: 0000000000000017
R13: ffff888043532200 R14: ffffc9000d3eee60 R15: ffff88804402a800
FS:  0000000000000000(0000) GS:ffff88801fc00000(0000) knlGS:0000000000000000
CS:  0010 DS: 0000 ES: 0000 CR0: 0000000080050033
CR2: 000055fa579800c8 CR3: 0000000043850000 CR4: 0000000000352ef0
DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000
DR3: 0000000000000000 DR6: 00000000fffe0ff0 DR7: 0000000000000400
----------------
Code disassembly (best guess):
   0:	c1 e8 03             	shr    $0x3,%eax
   3:	48 89 44 24 68       	mov    %rax,0x68(%rsp)
   8:	80 3c 28 00          	cmpb   $0x0,(%rax,%rbp,1)
   c:	74 08                	je     0x16
   e:	4c 89 ff             	mov    %r15,%rdi
  11:	e8 56 ac da f7       	call   0xf7daac6c
  16:	bb 08 01 00 00       	mov    $0x108,%ebx
  1b:	49 03 1f             	add    (%r15),%rbx
  1e:	e8 e9 ea a9 01       	call   0x1a9eb0c
  23:	48 89 d8             	mov    %rbx,%rax
  26:	48 c1 e8 03          	shr    $0x3,%rax
* 2a:	80 3c 28 00          	cmpb   $0x0,(%rax,%rbp,1) <-- trapping instruction
  2e:	74 08                	je     0x38
  30:	48 89 df             	mov    %rbx,%rdi
  33:	e8 34 ac da f7       	call   0xf7daac6c
  38:	bd b0 06 00 00       	mov    $0x6b0,%ebp
  3d:	48 03 2b             	add    (%rbx),%rbp

Crashes (4):
Time Kernel Commit Syzkaller Config Log Report Syz repro C repro VM info Assets (help?) Manager Title
2025/01/31 12:43 upstream b4b0881156fb 4c6ac32f .config console log report [disk image (non-bootable)] [vmlinux] [kernel image] ci-snapshot-upstream-root general protection fault in ip_route_output_key_hash_rcu
2025/02/08 20:38 upstream 8f6629c004b1 ef44b750 .config console log report info [disk image] [vmlinux] [kernel image] ci-upstream-kmsan-gce-root KMSAN: uninit-value in ip_route_output_key_hash_rcu
2025/02/26 05:40 upstream 2a1944bff549 d34966d1 .config console log report info [disk image] [vmlinux] [kernel image] ci-upstream-kmsan-gce-386-root KMSAN: uninit-value in ip_route_output_key_hash_rcu
2025/02/18 04:39 upstream 2408a807bfc3 9be4ace3 .config console log report info [disk image] [vmlinux] [kernel image] ci-upstream-kmsan-gce-386-root KMSAN: uninit-value in ip_route_output_key_hash_rcu
* Struck through repros no longer work on HEAD.