general protection fault in gro_cells_destroy

From: syzbot
Date: Thu Jan 10 2019 - 12:41:08 EST


Hello,

syzbot found the following crash on:

HEAD commit: b71acb0e3721 Merge branch 'linus' of git://git.kernel.org/..
git tree: net-next
console output: https://syzkaller.appspot.com/x/log.txt?x=14314bab400000
kernel config: https://syzkaller.appspot.com/x/.config?x=b03c5892bb940c76
dashboard link: https://syzkaller.appspot.com/bug?extid=6fe674089f9deb9f7726
compiler: gcc (GCC) 9.0.0 20181231 (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+6fe674089f9deb9f7726@xxxxxxxxxxxxxxxxxxxxxxxxx

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: 1 PID: 14812 Comm: kworker/u4:8 Not tainted 4.20.0+ #3
Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 01/01/2011
Workqueue: netns cleanup_net
RIP: 0010:__skb_unlink include/linux/skbuff.h:1924 [inline]
RIP: 0010:__skb_dequeue include/linux/skbuff.h:1941 [inline]
RIP: 0010:__skb_queue_purge include/linux/skbuff.h:2655 [inline]
RIP: 0010:gro_cells_destroy net/core/gro_cells.c:89 [inline]
RIP: 0010:gro_cells_destroy+0x19d/0x360 net/core/gro_cells.c:78
Code: 03 42 80 3c 20 00 0f 85 53 01 00 00 48 8d 7a 08 49 8b 47 08 49 c7 07 00 00 00 00 48 89 f9 49 c7 47 08 00 00 00 00 48 c1 e9 03 <42> 80 3c 21 00 0f 85 10 01 00 00 48 89 c1 48 89 42 08 48 c1 e9 03
RSP: 0018:ffff888069e674b0 EFLAGS: 00010202
RAX: 0000000000000000 RBX: ffffe8ffffc30a98 RCX: 0000000000000001
RDX: 0000000000000000 RSI: ffffffff8634f68a RDI: 0000000000000008
RBP: ffff888069e67510 R08: ffff88806a2666c0 R09: fffffbfff1460a79
R10: fffffbfff1460a78 R11: ffffffff8a3053c3 R12: dffffc0000000000
R13: 0000000000000000 R14: ffffe8ffffc30aa8 R15: ffffe8ffffc38a90
FS: 0000000000000000(0000) GS:ffff8880ae700000(0000) knlGS:0000000000000000
CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033
CR2: 00007fef1a1b8db8 CR3: 00000000930be000 CR4: 00000000001406e0
DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000
DR3: 0000000000000000 DR6: 00000000fffe0ff0 DR7: 0000000000000400
Call Trace:
ip_tunnel_dev_free+0x19/0x60 net/ipv4/ip_tunnel.c:969
netdev_run_todo+0x647/0xae0 net/core/dev.c:8885
rtnl_unlock+0xe/0x10 net/core/rtnetlink.c:117
ip_tunnel_delete_nets+0x4df/0x6d0 net/ipv4/ip_tunnel.c:1083
ipgre_exit_batch_net+0x23/0x30 net/ipv4/ip_gre.c:1062
ops_exit_list.isra.0+0x105/0x160 net/core/net_namespace.c:156
cleanup_net+0x51d/0xb10 net/core/net_namespace.c:551
process_one_work+0xd0c/0x1ce0 kernel/workqueue.c:2153
worker_thread+0x143/0x14a0 kernel/workqueue.c:2296
kthread+0x357/0x430 kernel/kthread.c:246
ret_from_fork+0x3a/0x50 arch/x86/entry/entry_64.S:352
Modules linked in:
---[ end trace 2f40089cb2525ccd ]---
RIP: 0010:__skb_unlink include/linux/skbuff.h:1924 [inline]
RIP: 0010:__skb_dequeue include/linux/skbuff.h:1941 [inline]
RIP: 0010:__skb_queue_purge include/linux/skbuff.h:2655 [inline]
RIP: 0010:gro_cells_destroy net/core/gro_cells.c:89 [inline]
RIP: 0010:gro_cells_destroy+0x19d/0x360 net/core/gro_cells.c:78
Code: 03 42 80 3c 20 00 0f 85 53 01 00 00 48 8d 7a 08 49 8b 47 08 49 c7 07 00 00 00 00 48 89 f9 49 c7 47 08 00 00 00 00 48 c1 e9 03 <42> 80 3c 21 00 0f 85 10 01 00 00 48 89 c1 48 89 42 08 48 c1 e9 03
RSP: 0018:ffff888069e674b0 EFLAGS: 00010202
RAX: 0000000000000000 RBX: ffffe8ffffc30a98 RCX: 0000000000000001
RDX: 0000000000000000 RSI: ffffffff8634f68a RDI: 0000000000000008
RBP: ffff888069e67510 R08: ffff88806a2666c0 R09: fffffbfff1460a79
R10: fffffbfff1460a78 R11: ffffffff8a3053c3 R12: dffffc0000000000
R13: 0000000000000000 R14: ffffe8ffffc30aa8 R15: ffffe8ffffc38a90
FS: 0000000000000000(0000) GS:ffff8880ae700000(0000) knlGS:0000000000000000
CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033
CR2: 00007fef1a1b8db8 CR3: 00000000930be000 CR4: 00000000001406e0
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.