===================================== WARNING: bad unlock balance detected! 5.15.167-syzkaller #0 Not tainted ------------------------------------- kworker/u5:4/4032 is trying to release lock (&chan->lock) at: [] l2cap_chan_unlock include/net/bluetooth/l2cap.h:860 [inline] [] l2cap_conless_channel net/bluetooth/l2cap_core.c:7770 [inline] [] l2cap_recv_frame+0xf60/0x6c28 net/bluetooth/l2cap_core.c:7823 but there are no more locks to release! other info that might help us debug this: 2 locks held by kworker/u5:4/4032: #0: ffff0000da985138 ((wq_completion)hci4#2){+.+.}-{0:0}, at: process_one_work+0x66c/0x11b8 kernel/workqueue.c:2283 #1: ffff8000200c7c00 ((work_completion)(&hdev->rx_work)){+.+.}-{0:0}, at: process_one_work+0x6ac/0x11b8 kernel/workqueue.c:2285 stack backtrace: CPU: 1 PID: 4032 Comm: kworker/u5:4 Not tainted 5.15.167-syzkaller #0 Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 08/06/2024 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:5065 lock_release+0x4b8/0xa1c kernel/locking/lockdep.c:5643 __mutex_unlock_slowpath+0xe0/0x6d4 kernel/locking/mutex.c:851 mutex_unlock+0x8c/0xe0 kernel/locking/mutex.c:536 l2cap_chan_unlock include/net/bluetooth/l2cap.h:860 [inline] l2cap_conless_channel net/bluetooth/l2cap_core.c:7770 [inline] l2cap_recv_frame+0xf60/0x6c28 net/bluetooth/l2cap_core.c:7823 l2cap_recv_acldata+0x4f4/0x163c net/bluetooth/l2cap_core.c:8535 hci_acldata_packet net/bluetooth/hci_core.c:4969 [inline] hci_rx_work+0x3a0/0x7c4 net/bluetooth/hci_core.c:5160 process_one_work+0x790/0x11b8 kernel/workqueue.c:2310 worker_thread+0x910/0x1034 kernel/workqueue.c:2457 kthread+0x37c/0x45c kernel/kthread.c:334 ret_from_fork+0x10/0x20 arch/arm64/kernel/entry.S:870