syzbot


WARNING: refcount bug in hci_register_dev

Status: fixed on 2019/12/05 23:59
Reported-by: syzbot+ef7f3e6851ea9c12f0e3@syzkaller.appspotmail.com
Fix commit: e1666bcbae0c driver core: Fix use-after-free and double free on glue directory
First crash: 1699d, last: 1688d
Fix bisection: fixed by (bisect log) :
commit e1666bcbae0c5edb6d7a752b31a8f28c59b54546
Author: Muchun Song <smuchun@gmail.com>
Date: Sat Jul 27 03:21:22 2019 +0000

  driver core: Fix use-after-free and double free on glue directory

  
Similar bugs (1)
Kernel Title Repro Cause bisect Fix bisect Count Last Reported Patched Status
linux-4.14 WARNING: refcount bug in hci_register_dev C done 3 1699d 1714d 1/1 fixed on 2019/12/05 10:31

Sample crash report:
------------[ cut here ]------------
refcount_t: increment on 0; use-after-free.
WARNING: CPU: 1 PID: 7890 at lib/refcount.c:153 refcount_inc_checked lib/refcount.c:153 [inline]
WARNING: CPU: 1 PID: 7890 at lib/refcount.c:153 refcount_inc_checked+0x61/0x70 lib/refcount.c:151
Kernel panic - not syncing: panic_on_warn set ...

CPU: 1 PID: 7890 Comm: syz-executor418 Not tainted 4.19.72 #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+0x172/0x1f0 lib/dump_stack.c:113
 panic+0x263/0x507 kernel/panic.c:185
 __warn.cold+0x20/0x4a kernel/panic.c:540
 report_bug+0x263/0x2b0 lib/bug.c:186
 fixup_bug arch/x86/kernel/traps.c:178 [inline]
 fixup_bug arch/x86/kernel/traps.c:173 [inline]
 do_error_trap+0x204/0x360 arch/x86/kernel/traps.c:296
 do_invalid_op+0x1b/0x20 arch/x86/kernel/traps.c:316
 invalid_op+0x14/0x20 arch/x86/entry/entry_64.S:1037
RIP: 0010:refcount_inc_checked lib/refcount.c:153 [inline]
RIP: 0010:refcount_inc_checked+0x61/0x70 lib/refcount.c:151
Code: 1d 84 46 13 06 31 ff 89 de e8 5b b4 46 fe 84 db 75 dd e8 12 b3 46 fe 48 c7 c7 e0 29 82 87 c6 05 64 46 13 06 01 e8 3d 3f 1a fe <0f> 0b eb c1 90 66 2e 0f 1f 84 00 00 00 00 00 55 48 89 e5 41 57 41
RSP: 0018:ffff8880a8947920 EFLAGS: 00010286
RAX: 0000000000000000 RBX: 0000000000000000 RCX: 0000000000000000
RDX: 0000000000000000 RSI: ffffffff8155cf16 RDI: ffffed1015128f16
RBP: ffff8880a8947930 R08: ffff888089b5c500 R09: ffffed1015d25079
R10: ffffed1015d25078 R11: ffff8880ae9283c7 R12: ffff8880a7ed1978
R13: ffff8880997dfa20 R14: ffff8880997dfa18 R15: ffff8880a7ed18f8
 kref_get include/linux/kref.h:47 [inline]
 kobject_get+0x66/0xc0 lib/kobject.c:613
 kset_get include/linux/kobject.h:213 [inline]
 kobj_kset_join lib/kobject.c:186 [inline]
 kobject_add_internal lib/kobject.c:238 [inline]
 kobject_add_internal+0x14f/0x380 lib/kobject.c:217
 kobject_add_varg lib/kobject.c:382 [inline]
 kobject_add+0x150/0x1c0 lib/kobject.c:426
 class_dir_create_and_add drivers/base/core.c:1560 [inline]
 get_device_parent.isra.0+0x415/0x570 drivers/base/core.c:1615
 device_add+0x2f4/0x1760 drivers/base/core.c:1871
 hci_register_dev+0x304/0x880 net/bluetooth/hci_core.c:3198
 __vhci_create_device+0x2d0/0x5a0 drivers/bluetooth/hci_vhci.c:139
 vhci_create_device drivers/bluetooth/hci_vhci.c:163 [inline]
 vhci_get_user drivers/bluetooth/hci_vhci.c:219 [inline]
 vhci_write+0x2d6/0x470 drivers/bluetooth/hci_vhci.c:299
 call_write_iter include/linux/fs.h:1820 [inline]
 new_sync_write fs/read_write.c:474 [inline]
 __vfs_write+0x587/0x810 fs/read_write.c:487
 vfs_write+0x20c/0x560 fs/read_write.c:549
 ksys_write+0x14f/0x2d0 fs/read_write.c:599
 __do_sys_write fs/read_write.c:611 [inline]
 __se_sys_write fs/read_write.c:608 [inline]
 __x64_sys_write+0x73/0xb0 fs/read_write.c:608
 do_syscall_64+0xfd/0x620 arch/x86/entry/common.c:293
 entry_SYSCALL_64_after_hwframe+0x49/0xbe
RIP: 0033:0x4412a9
Code: e8 ac e8 ff ff 48 83 c4 18 c3 0f 1f 80 00 00 00 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 eb 08 fc ff c3 66 2e 0f 1f 84 00 00 00 00
RSP: 002b:00007ffed065d908 EFLAGS: 00000246 ORIG_RAX: 0000000000000001
RAX: ffffffffffffffda RBX: 0000000000000000 RCX: 00000000004412a9
RDX: 0000000000000002 RSI: 0000000020000000 RDI: 0000000000000003
RBP: 0000000000013e19 R08: 00000000004002c8 R09: 00000000004002c8
R10: 0000000000000004 R11: 0000000000000246 R12: 0000000000402020
R13: 00000000004020b0 R14: 0000000000000000 R15: 0000000000000000
Kernel Offset: disabled
Rebooting in 86400 seconds..

Crashes (3):
Time Kernel Commit Syzkaller Config Log Report Syz repro C repro VM info Assets (help?) Manager Title
2019/09/12 18:30 linux-4.19.y ee809c7e0895 0b7672ee .config console log report syz C ci2-linux-4-19
2019/08/31 21:48 linux-4.19.y 97ab07e11fbf bad3cce2 .config console log report syz C ci2-linux-4-19
2019/09/09 12:16 linux-4.19.y e7d2672c66e4 a60cb4cd .config console log report ci2-linux-4-19
* Struck through repros no longer work on HEAD.