------------[ cut here ]------------ refcount_t: addition on 0; use-after-free. WARNING: CPU: 1 PID: 7369 at lib/refcount.c:25 refcount_warn_saturate+0xdd/0x140 lib/refcount.c:25 Modules linked in: CPU: 1 PID: 7369 Comm: kworker/u5:2 Not tainted 5.12.0-syzkaller #0 Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 01/01/2011 Workqueue: hci3 hci_rx_work RIP: 0010:refcount_warn_saturate+0xdd/0x140 lib/refcount.c:25 Code: 21 b2 e0 06 01 e8 60 13 f3 03 0f 0b eb 9d 80 3d 10 b2 e0 06 00 75 94 48 c7 c7 00 ec 12 88 c6 05 00 b2 e0 06 01 e8 40 13 f3 03 <0f> 0b e9 7a ff ff ff 80 3d ea b1 e0 06 00 0f 85 6d ff ff ff 48 c7 RSP: 0018:ffffc90004b87980 EFLAGS: 00010286 RAX: 0000000000000000 RBX: ffff88810e685018 RCX: 0000000000000000 RDX: 0000000000000002 RSI: ffffffff881325e0 RDI: fffff52000970f22 RBP: 0000000000000002 R08: 0000000000000001 R09: ffff8881f6530dc7 R10: ffffed103eca61b8 R11: 746e756f63666572 R12: dffffc0000000000 R13: 0000000000000001 R14: ffff88810e685021 R15: ffffffff8a21b588 FS: 0000000000000000(0000) GS:ffff8881f6500000(0000) knlGS:0000000000000000 CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033 CR2: 0000000020000180 CR3: 0000000102fe7000 CR4: 0000000000350ee0 Call Trace: __refcount_add include/linux/refcount.h:199 [inline] __refcount_inc include/linux/refcount.h:250 [inline] refcount_inc include/linux/refcount.h:267 [inline] kref_get include/linux/kref.h:45 [inline] l2cap_chan_hold net/bluetooth/l2cap_core.c:497 [inline] l2cap_global_chan_by_psm+0x35a/0x3c0 net/bluetooth/l2cap_core.c:1986 l2cap_conless_channel net/bluetooth/l2cap_core.c:7611 [inline] l2cap_recv_frame+0xa1f/0x9de0 net/bluetooth/l2cap_core.c:7681 hci_acldata_packet net/bluetooth/hci_core.c:4907 [inline] hci_rx_work+0x38f/0x930 net/bluetooth/hci_core.c:5098 process_one_work+0x84c/0x13b0 kernel/workqueue.c:2275 worker_thread+0x598/0xf80 kernel/workqueue.c:2421 kthread+0x36f/0x450 kernel/kthread.c:313 ret_from_fork+0x1f/0x30 arch/x86/entry/entry_64.S:294 irq event stamp: 41981 hardirqs last enabled at (41991): [] console_unlock+0x72b/0x9c0 kernel/printk/printk.c:2668 hardirqs last disabled at (42000): [] console_unlock+0x62b/0x9c0 kernel/printk/printk.c:2589 softirqs last enabled at (41548): [] invoke_softirq kernel/softirq.c:433 [inline] softirqs last enabled at (41548): [] __irq_exit_rcu kernel/softirq.c:637 [inline] softirqs last enabled at (41548): [] irq_exit_rcu+0x250/0x2a0 kernel/softirq.c:649 softirqs last disabled at (41469): [] invoke_softirq kernel/softirq.c:433 [inline] softirqs last disabled at (41469): [] __irq_exit_rcu kernel/softirq.c:637 [inline] softirqs last disabled at (41469): [] irq_exit_rcu+0x250/0x2a0 kernel/softirq.c:649 ---[ end trace c34d2ea43b4df59f ]--- ------------[ cut here ]------------ refcount_t: underflow; use-after-free. WARNING: CPU: 1 PID: 7369 at lib/refcount.c:28 refcount_warn_saturate+0x12b/0x140 lib/refcount.c:28 Modules linked in: CPU: 1 PID: 7369 Comm: kworker/u5:2 Tainted: G W 5.12.0-syzkaller #0 Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 01/01/2011 Workqueue: hci3 hci_rx_work RIP: 0010:refcount_warn_saturate+0x12b/0x140 lib/refcount.c:28 Code: 13 f3 03 0f 0b e9 53 ff ff ff 48 89 df e8 bd 51 48 fe e9 23 ff ff ff 48 c7 c7 60 ec 12 88 c6 05 b1 b1 e0 06 01 e8 f2 12 f3 03 <0f> 0b e9 2c ff ff ff 66 66 2e 0f 1f 84 00 00 00 00 00 0f 1f 00 41 RSP: 0018:ffffc90004b87a68 EFLAGS: 00010286 RAX: 0000000000000000 RBX: ffff88810e685018 RCX: 0000000000000000 RDX: 0000000000000001 RSI: ffffffff881325e0 RDI: fffff52000970f3f RBP: 0000000000000003 R08: 0000000000000001 R09: ffff8881f6530dc7 R10: ffffed103eca61b8 R11: 0000000063666572 R12: ffff88810e685000 R13: ffff88810e685018 R14: ffff88811c3fa014 R15: ffff888120a4edc0 FS: 0000000000000000(0000) GS:ffff8881f6500000(0000) knlGS:0000000000000000 CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033 CR2: 0000000000530198 CR3: 000000011e91c000 CR4: 0000000000350ee0 Call Trace: __refcount_sub_and_test include/linux/refcount.h:283 [inline] __refcount_dec_and_test include/linux/refcount.h:315 [inline] refcount_dec_and_test include/linux/refcount.h:333 [inline] kref_put include/linux/kref.h:64 [inline] l2cap_chan_put net/bluetooth/l2cap_core.c:504 [inline] l2cap_conless_channel net/bluetooth/l2cap_core.c:7634 [inline] l2cap_recv_frame+0xb8a/0x9de0 net/bluetooth/l2cap_core.c:7681 hci_acldata_packet net/bluetooth/hci_core.c:4907 [inline] hci_rx_work+0x38f/0x930 net/bluetooth/hci_core.c:5098 process_one_work+0x84c/0x13b0 kernel/workqueue.c:2275 worker_thread+0x598/0xf80 kernel/workqueue.c:2421 kthread+0x36f/0x450 kernel/kthread.c:313 ret_from_fork+0x1f/0x30 arch/x86/entry/entry_64.S:294 irq event stamp: 42813 hardirqs last enabled at (42821): [] console_unlock+0x72b/0x9c0 kernel/printk/printk.c:2668 hardirqs last disabled at (42858): [] __schedule+0x1411/0x2400 kernel/sched/core.c:5043 softirqs last enabled at (42854): [] invoke_softirq kernel/softirq.c:433 [inline] softirqs last enabled at (42854): [] __irq_exit_rcu kernel/softirq.c:637 [inline] softirqs last enabled at (42854): [] irq_exit_rcu+0x250/0x2a0 kernel/softirq.c:649 softirqs last disabled at (42829): [] invoke_softirq kernel/softirq.c:433 [inline] softirqs last disabled at (42829): [] __irq_exit_rcu kernel/softirq.c:637 [inline] softirqs last disabled at (42829): [] irq_exit_rcu+0x250/0x2a0 kernel/softirq.c:649 ---[ end trace c34d2ea43b4df5a0 ]---