syzbot


possible deadlock in l2cap_conn_del

Status: upstream: reported syz repro on 2025/03/31 19:16
Subsystems: bluetooth
[Documentation on labels]
Reported-by: syzbot+b71bb48c13bf3fed3692@syzkaller.appspotmail.com
First crash: 271d, last: 6h11m
Cause bisection: failed (error log, bisect log)
  
Discussions (4)
Title Replies (including bot) Last reply
[syzbot] Monthly bluetooth report (Oct 2025) 0 (1) 2025/10/27 05:54
[syzbot] Monthly bluetooth report (Sep 2025) 0 (1) 2025/09/24 12:39
[syzbot] Monthly bluetooth report (Aug 2025) 0 (1) 2025/08/25 08:44
[syzbot] [bluetooth?] possible deadlock in l2cap_conn_del 0 (2) 2025/07/21 21:58
Last patch testing requests (2)
Created Duration User Patch Repo Result
2025/07/21 21:58 23m ipravdin.official@gmail.com git://git.kernel.org/pub/scm/linux/kernel/git/bluetooth/bluetooth-next.git master OK log
2025/04/04 01:15 21m hdanton@sina.com patch upstream report log

Sample crash report:
======================================================
WARNING: possible circular locking dependency detected
6.14.0-rc3-syzkaller-00060-g6537cfb395f3 #0 Not tainted
------------------------------------------------------
kworker/u9:0/53 is trying to acquire lock:
ffff888035a42840 ((work_completion)(&(&conn->info_timer)->work)){+.+.}-{0:0}, at: rcu_lock_acquire include/linux/rcupdate.h:337 [inline]
ffff888035a42840 ((work_completion)(&(&conn->info_timer)->work)){+.+.}-{0:0}, at: rcu_read_lock include/linux/rcupdate.h:849 [inline]
ffff888035a42840 ((work_completion)(&(&conn->info_timer)->work)){+.+.}-{0:0}, at: start_flush_work kernel/workqueue.c:4148 [inline]
ffff888035a42840 ((work_completion)(&(&conn->info_timer)->work)){+.+.}-{0:0}, at: __flush_work+0xe9/0xc60 kernel/workqueue.c:4206

but task is already holding lock:
ffff888035a42b38 (&conn->lock#2){+.+.}-{4:4}, at: l2cap_conn_del+0x71/0x690 net/bluetooth/l2cap_core.c:1760

which lock already depends on the new lock.


the existing dependency chain (in reverse order) is:

-> #1 (&conn->lock#2){+.+.}-{4:4}:
       lock_acquire+0x1ed/0x550 kernel/locking/lockdep.c:5851
       __mutex_lock_common kernel/locking/mutex.c:585 [inline]
       __mutex_lock+0x19c/0x1010 kernel/locking/mutex.c:730
       l2cap_info_timeout+0x60/0xa0 net/bluetooth/l2cap_core.c:1666
       process_one_work kernel/workqueue.c:3236 [inline]
       process_scheduled_works+0xabe/0x18e0 kernel/workqueue.c:3317
       worker_thread+0x870/0xd30 kernel/workqueue.c:3398
       kthread+0x7a9/0x920 kernel/kthread.c:464
       ret_from_fork+0x4b/0x80 arch/x86/kernel/process.c:148
       ret_from_fork_asm+0x1a/0x30 arch/x86/entry/entry_64.S:244

-> #0 ((work_completion)(&(&conn->info_timer)->work)){+.+.}-{0:0}:
       check_prev_add kernel/locking/lockdep.c:3163 [inline]
       check_prevs_add kernel/locking/lockdep.c:3282 [inline]
       validate_chain+0x18ef/0x5920 kernel/locking/lockdep.c:3906
       __lock_acquire+0x1397/0x2100 kernel/locking/lockdep.c:5228
       lock_acquire+0x1ed/0x550 kernel/locking/lockdep.c:5851
       touch_work_lockdep_map kernel/workqueue.c:3920 [inline]
       start_flush_work kernel/workqueue.c:4174 [inline]
       __flush_work+0x739/0xc60 kernel/workqueue.c:4206
       __cancel_work_sync+0xbc/0x110 kernel/workqueue.c:4362
       l2cap_conn_del+0x507/0x690 net/bluetooth/l2cap_core.c:1794
       l2cap_connect_cfm+0xcc/0x1090 net/bluetooth/l2cap_core.c:7195
       hci_connect_cfm include/net/bluetooth/hci_core.h:2051 [inline]
       hci_conn_failed+0x287/0x400 net/bluetooth/hci_conn.c:1266
       hci_abort_conn_sync+0xd27/0x1340 net/bluetooth/hci_sync.c:5588
       hci_cmd_sync_work+0x22b/0x400 net/bluetooth/hci_sync.c:332
       process_one_work kernel/workqueue.c:3236 [inline]
       process_scheduled_works+0xabe/0x18e0 kernel/workqueue.c:3317
       worker_thread+0x870/0xd30 kernel/workqueue.c:3398
       kthread+0x7a9/0x920 kernel/kthread.c:464
       ret_from_fork+0x4b/0x80 arch/x86/kernel/process.c:148
       ret_from_fork_asm+0x1a/0x30 arch/x86/entry/entry_64.S:244

other info that might help us debug this:

 Possible unsafe locking scenario:

       CPU0                    CPU1
       ----                    ----
  lock(&conn->lock#2);
                               lock((work_completion)(&(&conn->info_timer)->work));
                               lock(&conn->lock#2);
  lock((work_completion)(&(&conn->info_timer)->work));

 *** DEADLOCK ***

6 locks held by kworker/u9:0/53:
 #0: ffff888024bc9148 ((wq_completion)hci5){+.+.}-{0:0}, at: process_one_work kernel/workqueue.c:3211 [inline]
 #0: ffff888024bc9148 ((wq_completion)hci5){+.+.}-{0:0}, at: process_scheduled_works+0x98b/0x18e0 kernel/workqueue.c:3317
 #1: ffffc90000bd7c60 ((work_completion)(&hdev->cmd_sync_work)){+.+.}-{0:0}, at: process_one_work kernel/workqueue.c:3212 [inline]
 #1: ffffc90000bd7c60 ((work_completion)(&hdev->cmd_sync_work)){+.+.}-{0:0}, at: process_scheduled_works+0x9c6/0x18e0 kernel/workqueue.c:3317
 #2: ffff88805cf6cd80 (&hdev->req_lock){+.+.}-{4:4}, at: hci_cmd_sync_work+0x1ec/0x400 net/bluetooth/hci_sync.c:331
 #3: ffff88805cf6c078 (&hdev->lock){+.+.}-{4:4}, at: hci_abort_conn_sync+0x9ee/0x1340 net/bluetooth/hci_sync.c:5569
 #4: ffff888035a42b38 (&conn->lock#2){+.+.}-{4:4}, at: l2cap_conn_del+0x71/0x690 net/bluetooth/l2cap_core.c:1760
 #5: ffffffff8eb38f60 (rcu_read_lock){....}-{1:3}, at: rcu_lock_acquire include/linux/rcupdate.h:337 [inline]
 #5: ffffffff8eb38f60 (rcu_read_lock){....}-{1:3}, at: rcu_read_lock include/linux/rcupdate.h:849 [inline]
 #5: ffffffff8eb38f60 (rcu_read_lock){....}-{1:3}, at: start_flush_work kernel/workqueue.c:4148 [inline]
 #5: ffffffff8eb38f60 (rcu_read_lock){....}-{1:3}, at: __flush_work+0xe9/0xc60 kernel/workqueue.c:4206

stack backtrace:
CPU: 1 UID: 0 PID: 53 Comm: kworker/u9:0 Not tainted 6.14.0-rc3-syzkaller-00060-g6537cfb395f3 #0
Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 12/27/2024
Workqueue: hci5 hci_cmd_sync_work
Call Trace:
 <TASK>
 __dump_stack lib/dump_stack.c:94 [inline]
 dump_stack_lvl+0x241/0x360 lib/dump_stack.c:120
 print_circular_bug+0x13a/0x1b0 kernel/locking/lockdep.c:2076
 check_noncircular+0x36a/0x4a0 kernel/locking/lockdep.c:2208
 check_prev_add kernel/locking/lockdep.c:3163 [inline]
 check_prevs_add kernel/locking/lockdep.c:3282 [inline]
 validate_chain+0x18ef/0x5920 kernel/locking/lockdep.c:3906
 __lock_acquire+0x1397/0x2100 kernel/locking/lockdep.c:5228
 lock_acquire+0x1ed/0x550 kernel/locking/lockdep.c:5851
 touch_work_lockdep_map kernel/workqueue.c:3920 [inline]
 start_flush_work kernel/workqueue.c:4174 [inline]
 __flush_work+0x739/0xc60 kernel/workqueue.c:4206
 __cancel_work_sync+0xbc/0x110 kernel/workqueue.c:4362
 l2cap_conn_del+0x507/0x690 net/bluetooth/l2cap_core.c:1794
 l2cap_connect_cfm+0xcc/0x1090 net/bluetooth/l2cap_core.c:7195
 hci_connect_cfm include/net/bluetooth/hci_core.h:2051 [inline]
 hci_conn_failed+0x287/0x400 net/bluetooth/hci_conn.c:1266
 hci_abort_conn_sync+0xd27/0x1340 net/bluetooth/hci_sync.c:5588
 hci_cmd_sync_work+0x22b/0x400 net/bluetooth/hci_sync.c:332
 process_one_work kernel/workqueue.c:3236 [inline]
 process_scheduled_works+0xabe/0x18e0 kernel/workqueue.c:3317
 worker_thread+0x870/0xd30 kernel/workqueue.c:3398
 kthread+0x7a9/0x920 kernel/kthread.c:464
 ret_from_fork+0x4b/0x80 arch/x86/kernel/process.c:148
 ret_from_fork_asm+0x1a/0x30 arch/x86/entry/entry_64.S:244
 </TASK>

Crashes (374):
Time Kernel Commit Syzkaller Config Log Report Syz repro C repro VM info Assets (help?) Manager Title
2025/02/19 06:57 upstream 6537cfb395f3 9a14138f .config console log report syz / log [disk image] [vmlinux] [kernel image] ci-upstream-kasan-gce-smack-root possible deadlock in l2cap_conn_del
2025/09/25 11:17 git://git.kernel.org/pub/scm/linux/kernel/git/arm64/linux.git for-kernelci 0f3be52b8e37 0abd0691 .config console log report syz / log [disk image] [vmlinux] [kernel image] [mounted in repro (corrupt fs)] ci-upstream-gce-arm64 possible deadlock in l2cap_conn_del
2025/08/30 05:38 git://git.kernel.org/pub/scm/linux/kernel/git/arm64/linux.git for-kernelci 8f5ae30d69d7 807a3b61 .config console log report syz / log [disk image] [vmlinux] [kernel image] [mounted in repro] ci-upstream-gce-arm64 possible deadlock in l2cap_conn_del
2025/11/12 14:18 upstream 24172e0d7990 07e030de .config console log report info [disk image] [vmlinux] [kernel image] ci-upstream-kasan-gce-selinux-root possible deadlock in l2cap_conn_del
2025/10/24 12:19 upstream 6fab32bb6508 c0460fcd .config console log report info [disk image] [vmlinux] [kernel image] ci-upstream-kasan-gce-selinux-root possible deadlock in l2cap_conn_del
2025/07/30 01:13 upstream 038d61fd6422 f8f2b4da .config console log report info [disk image] [vmlinux] [kernel image] ci-upstream-kasan-gce-smack-root possible deadlock in l2cap_conn_del
2025/07/19 13:38 upstream 4871b7cb27f4 7117feec .config console log report info [disk image] [vmlinux] [kernel image] ci-upstream-kasan-badwrites-root possible deadlock in l2cap_conn_del
2025/06/19 11:53 upstream fb4d33ab452e ed3e87f7 .config console log report info [disk image] [vmlinux] [kernel image] ci2-upstream-fs possible deadlock in l2cap_conn_del
2025/03/21 18:06 upstream b3ee1e460951 62330552 .config console log report info [disk image] [vmlinux] [kernel image] ci-upstream-kasan-gce-root possible deadlock in l2cap_conn_del
2025/03/17 18:41 upstream 4701f33a1070 948c34e4 .config console log report info [disk image] [vmlinux] [kernel image] ci-upstream-kasan-gce-selinux-root possible deadlock in l2cap_conn_del
2025/03/05 14:37 upstream 48a5eed9ad58 60f5d8d9 .config console log report info [disk image] [vmlinux] [kernel image] ci-upstream-kasan-gce possible deadlock in l2cap_conn_del
2025/11/13 00:32 upstream 24172e0d7990 07e030de .config console log report [disk image (non-bootable)] [vmlinux] [kernel image] ci-snapshot-upstream-root possible deadlock in l2cap_conn_del
2025/11/12 18:16 upstream 24172e0d7990 07e030de .config console log report [disk image (non-bootable)] [vmlinux] [kernel image] ci-snapshot-upstream-root possible deadlock in l2cap_conn_del
2025/11/04 00:44 upstream 8bb886cb8f3a e6c64ba8 .config console log report [disk image (non-bootable)] [vmlinux] [kernel image] ci-snapshot-upstream-root possible deadlock in l2cap_conn_del
2025/11/03 15:29 upstream 6146a0f1dfae e6c64ba8 .config console log report [disk image (non-bootable)] [vmlinux] [kernel image] ci-snapshot-upstream-root possible deadlock in l2cap_conn_del
2025/11/01 06:10 upstream 58fdd8484c05 2c50b6a9 .config console log report [disk image (non-bootable)] [vmlinux] [kernel image] ci-snapshot-upstream-root possible deadlock in l2cap_conn_del
2025/10/30 16:36 upstream e53642b87a4f 2c50b6a9 .config console log report [disk image (non-bootable)] [vmlinux] [kernel image] ci-snapshot-upstream-root possible deadlock in l2cap_conn_del
2025/10/30 13:20 upstream e53642b87a4f fd2207e7 .config console log report [disk image (non-bootable)] [vmlinux] [kernel image] ci-snapshot-upstream-root possible deadlock in l2cap_conn_del
2025/10/30 06:43 upstream e53642b87a4f fd2207e7 .config console log report [disk image (non-bootable)] [vmlinux] [kernel image] ci-snapshot-upstream-root possible deadlock in l2cap_conn_del
2025/10/29 14:52 upstream e53642b87a4f fd2207e7 .config console log report [disk image (non-bootable)] [vmlinux] [kernel image] ci-snapshot-upstream-root possible deadlock in l2cap_conn_del
2025/10/29 08:25 upstream 8eefed8f65cc fd2207e7 .config console log report [disk image (non-bootable)] [vmlinux] [kernel image] ci-snapshot-upstream-root possible deadlock in l2cap_conn_del
2025/10/29 01:29 upstream 8eefed8f65cc fd2207e7 .config console log report [disk image (non-bootable)] [vmlinux] [kernel image] ci-snapshot-upstream-root possible deadlock in l2cap_conn_del
2025/10/28 21:11 upstream fd57572253bc fd2207e7 .config console log report [disk image (non-bootable)] [vmlinux] [kernel image] ci-snapshot-upstream-root possible deadlock in l2cap_conn_del
2025/10/27 16:02 upstream dcb6fa37fd7b fd2207e7 .config console log report [disk image (non-bootable)] [vmlinux] [kernel image] ci-snapshot-upstream-root possible deadlock in l2cap_conn_del
2025/10/27 12:44 upstream dcb6fa37fd7b fd2207e7 .config console log report [disk image (non-bootable)] [vmlinux] [kernel image] ci-snapshot-upstream-root possible deadlock in l2cap_conn_del
2025/10/27 01:54 upstream dbfc6422a34d c0460fcd .config console log report [disk image (non-bootable)] [vmlinux] [kernel image] ci-snapshot-upstream-root possible deadlock in l2cap_conn_del
2025/10/26 22:31 upstream dbfc6422a34d c0460fcd .config console log report [disk image (non-bootable)] [vmlinux] [kernel image] ci-snapshot-upstream-root possible deadlock in l2cap_conn_del
2025/10/26 07:14 upstream 72761a7e3122 c0460fcd .config console log report [disk image (non-bootable)] [vmlinux] [kernel image] ci-snapshot-upstream-root possible deadlock in l2cap_conn_del
2025/10/25 22:02 upstream 566771afc7a8 c0460fcd .config console log report [disk image (non-bootable)] [vmlinux] [kernel image] ci-snapshot-upstream-root possible deadlock in l2cap_conn_del
2025/10/23 22:25 upstream ab431bc39741 c0460fcd .config console log report [disk image (non-bootable)] [vmlinux] [kernel image] ci-snapshot-upstream-root possible deadlock in l2cap_conn_del
2025/10/23 17:03 upstream 43e9ad0c55a3 c0460fcd .config console log report [disk image (non-bootable)] [vmlinux] [kernel image] ci-snapshot-upstream-root possible deadlock in l2cap_conn_del
2025/10/22 22:27 upstream dd72c8fcf6d3 c0460fcd .config console log report [disk image (non-bootable)] [vmlinux] [kernel image] ci-snapshot-upstream-root possible deadlock in l2cap_conn_del
2025/10/22 18:50 upstream dd72c8fcf6d3 c0460fcd .config console log report [disk image (non-bootable)] [vmlinux] [kernel image] ci-snapshot-upstream-root possible deadlock in l2cap_conn_del
2025/10/22 13:41 upstream 552c50713f27 252fbbad .config console log report [disk image (non-bootable)] [vmlinux] [kernel image] ci-snapshot-upstream-root possible deadlock in l2cap_conn_del
2025/10/21 19:52 upstream 6548d364a3e8 252fbbad .config console log report [disk image (non-bootable)] [vmlinux] [kernel image] ci-snapshot-upstream-root possible deadlock in l2cap_conn_del
2025/10/21 08:12 upstream 6548d364a3e8 9832ed61 .config console log report [disk image (non-bootable)] [vmlinux] [kernel image] ci-snapshot-upstream-root possible deadlock in l2cap_conn_del
2025/10/21 06:24 upstream 6548d364a3e8 9832ed61 .config console log report [disk image (non-bootable)] [vmlinux] [kernel image] ci-snapshot-upstream-root possible deadlock in l2cap_conn_del
2025/10/20 21:47 upstream 211ddde0823f d422939c .config console log report [disk image (non-bootable)] [vmlinux] [kernel image] ci-snapshot-upstream-root possible deadlock in l2cap_conn_del
2025/10/20 17:54 upstream 211ddde0823f d422939c .config console log report [disk image (non-bootable)] [vmlinux] [kernel image] ci-snapshot-upstream-root possible deadlock in l2cap_conn_del
2025/10/20 11:21 upstream 211ddde0823f 1c8c8cd8 .config console log report [disk image (non-bootable)] [vmlinux] [kernel image] ci-snapshot-upstream-root possible deadlock in l2cap_conn_del
2025/10/20 04:42 upstream d9043c79ba68 1c8c8cd8 .config console log report [disk image (non-bootable)] [vmlinux] [kernel image] ci-snapshot-upstream-root possible deadlock in l2cap_conn_del
2025/10/20 03:31 upstream d9043c79ba68 1c8c8cd8 .config console log report [disk image (non-bootable)] [vmlinux] [kernel image] ci-snapshot-upstream-root possible deadlock in l2cap_conn_del
2025/10/18 12:31 upstream f406055cb18c 1c8c8cd8 .config console log report info [disk image (non-bootable)] [vmlinux] [kernel image] ci-qemu-upstream possible deadlock in l2cap_conn_del
2025/10/17 21:32 upstream 6f3b6e91f720 1c8c8cd8 .config console log report [disk image (non-bootable)] [vmlinux] [kernel image] ci-snapshot-upstream-root possible deadlock in l2cap_conn_del
2025/10/17 18:54 upstream 98ac9cc4b445 e18aa505 .config console log report [disk image (non-bootable)] [vmlinux] [kernel image] ci-snapshot-upstream-root possible deadlock in l2cap_conn_del
2025/10/17 16:36 upstream 98ac9cc4b445 e18aa505 .config console log report [disk image (non-bootable)] [vmlinux] [kernel image] ci-snapshot-upstream-root possible deadlock in l2cap_conn_del
2025/10/17 14:30 upstream 98ac9cc4b445 e18aa505 .config console log report [disk image (non-bootable)] [vmlinux] [kernel image] ci-snapshot-upstream-root possible deadlock in l2cap_conn_del
2025/10/17 05:45 upstream 634ec1fc7982 19568248 .config console log report [disk image (non-bootable)] [vmlinux] [kernel image] ci-snapshot-upstream-root possible deadlock in l2cap_conn_del
2025/10/16 16:12 upstream 7ea30958b305 19568248 .config console log report [disk image (non-bootable)] [vmlinux] [kernel image] ci-snapshot-upstream-root possible deadlock in l2cap_conn_del
2025/09/07 08:42 upstream b236920731dd d291dd2d .config console log report info [disk image (non-bootable)] [vmlinux] [kernel image] ci-qemu-upstream-386 possible deadlock in l2cap_conn_del
2025/11/04 12:14 net 99ae0675d73b 686bf657 .config console log report info [disk image] [vmlinux] [kernel image] ci-upstream-net-this-kasan-gce possible deadlock in l2cap_conn_del
2025/07/01 23:52 bpf bf4807c89d8f ffe4b334 .config console log report info [disk image] [vmlinux] [kernel image] ci-upstream-bpf-kasan-gce possible deadlock in l2cap_conn_del
2025/09/07 01:58 net-next c6142e1913de d291dd2d .config console log report info [disk image] [vmlinux] [kernel image] ci-upstream-net-kasan-gce possible deadlock in l2cap_conn_del
2025/04/08 09:15 linux-next 7702d0130dc0 a2ada0e7 .config console log report info [disk image] [vmlinux] [kernel image] ci-upstream-linux-next-kasan-gce-root possible deadlock in l2cap_conn_del
2025/11/11 01:35 git://git.kernel.org/pub/scm/linux/kernel/git/arm64/linux.git for-kernelci e424ed997df8 4e1406b4 .config console log report info [disk image] [vmlinux] [kernel image] ci-upstream-gce-arm64 possible deadlock in l2cap_conn_del
2025/11/06 08:21 git://git.kernel.org/pub/scm/linux/kernel/git/arm64/linux.git for-kernelci dcb6fa37fd7b a6c9c731 .config console log report info [disk image] [vmlinux] [kernel image] ci-upstream-gce-arm64 possible deadlock in l2cap_conn_del
2025/10/29 12:56 git://git.kernel.org/pub/scm/linux/kernel/git/arm64/linux.git for-kernelci b98c94eed4a9 fd2207e7 .config console log report info [disk image] [vmlinux] [kernel image] ci-upstream-gce-arm64 possible deadlock in l2cap_conn_del
2025/10/28 15:42 git://git.kernel.org/pub/scm/linux/kernel/git/arm64/linux.git for-kernelci b98c94eed4a9 fd2207e7 .config console log report info [disk image] [vmlinux] [kernel image] ci-upstream-gce-arm64 possible deadlock in l2cap_conn_del
2025/10/22 09:37 git://git.kernel.org/pub/scm/linux/kernel/git/arm64/linux.git for-kernelci 143937ca51cc 252fbbad .config console log report info [disk image] [vmlinux] [kernel image] ci-upstream-gce-arm64 possible deadlock in l2cap_conn_del
2025/10/19 22:40 git://git.kernel.org/pub/scm/linux/kernel/git/arm64/linux.git for-kernelci bf45a62baffc 1c8c8cd8 .config console log report info [disk image] [vmlinux] [kernel image] ci-upstream-gce-arm64 possible deadlock in l2cap_conn_del
2025/10/18 06:14 git://git.kernel.org/pub/scm/linux/kernel/git/arm64/linux.git for-kernelci bf45a62baffc 1c8c8cd8 .config console log report info [disk image] [vmlinux] [kernel image] ci-upstream-gce-arm64 possible deadlock in l2cap_conn_del
* Struck through repros no longer work on HEAD.