syzbot
WARNING: refcount bug in bnep_session (2)
Status:
upstream: reported C repro on 2026/08/20 08:31
Subsystems:
kernel
Labels:
prio:high
[Documentation on labels]
Reported-by: syzbot+98baa83c342e86a836d7@syzkaller.appspotmail.com
First crash: 108d, last: 13h45m
▶
▼
Last patch testing requests (1)
Sample crash report:
------------[ cut here ]------------
refcount_t: underflow; use-after-free.
WARNING: lib/refcount.c:28 at refcount_warn_saturate+0xf4/0x130 lib/refcount.c:28, CPU#3: kbnepd bnep0/6057
Modules linked in:
CPU: 3 UID: 0 PID: 6057 Comm: kbnepd bnep0 Not tainted syzkaller #0 PREEMPT(full)
Hardware name: QEMU Standard PC (Q35 + ICH9, 2009), BIOS 1.16.3-debian-1.16.3-2 04/01/2014
RIP: 0010:refcount_warn_saturate+0xf4/0x130 lib/refcount.c:28
Code: 06 e8 70 ca e6 fc 48 8d 3d c9 dd 29 0c 67 48 0f b9 3a e8 5f ca e6 fc 5b 5d c3 cc cc cc cc e8 53 ca e6 fc 48 8d 3d bc dd 29 0c <67> 48 0f b9 3a e8 42 ca e6 fc 5b 5d e9 4b ee a5 06 e8 36 ca e6 fc
RSP: 0018:ffffc90005c6f958 EFLAGS: 00010293
RAX: 0000000000000000 RBX: ffff8880507dfc78 RCX: 0000000000000001
RDX: ffff88803142cb00 RSI: ffffffff8524377d RDI: ffffffff914e1540
RBP: 0000000000000003 R08: 0000000000000005 R09: 0000000000000004
R10: 0000000000000003 R11: 0000000000000000 R12: ffff8880134cd400
R13: ffff8880507dfc78 R14: ffffffff8661d790 R15: ffff888035896000
FS: 0000000000000000(0000) GS:ffff8880d5ea2000(0000) knlGS:0000000000000000
CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033
CR2: 00007fcfb9c4bd58 CR3: 0000000036184000 CR4: 0000000000352ef0
Call Trace:
<TASK>
__refcount_sub_and_test include/linux/refcount.h:400 [inline]
__refcount_dec_and_test include/linux/refcount.h:432 [inline]
refcount_dec_and_test include/linux/refcount.h:450 [inline]
kref_put include/linux/kref.h:64 [inline]
klist_dec_and_del lib/klist.c:206 [inline]
klist_put+0x18a/0x1d0 lib/klist.c:217
device_del+0x1b8/0x9b0 drivers/base/core.c:3942
unregister_netdevice_many_notify+0x1503/0x2150 net/core/dev.c:12551
unregister_netdevice_many net/core/dev.c:12589 [inline]
unregister_netdevice_queue net/core/dev.c:12390 [inline]
unregister_netdevice_queue+0x30b/0x3c0 net/core/dev.c:12376
unregister_netdevice include/linux/netdevice.h:3487 [inline]
unregister_netdev+0x1f/0x60 net/core/dev.c:12697
bnep_session+0x22e6/0x2f40 net/bluetooth/bnep/core.c:544
kthread+0x373/0x450 kernel/kthread.c:436
ret_from_fork+0x730/0xd60 arch/x86/kernel/process.c:158
ret_from_fork_asm+0x1a/0x30 arch/x86/entry/entry_64.S:245
</TASK>
----------------
Code disassembly (best guess), 1 bytes skipped:
0: e8 70 ca e6 fc call 0xfce6ca75
5: 48 8d 3d c9 dd 29 0c lea 0xc29ddc9(%rip),%rdi # 0xc29ddd5
c: 67 48 0f b9 3a ud1 (%edx),%rdi
11: e8 5f ca e6 fc call 0xfce6ca75
16: 5b pop %rbx
17: 5d pop %rbp
18: c3 ret
19: cc int3
1a: cc int3
1b: cc int3
1c: cc int3
1d: e8 53 ca e6 fc call 0xfce6ca75
22: 48 8d 3d bc dd 29 0c lea 0xc29ddbc(%rip),%rdi # 0xc29dde5
* 29: 67 48 0f b9 3a ud1 (%edx),%rdi <-- trapping instruction
2e: e8 42 ca e6 fc call 0xfce6ca75
33: 5b pop %rbx
34: 5d pop %rbp
35: e9 4b ee a5 06 jmp 0x6a5ee85
3a: e8 36 ca e6 fc call 0xfce6ca75
* Struck through repros no longer work on HEAD.