Subject: general protection fault in pppol2tp_connect

From: syzbot <[email-masked]>
Date: Mon, 15 Jan 2018 21:30:01 -0800

Hello,

syzkaller hit the following crash on  
a8750ddca918032d6349adbf9a4b6555e7db20da
git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/master
compiler: gcc (GCC) 7.1.1 20170620
.config is attached
Raw console output is attached.
C reproducer is attached
syzkaller reproducer is attached. See https://goo.gl/kgGztJ
for information about syzkaller reproducers

IMPORTANT: if you fix the bug, please add the following tag to the commit:
Reported-by: [email-masked]
It will help syzbot understand when the bug is fixed. See footer for  
details.
If you forward the report, please keep this part and the footer.

kasan: CONFIG_KASAN_INLINE enabled
kasan: GPF could be caused by NULL-ptr deref or user memory access
general protection fault: 0000 [#1] SMP KASAN
Dumping ftrace buffer:
    (ftrace buffer empty)
Modules linked in:
CPU: 1 PID: 3861 Comm: syzkaller385366 Not tainted 4.15.0-rc8+ #263
Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS  
Google 01/01/2011
RIP: 0010:__read_once_size include/linux/compiler.h:183 [inline]
RIP: 0010:sk_dst_get include/net/sock.h:1764 [inline]
RIP: 0010:pppol2tp_session_init net/l2tp/l2tp_ppp.c:596 [inline]
RIP: 0010:pppol2tp_connect+0x10a3/0x1dd0 net/l2tp/l2tp_ppp.c:756
RSP: 0018:ffff8801d95a7af0 EFLAGS: 00010202
RAX: dffffc0000000000 RBX: ffff8801bba1c000 RCX: ffffffff85024060
RDX: 0000000000000045 RSI: 000000004f52b9e1 RDI: 0000000000000228
RBP: ffff8801d95a7d70 R08: 1ffff1003b2b4e9f R09: 0000000000000002
R10: ffff8801d95a79c0 R11: 0000000000000000 R12: ffff8801d97b7200
R13: ffff8801d95a7d48 R14: 0000000000000000 R15: ffff8801d95a7c28
FS:  00007f69705ea700(0000) GS:ffff8801db300000(0000) knlGS:0000000000000000
CS:  0010 DS: 0000 ES: 0000 CR0: 0000000080050033
CR2: 00000000205fafd2 CR3: 00000001bc600006 CR4: 00000000001606e0
DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000
DR3: 0000000000000000 DR6: 00000000fffe0ff0 DR7: 0000000000000400
Call Trace:
  SYSC_connect+0x213/0x4a0 net/socket.c:1621
  SyS_connect+0x24/0x30 net/socket.c:1602
  entry_SYSCALL_64_fastpath+0x29/0xa0
RIP: 0033:0x445bd9
RSP: 002b:00007f69705e9db8 EFLAGS: 00000297 ORIG_RAX: 000000000000002a
RAX: ffffffffffffffda RBX: 00000000006dac24 RCX: 0000000000445bd9
RDX: 000000000000002e RSI: 00000000205fafd2 RDI: 0000000000000004
RBP: 00000000006dac20 R08: 0000000000000000 R09: 0000000000000000
R10: 0000000000000000 R11: 0000000000000297 R12: 0000000000000000
R13: 00007ffe472febaf R14: 00007f69705ea9c0 R15: 0000000000000001
Code: fe ff ff e8 60 d7 6d fc 4c 89 fa 49 8d be 28 02 00 00 48 b8 00 00 00  
00 00 fc ff df 48 c1 ea 03 c6 04 02 00 48 89 fa 48 c1 ea 03 <80> 3c 02 00  
0f 85 e5 09 00 00 4c 89 fa 48 b8 00 00 00 00 00 fc
RIP: __read_once_size include/linux/compiler.h:183 [inline] RSP:  
ffff8801d95a7af0
RIP: sk_dst_get include/net/sock.h:1764 [inline] RSP: ffff8801d95a7af0
RIP: pppol2tp_session_init net/l2tp/l2tp_ppp.c:596 [inline] RSP:  
ffff8801d95a7af0
RIP: pppol2tp_connect+0x10a3/0x1dd0 net/l2tp/l2tp_ppp.c:756 RSP:  
ffff8801d95a7af0
---[ end trace f53b0a5c4dc1a12b ]---
Kernel panic - not syncing: Fatal exception
Dumping ftrace buffer:
    (ftrace buffer empty)
Kernel Offset: disabled
Rebooting in 86400 seconds..

---
This bug is generated by a dumb bot. It may contain errors.
See https://goo.gl/tpsmEJ for details.
Direct all questions to [email-masked].

syzbot will keep track of this bug report.
If you forgot to add the Reported-by tag, once the fix for this bug is  
merged
into any tree, please reply to this email with:
#syz fix: exact-commit-title
If you want to test a patch for this bug, please reply with:
#syz test: git://repo/address.git branch
and provide the patch inline or as an attachment.
To mark this as a duplicate of another syzbot report, please reply with:
#syz dup: exact-subject-of-another-report
If it's a one-off invalid bug report, please reply with:
#syz invalid
Note: if the crash happens again, it will cause creation of a new bug  
report.
Note: all commands must start from beginning of the line in the email body.