===================================== WARNING: bad unlock balance detected! 5.15.110-syzkaller #0 Not tainted ------------------------------------- kworker/u5:3/4010 is trying to release lock (&conn->chan_lock) at: [] l2cap_disconnect_rsp+0x210/0x30c net/bluetooth/l2cap_core.c:4697 but there are no more locks to release! other info that might help us debug this: 2 locks held by kworker/u5:3/4010: #0: ffff0000ccf01938 ((wq_completion)hci4#2){+.+.}-{0:0}, at: process_one_work+0x66c/0x11b8 kernel/workqueue.c:2279 #1: ffff80001c7f7c00 ((work_completion)(&hdev->rx_work)){+.+.}-{0:0}, at: process_one_work+0x6ac/0x11b8 kernel/workqueue.c:2281 stack backtrace: CPU: 0 PID: 4010 Comm: kworker/u5:3 Not tainted 5.15.110-syzkaller #0 Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 04/14/2023 Workqueue: hci4 hci_rx_work Call trace: dump_backtrace+0x0/0x530 arch/arm64/kernel/stacktrace.c:152 show_stack+0x2c/0x3c arch/arm64/kernel/stacktrace.c:216 __dump_stack lib/dump_stack.c:88 [inline] dump_stack_lvl+0x108/0x170 lib/dump_stack.c:106 dump_stack+0x1c/0x58 lib/dump_stack.c:113 print_unlock_imbalance_bug+0x250/0x2a4 kernel/locking/lockdep.c:5064 lock_release+0x4b8/0xa1c kernel/locking/lockdep.c:5642 __mutex_unlock_slowpath+0xe0/0x6d4 kernel/locking/mutex.c:851 mutex_unlock+0x8c/0xe0 kernel/locking/mutex.c:536 l2cap_disconnect_rsp+0x210/0x30c net/bluetooth/l2cap_core.c:4697 l2cap_bredr_sig_cmd+0x970/0x7f54 net/bluetooth/l2cap_core.c:5748 l2cap_sig_channel net/bluetooth/l2cap_core.c:6507 [inline] l2cap_recv_frame+0x848/0x6a48 net/bluetooth/l2cap_core.c:7786 l2cap_recv_acldata+0x4f4/0x163c net/bluetooth/l2cap_core.c:8504 hci_acldata_packet net/bluetooth/hci_core.c:4967 [inline] hci_rx_work+0x3b0/0x6d0 net/bluetooth/hci_core.c:5158 process_one_work+0x790/0x11b8 kernel/workqueue.c:2306 worker_thread+0x910/0x1034 kernel/workqueue.c:2453 kthread+0x37c/0x45c kernel/kthread.c:319 ret_from_fork+0x10/0x20 arch/arm64/kernel/entry.S:870