syzbot


WARNING: refcount bug in qdisc_put (2)

Status: fixed on 2020/09/25 01:17
Subsystems: net
[Documentation on labels]
Reported-by: syzbot+b33c1cb0a30ebdc8a5f9@syzkaller.appspotmail.com
Fix commit: 5438dd45831e net_sched: fix error path in red_init()
First crash: 1509d, last: 1508d
Cause bisection: introduced by (bisect log) :
commit aee9caa03fc3c8b02f8f31824354d85f30e562e0
Author: Petr Machata <petrm@mellanox.com>
Date: Fri Jun 26 22:45:28 2020 +0000

  net: sched: sch_red: Add qevents "early_drop" and "mark"

Crash: WARNING: refcount bug in qdisc_create (log)
Repro: C syz .config
  
Discussions (2)
Title Replies (including bot) Last reply
[Patch net] net_sched: fix error path in red_init() 3 (3) 2020/08/28 14:17
WARNING: refcount bug in qdisc_put (2) 0 (1) 2020/08/26 14:27
Similar bugs (1)
Kernel Title Repro Cause bisect Fix bisect Count Last Reported Patched Status
upstream WARNING: refcount bug in qdisc_put net 5 2203d 2204d 11/28 fixed on 2018/11/12 21:25
Last patch testing requests (1)
Created Duration User Patch Repo Result
2020/08/26 22:38 16m xiyou.wangcong@gmail.com https://github.com/congwang/linux.git net OK

Sample crash report:
------------[ cut here ]------------
refcount_t: underflow; use-after-free.
WARNING: CPU: 0 PID: 6850 at lib/refcount.c:28 refcount_warn_saturate+0x1d1/0x1e0 lib/refcount.c:28
Kernel panic - not syncing: panic_on_warn set ...
CPU: 0 PID: 6850 Comm: syz-executor115 Not tainted 5.9.0-rc2-syzkaller #0
Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 01/01/2011
Call Trace:
 __dump_stack lib/dump_stack.c:77 [inline]
 dump_stack+0x18f/0x20d lib/dump_stack.c:118
 panic+0x2e3/0x75c kernel/panic.c:231
 __warn.cold+0x20/0x4a kernel/panic.c:600
 report_bug+0x1bd/0x210 lib/bug.c:198
 handle_bug+0x38/0x90 arch/x86/kernel/traps.c:234
 exc_invalid_op+0x14/0x40 arch/x86/kernel/traps.c:254
 asm_exc_invalid_op+0x12/0x20 arch/x86/include/asm/idtentry.h:536
RIP: 0010:refcount_warn_saturate+0x1d1/0x1e0 lib/refcount.c:28
Code: e9 db fe ff ff 48 89 df e8 dc ee 18 fe e9 8a fe ff ff e8 e2 d5 d8 fd 48 c7 c7 00 db 93 88 c6 05 da e4 11 07 01 e8 d1 e6 a9 fd <0f> 0b e9 af fe ff ff 0f 1f 84 00 00 00 00 00 41 56 41 55 41 54 55
RSP: 0018:ffffc90001fe74a0 EFLAGS: 00010282
RAX: 0000000000000000 RBX: 0000000000000000 RCX: 0000000000000000
RDX: ffff8880946b4180 RSI: ffffffff815dafc7 RDI: fffff520003fce86
RBP: 0000000000000003 R08: 0000000000000001 R09: ffff8880ae6318e7
R10: 0000000000000000 R11: 0000000035383654 R12: ffff8880a0b75864
R13: 00000000ffffffea R14: ffff88809dc40000 R15: ffff88809fa52024
 refcount_sub_and_test include/linux/refcount.h:274 [inline]
 refcount_dec_and_test include/linux/refcount.h:294 [inline]
 qdisc_put+0xbe/0xe0 net/sched/sch_generic.c:984
 qdisc_create+0xcd9/0x12e0 net/sched/sch_api.c:1295
 tc_modify_qdisc+0x4c8/0x1990 net/sched/sch_api.c:1662
 rtnetlink_rcv_msg+0x44e/0xad0 net/core/rtnetlink.c:5563
 netlink_rcv_skb+0x15a/0x430 net/netlink/af_netlink.c:2470
 netlink_unicast_kernel net/netlink/af_netlink.c:1304 [inline]
 netlink_unicast+0x533/0x7d0 net/netlink/af_netlink.c:1330
 netlink_sendmsg+0x856/0xd90 net/netlink/af_netlink.c:1919
 sock_sendmsg_nosec net/socket.c:651 [inline]
 sock_sendmsg+0xcf/0x120 net/socket.c:671
 ____sys_sendmsg+0x6e8/0x810 net/socket.c:2353
 ___sys_sendmsg+0xf3/0x170 net/socket.c:2407
 __sys_sendmsg+0xe5/0x1b0 net/socket.c:2440
 do_syscall_64+0x2d/0x70 arch/x86/entry/common.c:46
 entry_SYSCALL_64_after_hwframe+0x44/0xa9
RIP: 0033:0x4404a9
Code: 18 89 d0 c3 66 2e 0f 1f 84 00 00 00 00 00 0f 1f 00 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 7b 13 fc ff c3 66 2e 0f 1f 84 00 00 00 00
RSP: 002b:00007fff85fa9228 EFLAGS: 00000246 ORIG_RAX: 000000000000002e
RAX: ffffffffffffffda RBX: 00000000004002c8 RCX: 00000000004404a9
RDX: 0000000000000000 RSI: 0000000020000240 RDI: 0000000000000004
RBP: 00000000006ca018 R08: 00000000004002c8 R09: 00000000004002c8
R10: 00000000004002c8 R11: 0000000000000246 R12: 0000000000401cb0
R13: 0000000000401d40 R14: 0000000000000000 R15: 0000000000000000
Kernel Offset: disabled
Rebooting in 86400 seconds..

Crashes (7):
Time Kernel Commit Syzkaller Config Log Report Syz repro C repro VM info Assets (help?) Manager Title
2020/08/25 14:39 upstream 6a9dc5fd6170 344da168 .config console log report syz C ci-upstream-kasan-gce
2020/08/25 07:52 upstream 6a9dc5fd6170 344da168 .config console log report syz C ci-upstream-kasan-gce-root
2020/08/25 22:59 upstream abb3438d69fb 344da168 .config console log report syz C ci-upstream-kasan-gce-386
2020/08/25 07:58 net-old 59ebb4305c43 344da168 .config console log report syz C ci-upstream-net-this-kasan-gce
2020/08/25 07:31 net-next-old 85eb5bc33717 344da168 .config console log report syz C ci-upstream-net-kasan-gce
2020/08/25 15:44 linux-next 3a00d3dfd4b6 344da168 .config console log report syz C ci-upstream-linux-next-kasan-gce-root
2020/08/25 06:46 net-next-old 85eb5bc33717 344da168 .config console log report ci-upstream-net-kasan-gce
* Struck through repros no longer work on HEAD.