syzbot


general protection fault in find_match

Status: premoderation: reported on 2025/05/12 10:56
Reported-by: syzbot+5e982906b6dce78ec6a4@syzkaller.appspotmail.com
First crash: 42d, last: 18d
Similar bugs (10)
Kernel Title Repro Cause bisect Fix bisect Count Last Reported Patched Status
upstream general protection fault in find_match net C done error 10 1955d 2142d 0/29 closed as invalid on 2020/04/17 19:54
upstream general protection fault in find_match (3) net 2 987d 1029d 0/29 auto-obsoleted due to no activity on 2023/01/16 14:40
upstream general protection fault in find_match (4) net 1 671d 667d 0/29 auto-obsoleted due to no activity on 2023/11/20 22:29
upstream general protection fault in find_match (2) net 4 1578d 1644d 0/29 auto-closed as invalid on 2021/06/26 04:02
linux-5.15 BUG: unable to handle kernel paging request in find_match 5 31d 87d 0/3 upstream: reported on 2025/03/28 21:20
android-5-15 general protection fault in find_match 3 53d 76d 0/2 premoderation: reported on 2025/04/08 10:01
upstream general protection fault in find_match (5) net 2 378d 379d 26/29 fixed on 2024/07/10 10:07
linux-4.19 general protection fault in find_match C error 1 1372d 2070d 0/1 upstream: reported C repro on 2019/10/23 12:46
android-5-10 general protection fault in find_match 40 17d 80d 0/2 premoderation: reported on 2025/04/04 19:16
linux-6.1 BUG: unable to handle kernel paging request in find_match 15 6d19h 26d 0/3 upstream: reported on 2025/05/28 21:21

Sample crash report:
general protection fault, probably for non-canonical address 0xdffffc000000005b: 0000 [#1] PREEMPT SMP KASAN
KASAN: null-ptr-deref in range [0x00000000000002d8-0x00000000000002df]
CPU: 0 PID: 5205 Comm: syz.2.10228 Tainted: G        W          6.1.138-syzkaller-00055-gd8780220fd00 #0
Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 05/07/2025
RIP: 0010:__in6_dev_get include/net/addrconf.h:343 [inline]
RIP: 0010:ip6_ignore_linkdown include/net/addrconf.h:434 [inline]
RIP: 0010:find_match+0xb7/0xf20 net/ipv6/route.c:781
Code: 7c 05 00 00 74 08 48 89 df e8 d5 b6 63 fd 48 89 d8 bb d8 02 00 00 48 03 18 48 89 d8 48 c1 e8 03 48 b9 00 00 00 00 00 fc ff df <80> 3c 08 00 74 08 48 89 df e8 ab b6 63 fd 48 8b 1b 48 85 db 0f 84
RSP: 0018:ffffc90000006e20 EFLAGS: 00010202
RAX: 000000000000005b RBX: 00000000000002d8 RCX: dffffc0000000000
RDX: ffff888152a16540 RSI: 0000000000000000 RDI: 0000000000000000
RBP: ffffc90000006ed8 R08: ffffc90000007200 R09: ffffc90000007210
R10: 0000000000000000 R11: 1ffff92000000e62 R12: 0000000000000201
R13: 1ffff110278d7ac4 R14: 0000000000000000 R15: 0000000000000003
FS:  00007f050195a6c0(0000) GS:ffff8881f7000000(0000) knlGS:0000000000000000
CS:  0010 DS: 0000 ES: 0000 CR0: 0000000080050033
CR2: 00007f6ebdee86ec CR3: 000000013a9c9000 CR4: 00000000003506b0
DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000
DR3: 0000000000000000 DR6: 00000000fffe0ff0 DR7: 0000000000000400
Call Trace:
 <IRQ>
 rt6_nh_find_match+0xd9/0x140 net/ipv6/route.c:821
 nexthop_for_each_fib6_nh+0x107/0x200 net/ipv4/nexthop.c:1243
 __find_rr_leaf+0x50f/0x900 net/ipv6/route.c:862
 find_rr_leaf net/ipv6/route.c:890 [inline]
 rt6_select net/ipv6/route.c:934 [inline]
 fib6_table_lookup+0x2c1/0x9a0 net/ipv6/route.c:2223
 ip6_pol_route+0x14c/0x1110 net/ipv6/route.c:2259
 ip6_pol_route_output+0x51/0x80 net/ipv6/route.c:2634
 pol_lookup_func include/net/ip6_fib.h:589 [inline]
 __fib6_rule_action net/ipv6/fib6_rules.c:233 [inline]
 fib6_rule_action+0x1d5/0x720 net/ipv6/fib6_rules.c:271
 fib_rules_lookup+0x4ae/0x900 net/core/fib_rules.c:318
 fib6_rule_lookup+0x179/0x580 net/ipv6/fib6_rules.c:108
 ip6_route_output_flags_noref+0x283/0x340 net/ipv6/route.c:2666
 ip6_route_output_flags+0x3c/0x200 net/ipv6/route.c:2679
 ip6_dst_lookup_tail+0x220/0x1460 net/ipv6/ip6_output.c:1152
 ip6_dst_lookup_flow+0x49/0xc0 net/ipv6/ip6_output.c:1255
 tipc_udp_xmit+0x306/0x8b0 net/tipc/udp_media.c:210
 tipc_udp_send_msg+0x227/0x320 net/tipc/udp_media.c:271
 tipc_bearer_xmit_skb+0x28e/0x380 net/tipc/bearer.c:577
 tipc_disc_timeout+0x6a2/0x830 net/tipc/discover.c:338
 call_timer_fn+0x46/0x2a0 kernel/time/timer.c:1510
 expire_timers kernel/time/timer.c:1555 [inline]
 __run_timers+0x639/0x9a0 kernel/time/timer.c:1826
 run_timer_softirq+0x6a/0xf0 kernel/time/timer.c:1839
 handle_softirqs+0x1d7/0x600 kernel/softirq.c:624
 __do_softirq kernel/softirq.c:662 [inline]
 invoke_softirq kernel/softirq.c:479 [inline]
 __irq_exit_rcu+0x52/0xf0 kernel/softirq.c:711
 irq_exit_rcu+0x9/0x10 kernel/softirq.c:723
 instr_sysvec_apic_timer_interrupt arch/x86/kernel/apic/apic.c:1118 [inline]
 sysvec_apic_timer_interrupt+0xa9/0xc0 arch/x86/kernel/apic/apic.c:1118
 </IRQ>
 <TASK>
 asm_sysvec_apic_timer_interrupt+0x1b/0x20 arch/x86/include/asm/idtentry.h:691
RIP: 0010:__schedule+0xb8f/0x14e0 kernel/sched/core.c:-1
Code: 42 0f b6 04 20 84 c0 0f 85 3b 03 00 00 48 8b 44 24 48 80 20 fc 4c 89 ef 48 8b 74 24 28 e8 99 cd 11 fc 48 89 c7 e8 e1 e4 5d fc <48> 8b 44 24 70 48 c7 84 24 80 00 00 00 0e 36 e0 45 4a c7 04 20 00
RSP: 0018:ffffc9000db5f420 EFLAGS: 00000282
RAX: 0000000080000001 RBX: 0000000000000000 RCX: 0000000000000000
RDX: 0000000000000001 RSI: 0000000000000008 RDI: 00000000ffffffff
RBP: ffffc9000db5f528 R08: dffffc0000000000 R09: ffffed102a542ca9
R10: ffffed102a542ca9 R11: 1ffff1102a542ca8 R12: dffffc0000000000
R13: ffff888152a16540 R14: ffff8881f70388a0 R15: 1ffff1103ee07114
 schedule+0xbd/0x170 kernel/sched/core.c:6826
 schedule_timeout+0xa6/0x2e0 kernel/time/timer.c:1947
 unix_wait_for_peer+0x1e5/0x2e0 net/unix/af_unix.c:1445
 unix_dgram_sendmsg+0x1034/0x18e0 net/unix/af_unix.c:2024
 sock_sendmsg_nosec net/socket.c:716 [inline]
 __sock_sendmsg net/socket.c:728 [inline]
 ____sys_sendmsg+0x5a9/0x990 net/socket.c:2509
 ___sys_sendmsg+0x21c/0x290 net/socket.c:2563
 __sys_sendmmsg+0x274/0x460 net/socket.c:2649
 __do_sys_sendmmsg net/socket.c:2678 [inline]
 __se_sys_sendmmsg net/socket.c:2675 [inline]
 __x64_sys_sendmmsg+0xa0/0xb0 net/socket.c:2675
 x64_sys_call+0x3f5/0x9a0 arch/x86/include/generated/asm/syscalls_64.h:308
 do_syscall_x64 arch/x86/entry/common.c:51 [inline]
 do_syscall_64+0x4c/0xa0 arch/x86/entry/common.c:81
 entry_SYSCALL_64_after_hwframe+0x68/0xd2
RIP: 0033:0x7f0500b8e929
Code: ff ff c3 66 2e 0f 1f 84 00 00 00 00 00 0f 1f 40 00 48 89 f8 48 89 f7 48 89 d6 48 89 ca 4d 89 c2 4d 89 c8 4c 8b 4c 24 08 0f 05 <48> 3d 01 f0 ff ff 73 01 c3 48 c7 c1 a8 ff ff ff f7 d8 64 89 01 48
RSP: 002b:00007f050195a038 EFLAGS: 00000246 ORIG_RAX: 0000000000000133
RAX: ffffffffffffffda RBX: 00007f0500db5fa0 RCX: 00007f0500b8e929
RDX: 0000000000000318 RSI: 00002000000bd000 RDI: 0000000000000004
RBP: 00007f0500c10b39 R08: 0000000000000000 R09: 0000000000000000
R10: 0000000000000000 R11: 0000000000000246 R12: 0000000000000000
R13: 0000000000000000 R14: 00007f0500db5fa0 R15: 00007fff42c31258
 </TASK>
Modules linked in:
---[ end trace 0000000000000000 ]---
RIP: 0010:__in6_dev_get include/net/addrconf.h:343 [inline]
RIP: 0010:ip6_ignore_linkdown include/net/addrconf.h:434 [inline]
RIP: 0010:find_match+0xb7/0xf20 net/ipv6/route.c:781
Code: 7c 05 00 00 74 08 48 89 df e8 d5 b6 63 fd 48 89 d8 bb d8 02 00 00 48 03 18 48 89 d8 48 c1 e8 03 48 b9 00 00 00 00 00 fc ff df <80> 3c 08 00 74 08 48 89 df e8 ab b6 63 fd 48 8b 1b 48 85 db 0f 84
RSP: 0018:ffffc90000006e20 EFLAGS: 00010202
RAX: 000000000000005b RBX: 00000000000002d8 RCX: dffffc0000000000
RDX: ffff888152a16540 RSI: 0000000000000000 RDI: 0000000000000000
RBP: ffffc90000006ed8 R08: ffffc90000007200 R09: ffffc90000007210
R10: 0000000000000000 R11: 1ffff92000000e62 R12: 0000000000000201
R13: 1ffff110278d7ac4 R14: 0000000000000000 R15: 0000000000000003
FS:  00007f050195a6c0(0000) GS:ffff8881f7000000(0000) knlGS:0000000000000000
CS:  0010 DS: 0000 ES: 0000 CR0: 0000000080050033
CR2: 00007f6ebdee86ec CR3: 000000013a9c9000 CR4: 00000000003506b0
DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000
DR3: 0000000000000000 DR6: 00000000fffe0ff0 DR7: 0000000000000400
----------------
Code disassembly (best guess):
   0:	7c 05                	jl     0x7
   2:	00 00                	add    %al,(%rax)
   4:	74 08                	je     0xe
   6:	48 89 df             	mov    %rbx,%rdi
   9:	e8 d5 b6 63 fd       	call   0xfd63b6e3
   e:	48 89 d8             	mov    %rbx,%rax
  11:	bb d8 02 00 00       	mov    $0x2d8,%ebx
  16:	48 03 18             	add    (%rax),%rbx
  19:	48 89 d8             	mov    %rbx,%rax
  1c:	48 c1 e8 03          	shr    $0x3,%rax
  20:	48 b9 00 00 00 00 00 	movabs $0xdffffc0000000000,%rcx
  27:	fc ff df
* 2a:	80 3c 08 00          	cmpb   $0x0,(%rax,%rcx,1) <-- trapping instruction
  2e:	74 08                	je     0x38
  30:	48 89 df             	mov    %rbx,%rdi
  33:	e8 ab b6 63 fd       	call   0xfd63b6e3
  38:	48 8b 1b             	mov    (%rbx),%rbx
  3b:	48 85 db             	test   %rbx,%rbx
  3e:	0f                   	.byte 0xf
  3f:	84                   	.byte 0x84

Crashes (2):
Time Kernel Commit Syzkaller Config Log Report Syz repro C repro VM info Assets (help?) Manager Title
2025/06/05 17:45 android14-6.1 d8780220fd00 6b6b5f21 .config console log report info [disk image] [vmlinux] [kernel image] ci2-android-6-1 general protection fault in find_match
2025/05/12 10:55 android14-6.1 646380b087a5 77908e5f .config console log report info [disk image] [vmlinux] [kernel image] ci2-android-6-1 general protection fault in find_match
* Struck through repros no longer work on HEAD.