general protection fault in ip6_route_output_flags

From: syzbot
Date: Fri Dec 21 2018 - 03:39:08 EST


Hello,

syzbot found the following crash on:

HEAD commit: a9cd3439e3c6 neighbor: Use nda_policy for validating attri..
git tree: net-next
console output: https://syzkaller.appspot.com/x/log.txt?x=143d3a0d400000
kernel config: https://syzkaller.appspot.com/x/.config?x=1f6442435a55ea09
dashboard link: https://syzkaller.appspot.com/bug?extid=565c30183e86122a8e32
compiler: gcc (GCC) 8.0.1 20180413 (experimental)

Unfortunately, I don't have any reproducer for this crash yet.

IMPORTANT: if you fix the bug, please add the following tag to the commit:
Reported-by: syzbot+565c30183e86122a8e32@xxxxxxxxxxxxxxxxxxxxxxxxx

New replicast peer: 0000:0000:0000:0000:0000:0000:0000:0001
kasan: CONFIG_KASAN_INLINE enabled
kasan: GPF could be caused by NULL-ptr deref or user memory access
general protection fault: 0000 [#1] PREEMPT SMP KASAN
CPU: 0 PID: 24165 Comm: syz-executor4 Not tainted 4.20.0-rc6+ #355
Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 01/01/2011
RIP: 0010:ip6_route_output_flags+0x1f2/0x350 net/ipv6/route.c:2093
Code: 02 00 0f 85 69 01 00 00 4d 8b bc 24 60 04 00 00 e8 43 9c a1 fa 49 8d 7f 4e 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 08 84 d2 0f 85 10
RSP: 0018:ffff88818ee76b38 EFLAGS: 00010207
RAX: dffffc0000000000 RBX: ffff88818ee76f00 RCX: ffffc9000de38000
RDX: 0000000000000009 RSI: ffffffff86dde7fd RDI: 000000000000004e
RBP: ffff88818ee76b70 R08: ffff8881bfdfe200 R09: ffff8881b981da00
R10: ffffed1032373386 R11: ffff888191b99c37 R12: ffff8881d3a649c0
R13: 0000000000000001 R14: 0000000000000080 R15: 0000000000000000
FS: 00007f14f3caa700(0000) GS:ffff8881dac00000(0000) knlGS:0000000000000000
CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033
CR2: 00007ffd46f97980 CR3: 00000001c4084000 CR4: 00000000001406f0
DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000
DR3: 0000000000000000 DR6: 00000000fffe0ff0 DR7: 0000000000000400
Call Trace:
ip6_route_output include/net/ip6_route.h:88 [inline]
ip6_dst_lookup_tail+0xe27/0x1d50 net/ipv6/ip6_output.c:957
ip6_dst_lookup+0x4b/0x60 net/ipv6/ip6_output.c:1064
tipc_udp_xmit.isra.14+0x3bd/0xee0 net/tipc/udp_media.c:193
tipc_udp_send_msg+0x3a1/0x680 net/tipc/udp_media.c:247
tipc_bearer_xmit_skb+0x171/0x350 net/tipc/bearer.c:504
tipc_enable_bearer+0xc5e/0xf10 net/tipc/bearer.c:329
kobject: 'loop5' (0000000089e6a38e): kobject_uevent_env
__tipc_nl_bearer_enable+0x37c/0x4a0 net/tipc/bearer.c:900
kobject: 'loop5' (0000000089e6a38e): fill_kobj_path: path = '/devices/virtual/block/loop5'
tipc_nl_bearer_enable+0x22/0x30 net/tipc/bearer.c:908
genl_family_rcv_msg+0x8a7/0x11a0 net/netlink/genetlink.c:601
kobject: 'loop1' (0000000093656527): kobject_uevent_env
kobject: 'loop1' (0000000093656527): fill_kobj_path: path = '/devices/virtual/block/loop1'
genl_rcv_msg+0xc6/0x168 net/netlink/genetlink.c:626
netlink_rcv_skb+0x16c/0x430 net/netlink/af_netlink.c:2477
kobject: 'loop5' (0000000089e6a38e): kobject_uevent_env
genl_rcv+0x28/0x40 net/netlink/genetlink.c:637
netlink_unicast_kernel net/netlink/af_netlink.c:1310 [inline]
netlink_unicast+0x59f/0x750 net/netlink/af_netlink.c:1336
netlink_sendmsg+0xa18/0xfc0 net/netlink/af_netlink.c:1917
kobject: 'loop5' (0000000089e6a38e): fill_kobj_path: path = '/devices/virtual/block/loop5'
sock_sendmsg_nosec net/socket.c:621 [inline]
sock_sendmsg+0xd5/0x120 net/socket.c:631
___sys_sendmsg+0x7fd/0x930 net/socket.c:2116
__sys_sendmsg+0x11d/0x280 net/socket.c:2154
__do_sys_sendmsg net/socket.c:2163 [inline]
__se_sys_sendmsg net/socket.c:2161 [inline]
__x64_sys_sendmsg+0x78/0xb0 net/socket.c:2161
do_syscall_64+0x1b9/0x820 arch/x86/entry/common.c:290
entry_SYSCALL_64_after_hwframe+0x49/0xbe
RIP: 0033:0x457669
Code: fd b3 fb ff c3 66 2e 0f 1f 84 00 00 00 00 00 66 90 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 0f 83 cb b3 fb ff c3 66 2e 0f 1f 84 00 00 00 00
RSP: 002b:00007f14f3ca9c78 EFLAGS: 00000246 ORIG_RAX: 000000000000002e
RAX: ffffffffffffffda RBX: 0000000000000003 RCX: 0000000000457669
RDX: 0000000000000000 RSI: 00000000200008c0 RDI: 0000000000000003
RBP: 000000000072bf00 R08: 0000000000000000 R09: 0000000000000000
R10: 0000000000000000 R11: 0000000000000246 R12: 00007f14f3caa6d4
R13: 00000000004c4252 R14: 00000000004d71d0 R15: 00000000ffffffff
Modules linked in:
kasan: CONFIG_KASAN_INLINE enabled
kasan: GPF could be caused by NULL-ptr deref or user memory access
general protection fault: 0000 [#2] PREEMPT SMP KASAN
CPU: 0 PID: 24165 Comm: syz-executor4 Tainted: G D 4.20.0-rc6+ #355
Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 01/01/2011
RIP: 0010:ip6_route_output_flags+0x1f2/0x350 net/ipv6/route.c:2093
Code: 02 00 0f 85 69 01 00 00 4d 8b bc 24 60 04 00 00 e8 43 9c a1 fa 49 8d 7f 4e 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 08 84 d2 0f 85 10
RSP: 0018:ffff8881dac06f90 EFLAGS: 00010207
RAX: dffffc0000000000 RBX: ffff8881dac07358 RCX: ffffffff86dde7c3
RDX: 0000000000000009 RSI: ffffffff86dde7fd RDI: 000000000000004e
RBP: ffff8881dac06fc8 R08: ffff8881bfdfe200 R09: ffff8881b981da00
R10: ffffed10335cd37e R11: ffff88819ae69bf7 R12: ffff8881d3a649c0
R13: 0000000000000001 R14: 0000000000000080 R15: 0000000000000000
FS: 00007f14f3caa700(0000) GS:ffff8881dac00000(0000) knlGS:0000000000000000
CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033
CR2: 00007ffd46f97980 CR3: 00000001c4084000 CR4: 00000000001406f0
DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000
DR3: 0000000000000000 DR6: 00000000fffe0ff0 DR7: 0000000000000400
Call Trace:
<IRQ>
ip6_route_output include/net/ip6_route.h:88 [inline]
ip6_dst_lookup_tail+0xe27/0x1d50 net/ipv6/ip6_output.c:957
ip6_dst_lookup+0x4b/0x60 net/ipv6/ip6_output.c:1064
tipc_udp_xmit.isra.14+0x3bd/0xee0 net/tipc/udp_media.c:193
tipc_udp_send_msg+0x3a1/0x680 net/tipc/udp_media.c:247
tipc_bearer_xmit_skb+0x171/0x350 net/tipc/bearer.c:504
tipc_disc_timeout+0xb2b/0xfc0 net/tipc/discover.c:332
call_timer_fn+0x272/0x920 kernel/time/timer.c:1326
expire_timers kernel/time/timer.c:1363 [inline]
__run_timers+0x7e5/0xc70 kernel/time/timer.c:1682
run_timer_softirq+0x52/0xb0 kernel/time/timer.c:1695
__do_softirq+0x308/0xb7e kernel/softirq.c:292
invoke_softirq kernel/softirq.c:373 [inline]
irq_exit+0x17f/0x1c0 kernel/softirq.c:413
exiting_irq arch/x86/include/asm/apic.h:536 [inline]
smp_apic_timer_interrupt+0x1cb/0x760 arch/x86/kernel/apic/apic.c:1061
apic_timer_interrupt+0xf/0x20 arch/x86/entry/entry_64.S:807
</IRQ>
RIP: 0010:preempt_schedule_irq+0xaf/0x140 kernel/sched/core.c:3699
Code: 00 e8 85 44 76 f9 e8 f0 2a a6 f9 4c 89 f0 48 c1 e8 03 42 80 3c 20 00 75 73 48 83 3d ba 7f 92 01 00 74 61 fb 66 0f 1f 44 00 00 <bf> 01 00 00 00 e8 f7 cd ff ff 41 80 7d 00 00 75 6c 48 83 3d 90 7f
RSP: 0018:ffff88818ee76920 EFLAGS: 00000286 ORIG_RAX: ffffffffffffff13
RAX: 1ffffffff12e4020 RBX: 0000000000000000 RCX: ffffc9000de38000
RDX: 0000000000000000 RSI: ffffffff8185acd4 RDI: ffffffff8a373934
RBP: ffff88818ee76948 R08: ffff8881bfdfe200 R09: ffffed103b5859a1
R10: ffffed103b5859a1 R11: ffff8881dac2cd0b R12: dffffc0000000000
R13: fffffbfff12e401f R14: ffffffff89720100 R15: ffffffff897200f8
retint_kernel+0x1b/0x2d
RIP: 0010:arch_local_irq_restore arch/x86/include/asm/paravirt.h:761 [inline]
RIP: 0010:oops_end+0x69/0x100 arch/x86/kernel/dumpstack.c:343
Code: 05 18 37 42 08 ff ff ff ff e8 63 2a 1c 00 83 2d 34 4d 46 09 01 74 69 48 83 3d 32 47 45 08 00 0f 84 8c 00 00 00 48 89 df 57 9d <0f> 1f 44 00 00 e8 fd 31 1c 00 be 02 00 00 00 48 c7 c7 00 07 73 8a
RSP: 0018:ffff88818ee76a08 EFLAGS: 00000286 ORIG_RAX: ffffffffffffff02
RAX: 0000000000040000 RBX: 0000000000000286 RCX: ffffc9000de38000
RDX: 0000000000040000 RSI: ffffffff8148e439 RDI: 0000000000000286
RBP: ffff88818ee76a20 R08: ffff8881bfdfe200 R09: fffffbfff146e726
R10: fffffbfff146e726 R11: ffffffff8a373937 R12: 000000000000000b
R13: ffff88818ee76a88 R14: 0000000000000000 R15: 0000000000000000
die+0x3d/0x46 arch/x86/kernel/dumpstack.c:405
do_general_protection+0x18a/0x2f0 arch/x86/kernel/traps.c:559
general_protection+0x1e/0x30 arch/x86/entry/entry_64.S:1142
RIP: 0010:ip6_route_output_flags+0x1f2/0x350 net/ipv6/route.c:2093
Code: 02 00 0f 85 69 01 00 00 4d 8b bc 24 60 04 00 00 e8 43 9c a1 fa 49 8d 7f 4e 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 08 84 d2 0f 85 10
RSP: 0018:ffff88818ee76b38 EFLAGS: 00010207
RAX: dffffc0000000000 RBX: ffff88818ee76f00 RCX: ffffc9000de38000
RDX: 0000000000000009 RSI: ffffffff86dde7fd RDI: 000000000000004e
RBP: ffff88818ee76b70 R08: ffff8881bfdfe200 R09: ffff8881b981da00
R10: ffffed1032373386 R11: ffff888191b99c37 R12: ffff8881d3a649c0
R13: 0000000000000001 R14: 0000000000000080 R15: 0000000000000000
ip6_route_output include/net/ip6_route.h:88 [inline]
ip6_dst_lookup_tail+0xe27/0x1d50 net/ipv6/ip6_output.c:957
ip6_dst_lookup+0x4b/0x60 net/ipv6/ip6_output.c:1064
tipc_udp_xmit.isra.14+0x3bd/0xee0 net/tipc/udp_media.c:193
tipc_udp_send_msg+0x3a1/0x680 net/tipc/udp_media.c:247
tipc_bearer_xmit_skb+0x171/0x350 net/tipc/bearer.c:504
tipc_enable_bearer+0xc5e/0xf10 net/tipc/bearer.c:329
__tipc_nl_bearer_enable+0x37c/0x4a0 net/tipc/bearer.c:900
tipc_nl_bearer_enable+0x22/0x30 net/tipc/bearer.c:908
genl_family_rcv_msg+0x8a7/0x11a0 net/netlink/genetlink.c:601
genl_rcv_msg+0xc6/0x168 net/netlink/genetlink.c:626
netlink_rcv_skb+0x16c/0x430 net/netlink/af_netlink.c:2477
genl_rcv+0x28/0x40 net/netlink/genetlink.c:637
netlink_unicast_kernel net/netlink/af_netlink.c:1310 [inline]
netlink_unicast+0x59f/0x750 net/netlink/af_netlink.c:1336
netlink_sendmsg+0xa18/0xfc0 net/netlink/af_netlink.c:1917
sock_sendmsg_nosec net/socket.c:621 [inline]
sock_sendmsg+0xd5/0x120 net/socket.c:631
___sys_sendmsg+0x7fd/0x930 net/socket.c:2116
__sys_sendmsg+0x11d/0x280 net/socket.c:2154
__do_sys_sendmsg net/socket.c:2163 [inline]
__se_sys_sendmsg net/socket.c:2161 [inline]
__x64_sys_sendmsg+0x78/0xb0 net/socket.c:2161
do_syscall_64+0x1b9/0x820 arch/x86/entry/common.c:290
entry_SYSCALL_64_after_hwframe+0x49/0xbe
RIP: 0033:0x457669
Code: fd b3 fb ff c3 66 2e 0f 1f 84 00 00 00 00 00 66 90 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 0f 83 cb b3 fb ff c3 66 2e 0f 1f 84 00 00 00 00
RSP: 002b:00007f14f3ca9c78 EFLAGS: 00000246 ORIG_RAX: 000000000000002e
RAX: ffffffffffffffda RBX: 0000000000000003 RCX: 0000000000457669
RDX: 0000000000000000 RSI: 00000000200008c0 RDI: 0000000000000003
RBP: 000000000072bf00 R08: 0000000000000000 R09: 0000000000000000
R10: 0000000000000000 R11: 0000000000000246 R12: 00007f14f3caa6d4
R13: 00000000004c4252 R14: 00000000004d71d0 R15: 00000000ffffffff
Modules linked in:
---[ end trace 2a8589f8073d0444 ]---
RIP: 0010:ip6_route_output_flags+0x1f2/0x350 net/ipv6/route.c:2093
Code: 02 00 0f 85 69 01 00 00 4d 8b bc 24 60 04 00 00 e8 43 9c a1 fa 49 8d 7f 4e 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 08 84 d2 0f 85 10
RSP: 0018:ffff88818ee76b38 EFLAGS: 00010207
RAX: dffffc0000000000 RBX: ffff88818ee76f00 RCX: ffffc9000de38000
RDX: 0000000000000009 RSI: ffffffff86dde7fd RDI: 000000000000004e
RBP: ffff88818ee76b70 R08: ffff8881bfdfe200 R09: ffff8881b981da00
R10: ffffed1032373386 R11: ffff888191b99c37 R12: ffff8881d3a649c0
R13: 0000000000000001 R14: 0000000000000080 R15: 0000000000000000
FS: 00007f14f3caa700(0000) GS:ffff8881dac00000(0000) knlGS:0000000000000000
CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033
CR2: 00007ffd46f97980 CR3: 00000001c4084000 CR4: 00000000001406f0
DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000
DR3: 0000000000000000 DR6: 00000000fffe0ff0 DR7: 0000000000000400


---
This bug is generated by a bot. It may contain errors.
See https://goo.gl/tpsmEJ for more information about syzbot.
syzbot engineers can be reached at syzkaller@xxxxxxxxxxxxxxxxx

syzbot will keep track of this bug report. See:
https://goo.gl/tpsmEJ#bug-status-tracking for how to communicate with syzbot.