syzbot


general protection fault in ip_route_output_key_hash_rcu (3)

Status: internal: reported on 2025/01/31 12:44
Subsystems: net
[Documentation on labels]
Fix commit: 27843ce6ba3d ipvlan: ensure network headers are in skb linear part
Patched on: [ci-qemu-gce-upstream-auto ci-qemu-upstream ci-qemu-upstream-386 ci-qemu2-arm64 ci-qemu2-arm64-compat ci-qemu2-arm64-mte ci-snapshot-upstream-root ci-upstream-bpf-kasan-gce ci-upstream-bpf-next-kasan-gce ci-upstream-gce-arm64 ci-upstream-gce-leak ci-upstream-kasan-badwrites-root ci-upstream-kasan-gce ci-upstream-kasan-gce-386 ci-upstream-kasan-gce-root ci-upstream-kasan-gce-selinux-root ci-upstream-kasan-gce-smack-root ci-upstream-kmsan-gce-386-root ci-upstream-kmsan-gce-root ci-upstream-linux-next-kasan-gce-root ci-upstream-net-kasan-gce ci-upstream-net-this-kasan-gce ci2-upstream-fs ci2-upstream-kcsan-gce ci2-upstream-usb], missing on: [ci-qemu-native-arm64-kvm ci-qemu2-arm32 ci-qemu2-riscv64]
First crash: 60d, last: 34d
Similar bugs (11)
Kernel Title Repro Cause bisect Fix bisect Count Last Reported Patched Status
upstream general protection fault in ip_route_output_key_hash_rcu (2) net 2 305d 315d 0/28 closed as invalid on 2024/07/26 12:16
upstream general protection fault in ip_route_output_key_hash_rcu net 46 2052d 2081d 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 2059d 2066d 0/1 auto-closed as invalid on 2019/12/10 05:04
upstream KMSAN: uninit-value in IP6_ECN_decapsulate net C 981 469d 2385d 25/28 fixed on 2023/12/21 03:45
upstream KMSAN: uninit-value in ip_route_output_key_hash_rcu (4) net 2 1520d 1539d 0/28 auto-closed as invalid on 2021/06/01 04:17
upstream KMSAN: kernel-infoleak in copyout (2) net C 6723 663d 1832d 22/28 fixed on 2023/06/08 14:41
upstream KMSAN: uninit-value in ip_route_output_key_hash_rcu (5) net 1 1218d 1218d 0/28 auto-closed as invalid on 2022/02/28 08:56
upstream KMSAN: kernel-infoleak in _copy_to_iter (7) net C 138977 767d 1119d 22/28 fixed on 2023/02/24 13:50
upstream KMSAN: uninit-value in ip_route_output_key_hash_rcu (2) net 1 2512d 2512d 0/28 closed as invalid on 2018/06/27 15:18
upstream KMSAN: uninit-value in ip_route_output_key_hash_rcu (3) net 2 1837d 1862d 0/28 auto-closed as invalid on 2020/06/19 03:56
upstream KMSAN: uninit-value in ip_route_output_key_hash_rcu net 179 2520d 2551d 5/28 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.