syzbot


WARNING: kmalloc bug in tun_device_event

Status: fixed on 2018/02/12 17:26
Subsystems: net
[Documentation on labels]
Reported-by: syzbot+e4d4f9ddd4295539735d@syzkaller.appspotmail.com
Fix commit: 6e6e41c31122 ptr_ring: fail early if queue occupies more than KMALLOC_MAX_SIZE 0bf7800f1799 ptr_ring: try vmalloc() when kmalloc() fails
First crash: 2271d, last: 2269d
Discussions (8)
Title Replies (including bot) Last reply
[PATCH 4.9 000/145] 4.9.84-stable review 153 (153) 2018/04/06 15:55
[PATCH 4.15 00/45] 4.15.6-stable review 53 (53) 2018/02/25 09:59
[PATCH 4.14 000/159] 4.14.22-stable review 164 (164) 2018/02/24 17:57
[PATCH V4 1/2] ptr_ring: fail early if queue occupies more than KMALLOC_MAX_SIZE 9 (9) 2018/02/11 02:46
[PATCH net V3 1/2] ptr_ring: try vmalloc() when kmalloc() fails 14 (14) 2018/02/09 04:04
[PATCH net] ptr_ring: fail early if queue occupies more than KMALLOC_MAX_SIZE 5 (5) 2018/02/08 15:44
[PATCH net V2 1/2] ptr_ring: try vmalloc() when kmalloc() fails 3 (3) 2018/02/08 03:26
WARNING: kmalloc bug in tun_device_event 1 (2) 2018/02/07 06:47

Sample crash report:
WARNING: CPU: 0 PID: 4171 at mm/slab_common.c:1012 kmalloc_slab+0x5d/0x70 mm/slab_common.c:1012
Kernel panic - not syncing: panic_on_warn set ...

CPU: 0 PID: 4171 Comm: syzkaller580740 Not tainted 4.15.0+ #299
Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 01/01/2011
Call Trace:
 __dump_stack lib/dump_stack.c:17 [inline]
 dump_stack+0x194/0x257 lib/dump_stack.c:53
 panic+0x1e4/0x41c kernel/panic.c:183
 __warn+0x1dc/0x200 kernel/panic.c:547
 report_bug+0x211/0x2d0 lib/bug.c:184
 fixup_bug.part.11+0x37/0x80 arch/x86/kernel/traps.c:178
 fixup_bug arch/x86/kernel/traps.c:247 [inline]
 do_error_trap+0x2d7/0x3e0 arch/x86/kernel/traps.c:296
 do_invalid_op+0x1b/0x20 arch/x86/kernel/traps.c:315
 invalid_op+0x22/0x40 arch/x86/entry/entry_64.S:984
RIP: 0010:kmalloc_slab+0x5d/0x70 mm/slab_common.c:1012
RSP: 0018:ffff8801b0d8e9d0 EFLAGS: 00010246
RAX: 0000000000000000 RBX: 0000000000000000 RCX: ffffffff83b8feed
RDX: 0000000000000000 RSI: 0000000000000000 RDI: 0000000400000008
RBP: ffff8801b0d8e9d0 R08: 1ffff100361b1cad R09: 0000000000000000
R10: 0000000000000000 R11: 0000000000000000 R12: 0000000400000008
R13: dffffc0000000000 R14: 00000000014080c0 R15: ffff8801d802ab00
 __do_kmalloc mm/slab.c:3700 [inline]
 __kmalloc+0x25/0x760 mm/slab.c:3714
 kmalloc_array include/linux/slab.h:631 [inline]
 kcalloc include/linux/slab.h:642 [inline]
 __ptr_ring_init_queue_alloc include/linux/ptr_ring.h:469 [inline]
 ptr_ring_resize_multiple include/linux/ptr_ring.h:629 [inline]
 tun_queue_resize drivers/net/tun.c:3319 [inline]
 tun_device_event+0x471/0xec0 drivers/net/tun.c:3338
 notifier_call_chain+0x136/0x2c0 kernel/notifier.c:93
 __raw_notifier_call_chain kernel/notifier.c:394 [inline]
 raw_notifier_call_chain+0x2d/0x40 kernel/notifier.c:401
 call_netdevice_notifiers_info+0x32/0x70 net/core/dev.c:1707
 call_netdevice_notifiers net/core/dev.c:1725 [inline]
 dev_change_tx_queue_len+0x117/0x220 net/core/dev.c:7065
 do_setlink+0xba7/0x3bb0 net/core/rtnetlink.c:2341
 rtnl_newlink+0xf1c/0x1a20 net/core/rtnetlink.c:2915
 rtnetlink_rcv_msg+0x57f/0xb10 net/core/rtnetlink.c:4587
 netlink_rcv_skb+0x14b/0x380 net/netlink/af_netlink.c:2442
 rtnetlink_rcv+0x1c/0x20 net/core/rtnetlink.c:4605
 netlink_unicast_kernel net/netlink/af_netlink.c:1308 [inline]
 netlink_unicast+0x4c4/0x6b0 net/netlink/af_netlink.c:1334
 netlink_sendmsg+0xa4a/0xe60 net/netlink/af_netlink.c:1897
 sock_sendmsg_nosec net/socket.c:630 [inline]
 sock_sendmsg+0xca/0x110 net/socket.c:640
 ___sys_sendmsg+0x767/0x8b0 net/socket.c:2046
 __sys_sendmsg+0xe5/0x210 net/socket.c:2080
 SYSC_sendmsg net/socket.c:2091 [inline]
 SyS_sendmsg+0x2d/0x50 net/socket.c:2087
 do_syscall_64+0x282/0x940 arch/x86/entry/common.c:287
 entry_SYSCALL_64_after_hwframe+0x26/0x9b
RIP: 0033:0x445099
RSP: 002b:00007fffef309748 EFLAGS: 00000207 ORIG_RAX: 000000000000002e
RAX: ffffffffffffffda RBX: 00000000004a6952 RCX: 0000000000445099
RDX: 0000000000000000 RSI: 0000000020504000 RDI: 0000000000000004
RBP: 00007fffef309858 R08: 0000000000000000 R09: 0000000000000000
R10: 0000000000000000 R11: 0000000000000207 R12: 00007fffef309858
R13: 0000000000402560 R14: 0000000000000000 R15: 0000000000000000
Dumping ftrace buffer:
   (ftrace buffer empty)
Kernel Offset: disabled
Rebooting in 86400 seconds..

Crashes (15):
Time Kernel Commit Syzkaller Config Log Report Syz repro C repro VM info Assets (help?) Manager Title
2018/02/06 17:03 upstream e237f98a9c13 66c15deb .config console log report syz C ci-upstream-kasan-gce
2018/02/06 17:01 upstream e237f98a9c13 66c15deb .config console log report syz C ci-upstream-kasan-gce-386
2018/02/06 16:44 net-next-old 617aebe6a97e 66c15deb .config console log report syz C ci-upstream-net-kasan-gce
2018/02/08 18:48 upstream 581e400ff935 9fb5ec43 .config console log report ci-upstream-kasan-gce
2018/02/08 12:09 upstream 581e400ff935 9fb5ec43 .config console log report ci-upstream-kasan-gce
2018/02/08 21:24 upstream c0136321924d 9fb5ec43 .config console log report ci-upstream-kasan-gce-386
2018/02/07 20:06 upstream a2e5790d8416 9fb5ec43 .config console log report ci-upstream-kasan-gce-386
2018/02/07 18:43 upstream a2e5790d8416 9fb5ec43 .config console log report ci-upstream-kasan-gce-386
2018/02/06 18:25 upstream e237f98a9c13 66c15deb .config console log report ci-upstream-kasan-gce-386
2018/02/09 04:08 net-next-old 617aebe6a97e 9fb5ec43 .config console log report ci-upstream-net-kasan-gce
2018/02/07 21:59 net-next-old 617aebe6a97e 9fb5ec43 .config console log report ci-upstream-net-kasan-gce
2018/02/07 21:51 net-next-old 617aebe6a97e 9fb5ec43 .config console log report ci-upstream-net-kasan-gce
2018/02/07 15:06 net-next-old 617aebe6a97e 9fb5ec43 .config console log report ci-upstream-net-kasan-gce
2018/02/07 09:50 net-next-old 617aebe6a97e 66c15deb .config console log report ci-upstream-net-kasan-gce
2018/02/06 15:55 net-next-old 617aebe6a97e 66c15deb .config console log report ci-upstream-net-kasan-gce
* Struck through repros no longer work on HEAD.