syzbot


KASAN: stack-out-of-bounds Read in find_match

Status: closed as invalid on 2018/08/24 22:59
Subsystems: net
[Documentation on labels]
First crash: 2608d, last: 2608d

Sample crash report:
IPv6: ADDRCONF(NETDEV_UP): veth0: link is not ready
IPv6: ADDRCONF(NETDEV_CHANGE): veth0: link becomes ready
IPv6: ADDRCONF(NETDEV_CHANGE): bond0: link becomes ready
8021q: adding VLAN 0 to HW filter on device team0
==================================================================
BUG: KASAN: stack-out-of-bounds in __read_once_size include/linux/compiler.h:188 [inline]
BUG: KASAN: stack-out-of-bounds in __in6_dev_get include/net/addrconf.h:336 [inline]
BUG: KASAN: stack-out-of-bounds in fib6_ignore_linkdown net/ipv6/route.c:647 [inline]
BUG: KASAN: stack-out-of-bounds in find_match+0xd6a/0xec0 net/ipv6/route.c:665
Read of size 8 at addr ffff8801aa7cabb0 by task swapper/1/0

CPU: 1 PID: 0 Comm: swapper/1 Not tainted 4.18.0-rc3+ #136
Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 01/01/2011
Call Trace:
 <IRQ>
 __dump_stack lib/dump_stack.c:77 [inline]
 dump_stack+0x1c9/0x2b4 lib/dump_stack.c:113
 print_address_description+0x6c/0x20b mm/kasan/report.c:256
 kasan_report_error mm/kasan/report.c:354 [inline]
 kasan_report.cold.7+0x242/0x2fe mm/kasan/report.c:412
 __asan_report_load8_noabort+0x14/0x20 mm/kasan/report.c:433
 __read_once_size include/linux/compiler.h:188 [inline]
 __in6_dev_get include/net/addrconf.h:336 [inline]
 fib6_ignore_linkdown net/ipv6/route.c:647 [inline]
 find_match+0xd6a/0xec0 net/ipv6/route.c:665
 find_rr_leaf net/ipv6/route.c:711 [inline]
 rt6_select net/ipv6/route.c:761 [inline]
 fib6_table_lookup+0x648/0x14f0 net/ipv6/route.c:1823
 ip6_pol_route+0x1ca/0x1050 net/ipv6/route.c:1856
 ip6_pol_route_input+0x62/0x80 net/ipv6/route.c:1925
 fib6_rule_lookup+0x131/0x700 net/ipv6/fib6_rules.c:118
 ip6_route_input_lookup+0xb9/0xd0 net/ipv6/route.c:1937
 ip6_route_input+0x769/0xdc0 net/ipv6/route.c:2072
 ip6_rcv_finish+0x237/0xa30 net/ipv6/ip6_input.c:69
 NF_HOOK include/linux/netfilter.h:287 [inline]
 ipv6_rcv+0xec0/0x2060 net/ipv6/ip6_input.c:208
 __netif_receive_skb_core+0x2488/0x3680 net/core/dev.c:4628
 __netif_receive_skb+0x2c/0x1e0 net/core/dev.c:4693
 process_backlog+0x219/0x760 net/core/dev.c:5373
 napi_poll net/core/dev.c:5771 [inline]
 net_rx_action+0x7da/0x1980 net/core/dev.c:5837
 __do_softirq+0x2e8/0xb17 kernel/softirq.c:288
 invoke_softirq kernel/softirq.c:368 [inline]
 irq_exit+0x1d1/0x200 kernel/softirq.c:408
 exiting_irq arch/x86/include/asm/apic.h:527 [inline]
 smp_apic_timer_interrupt+0x186/0x730 arch/x86/kernel/apic/apic.c:1052
 apic_timer_interrupt+0xf/0x20 arch/x86/entry/entry_64.S:863
 </IRQ>
RIP: 0010:native_safe_halt+0x6/0x10 arch/x86/include/asm/irqflags.h:54
Code: c7 48 89 45 d8 e8 3a 10 26 fa 48 8b 45 d8 e9 d2 fe ff ff 48 89 df e8 29 10 26 fa eb 8a 90 90 90 90 90 90 90 55 48 89 e5 fb f4 <5d> c3 0f 1f 84 00 00 00 00 00 55 48 89 e5 f4 5d c3 90 90 90 90 90 
RSP: 0018:ffff8801d9af7c38 EFLAGS: 00000286 ORIG_RAX: ffffffffffffff13
RAX: dffffc0000000000 RBX: 1ffff1003b35ef8a RCX: 0000000000000000
RDX: 1ffffffff11e3610 RSI: 0000000000000001 RDI: ffffffff88f1b080
RBP: ffff8801d9af7c38 R08: ffffed003b5e46d7 R09: 0000000000000000
R10: 0000000000000000 R11: 0000000000000000 R12: 0000000000000001
R13: ffff8801d9af7cf0 R14: ffffffff899ecae0 R15: 0000000000000000
 arch_safe_halt arch/x86/include/asm/paravirt.h:94 [inline]
 default_idle+0xc7/0x450 arch/x86/kernel/process.c:500
 arch_cpu_idle+0x10/0x20 arch/x86/kernel/process.c:491
 default_idle_call+0x6d/0x90 kernel/sched/idle.c:93
 cpuidle_idle_call kernel/sched/idle.c:153 [inline]
 do_idle+0x3aa/0x570 kernel/sched/idle.c:262
 cpu_startup_entry+0x10c/0x120 kernel/sched/idle.c:368
 start_secondary+0x433/0x5d0 arch/x86/kernel/smpboot.c:265
 secondary_startup_64+0xa5/0xb0 arch/x86/kernel/head_64.S:242

Allocated by task 1:
(stack is not available)

Freed by task 0:
(stack is not available)

The buggy address belongs to the object at ffff8801aa7ca880
 which belongs to the cache kmalloc-4096 of size 4096
The buggy address is located 816 bytes inside of
 4096-byte region [ffff8801aa7ca880, ffff8801aa7cb880)
The buggy address belongs to the page:
page:ffffea0006a9f280 count:1 mapcount:0 mapping:ffff8801da800dc0 index:0x0 compound_mapcount: 0
flags: 0x2fffc0000008100(slab|head)
raw: 02fffc0000008100 ffffea0006a9d888 ffffea0006bb7008 ffff8801da800dc0
raw: 0000000000000000 ffff8801aa7ca880 0000000100000001 0000000000000000
page dumped because: kasan: bad access detected

Memory state around the buggy address:
 ffff8801aa7caa80: 00 f1 f1 f1 f1 00 f2 f2 f2 f2 f2 f2 f2 00 f2 f2
 ffff8801aa7cab00: f2 f2 f2 f2 f2 00 f2 f2 f2 f2 f2 f2 f2 f8 f2 f2
>ffff8801aa7cab80: f2 f2 f2 f2 f2 00 f2 f2 f2 00 00 00 00 00 00 00
                                     ^
 ffff8801aa7cac00: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 f1 f1
 ffff8801aa7cac80: f1 f1 00 f2 f2 f2 f2 f2 f2 f2 00 f2 f2 f2 f2 f2
==================================================================

Crashes (1):
Time Kernel Commit Syzkaller Config Log Report Syz repro C repro VM info Assets (help?) Manager Title
2018/07/08 06:01 upstream b2d44d145d2a c9a7a4dc .config console log report syz C ci-upstream-kasan-gce-root
* Struck through repros no longer work on HEAD.