possible deadlock in sco_connect_cfm

Status: upstream: reported C repro on 2024/05/13 19:57
Bug presence: origin:lts-only
[Documentation on labels]
Reported-by: syzbot+03a15155073eda6f603b@syzkaller.appspotmail.com
First crash: 886d, last: 11d
▶ ▼ Bug presence (2)
Date Name Commit Repro Result
2024/06/29 linux-5.15.y (ToT) 4878aadf2d15 C [report] possible deadlock in sco_connect_cfm
2024/06/29 upstream (ToT) de0a9f448633 C Didn't crash
▶ ▼ Similar bugs (2)
Kernel Title Rank 🛈 Repro Cause bisect Fix bisect Count Last Reported Patched Status
linux-6.1 possible deadlock in sco_connect_cfm 4 1 818d 818d 0/3 auto-obsoleted due to no activity on 2024/10/28 05:54
upstream possible deadlock in sco_connect_cfm bluetooth 4 21 584d 830d 0/29 auto-obsoleted due to no activity on 2025/06/19 11:51
▶ ▼ Last patch testing requests (10)
Created Duration User Patch Repo Result
2026/07/07 15:06 21m retest repro linux-5.15.y report log
2026/07/07 15:06 16m retest repro linux-5.15.y report log
2026/06/18 08:32 18m retest repro linux-5.15.y report log
2026/04/13 02:08 14m retest repro linux-5.15.y report log
2026/04/13 02:08 9m retest repro linux-5.15.y report log
2026/03/26 03:13 10m retest repro linux-5.15.y report log
2026/02/01 16:34 15m retest repro linux-5.15.y report log
2026/02/01 16:34 13m retest repro linux-5.15.y report log
2026/01/14 22:42 11m retest repro linux-5.15.y report log
2025/11/19 22:00 15m retest repro linux-5.15.y report log
▶ ▼ Fix bisection attempts (1)
Created Duration User Patch Repo Result
2024/07/19 21:34 1h35m fix candidate upstream OK (0) job log

Sample crash report:
 worker_thread+0xad7/0x12a0 kernel/workqueue.c:2457
 kthread+0x42e/0x520 kernel/kthread.c:334
 ret_from_fork+0x1f/0x30 arch/x86/entry/entry_64.S:287
 </TASK>
kobject_add_internal failed for hci0:200 with -EEXIST, don't try to register things with the same name in the same directory.
Bluetooth: hci0: failed to register connection device
======================================================
WARNING: possible circular locking dependency detected
syzkaller #0 Not tainted
------------------------------------------------------
kworker/u5:0/146 is trying to acquire lock:
ffff88807d7e8120 (sk_lock-AF_BLUETOOTH-BTPROTO_SCO){+.+.}-{0:0}, at: lock_sock include/net/sock.h:1744 [inline]
ffff88807d7e8120 (sk_lock-AF_BLUETOOTH-BTPROTO_SCO){+.+.}-{0:0}, at: sco_conn_ready net/bluetooth/sco.c:1155 [inline]
ffff88807d7e8120 (sk_lock-AF_BLUETOOTH-BTPROTO_SCO){+.+.}-{0:0}, at: sco_connect_cfm+0x70a/0xd00 net/bluetooth/sco.c:1232

but task is already holding lock:
ffffffff8d593e48 (hci_cb_list_lock){+.+.}-{3:3}, at: hci_connect_cfm include/net/bluetooth/hci_core.h:1504 [inline]
ffffffff8d593e48 (hci_cb_list_lock){+.+.}-{3:3}, at: hci_sync_conn_complete_evt+0x45e/0x9d0 net/bluetooth/hci_event.c:4576

which lock already depends on the new lock.


the existing dependency chain (in reverse order) is:

-> #2 (hci_cb_list_lock){+.+.}-{3:3}:
       __mutex_lock_common+0x1e5/0x2400 kernel/locking/mutex.c:596
       __mutex_lock kernel/locking/mutex.c:729 [inline]
       mutex_lock_nested+0x17/0x20 kernel/locking/mutex.c:743
       hci_connect_cfm include/net/bluetooth/hci_core.h:1504 [inline]
       hci_remote_features_evt+0x5d9/0xa10 net/bluetooth/hci_event.c:3367
       hci_event_packet+0x600/0x1310 net/bluetooth/hci_event.c:6455
       hci_rx_work+0x255/0xa10 net/bluetooth/hci_core.c:5190
       process_one_work+0x867/0xff0 kernel/workqueue.c:2310
       worker_thread+0xad7/0x12a0 kernel/workqueue.c:2457
       kthread+0x42e/0x520 kernel/kthread.c:334
       ret_from_fork+0x1f/0x30 arch/x86/entry/entry_64.S:287

-> #1 (&hdev->lock){+.+.}-{3:3}:
       __mutex_lock_common+0x1e5/0x2400 kernel/locking/mutex.c:596
       __mutex_lock kernel/locking/mutex.c:729 [inline]
       mutex_lock_nested+0x17/0x20 kernel/locking/mutex.c:743
       sco_sock_connect+0x189/0x940 net/bluetooth/sco.c:608
       __sys_connect_file net/socket.c:1933 [inline]
       __sys_connect+0x3cb/0x450 net/socket.c:1950
       __do_sys_connect net/socket.c:1960 [inline]
       __se_sys_connect net/socket.c:1957 [inline]
       __x64_sys_connect+0x76/0x80 net/socket.c:1957
       do_syscall_x64 arch/x86/entry/common.c:50 [inline]
       do_syscall_64+0x4c/0xa0 arch/x86/entry/common.c:80
       entry_SYSCALL_64_after_hwframe+0x66/0xd0

-> #0 (sk_lock-AF_BLUETOOTH-BTPROTO_SCO){+.+.}-{0:0}:
       check_prev_add kernel/locking/lockdep.c:3053 [inline]
       check_prevs_add kernel/locking/lockdep.c:3172 [inline]
       validate_chain kernel/locking/lockdep.c:3788 [inline]
       __lock_acquire+0x2c66/0x7b50 kernel/locking/lockdep.c:5012
       lock_acquire+0x19e/0x400 kernel/locking/lockdep.c:5625
       lock_sock_nested+0x44/0x100 net/core/sock.c:3258
       lock_sock include/net/sock.h:1744 [inline]
       sco_conn_ready net/bluetooth/sco.c:1155 [inline]
       sco_connect_cfm+0x70a/0xd00 net/bluetooth/sco.c:1232
       hci_connect_cfm include/net/bluetooth/hci_core.h:1507 [inline]
       hci_sync_conn_complete_evt+0x4be/0x9d0 net/bluetooth/hci_event.c:4576
       hci_event_packet+0x8cf/0x1310 net/bluetooth/hci_event.c:6517
       hci_rx_work+0x255/0xa10 net/bluetooth/hci_core.c:5190
       process_one_work+0x867/0xff0 kernel/workqueue.c:2310
       worker_thread+0xad7/0x12a0 kernel/workqueue.c:2457
       kthread+0x42e/0x520 kernel/kthread.c:334
       ret_from_fork+0x1f/0x30 arch/x86/entry/entry_64.S:287

other info that might help us debug this:

Chain exists of:
  sk_lock-AF_BLUETOOTH-BTPROTO_SCO --> &hdev->lock --> hci_cb_list_lock

 Possible unsafe locking scenario:

       CPU0                    CPU1
       ----                    ----
  lock(hci_cb_list_lock);
                               lock(&hdev->lock);
                               lock(hci_cb_list_lock);
  lock(sk_lock-AF_BLUETOOTH-BTPROTO_SCO);

 *** DEADLOCK ***

4 locks held by kworker/u5:0/146:
 #0: ffff88802af60938 ((wq_completion)hci0#2){+.+.}-{0:0}, at: process_one_work+0x75c/0xff0 kernel/workqueue.c:-1
 #1: ffffc900016afd00 ((work_completion)(&hdev->rx_work)){+.+.}-{0:0}, at: process_one_work+0x79e/0xff0 kernel/workqueue.c:2285
 #2: ffff8880239a8478 (&hdev->lock){+.+.}-{3:3}, at: hci_sync_conn_complete_evt+0xb8/0x9d0 net/bluetooth/hci_event.c:4496
 #3: ffffffff8d593e48 (hci_cb_list_lock){+.+.}-{3:3}, at: hci_connect_cfm include/net/bluetooth/hci_core.h:1504 [inline]
 #3: ffffffff8d593e48 (hci_cb_list_lock){+.+.}-{3:3}, at: hci_sync_conn_complete_evt+0x45e/0x9d0 net/bluetooth/hci_event.c:4576

stack backtrace:
CPU: 1 PID: 146 Comm: kworker/u5:0 Not tainted syzkaller #0
Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 07/24/2026
Workqueue: hci0 hci_rx_work
Call Trace:
 <TASK>
 dump_stack_lvl+0x188/0x250 lib/dump_stack.c:106
 check_noncircular+0x296/0x330 kernel/locking/lockdep.c:2133
 check_prev_add kernel/locking/lockdep.c:3053 [inline]
 check_prevs_add kernel/locking/lockdep.c:3172 [inline]
 validate_chain kernel/locking/lockdep.c:3788 [inline]
 __lock_acquire+0x2c66/0x7b50 kernel/locking/lockdep.c:5012
 lock_acquire+0x19e/0x400 kernel/locking/lockdep.c:5625
 lock_sock_nested+0x44/0x100 net/core/sock.c:3258
 lock_sock include/net/sock.h:1744 [inline]
 sco_conn_ready net/bluetooth/sco.c:1155 [inline]
 sco_connect_cfm+0x70a/0xd00 net/bluetooth/sco.c:1232
 hci_connect_cfm include/net/bluetooth/hci_core.h:1507 [inline]
 hci_sync_conn_complete_evt+0x4be/0x9d0 net/bluetooth/hci_event.c:4576
 hci_event_packet+0x8cf/0x1310 net/bluetooth/hci_event.c:6517
 hci_rx_work+0x255/0xa10 net/bluetooth/hci_core.c:5190
 process_one_work+0x867/0xff0 kernel/workqueue.c:2310
 worker_thread+0xad7/0x12a0 kernel/workqueue.c:2457
 kthread+0x42e/0x520 kernel/kthread.c:334
 ret_from_fork+0x1f/0x30 arch/x86/entry/entry_64.S:287
 </TASK>

Crashes (46):
Time Kernel Commit Syzkaller Config Log Report Syz repro C repro VM info Assets (help?) Manager Title
2026/09/27 17:37 linux-5.15.y 0248c33e835e a3c7249d .config console log report syz / log C [disk image] [vmlinux] [kernel image] ci2-linux-5-15-kasan possible deadlock in sco_connect_cfm
2026/09/25 17:58 linux-5.15.y 0248c33e835e f281d9d2 .config console log report syz / log C [disk image] [vmlinux] [kernel image] ci2-linux-5-15-kasan possible deadlock in sco_connect_cfm
2024/10/18 08:19 linux-5.15.y 584a40a22cb9 666f77ed .config console log report syz / log C [disk image] [vmlinux] [kernel image] ci2-linux-5-15-kasan possible deadlock in sco_connect_cfm
2024/06/29 09:15 linux-5.15.y 4878aadf2d15 757f06b1 .config console log report syz / log C [disk image] [vmlinux] [kernel image] ci2-linux-5-15-kasan possible deadlock in sco_connect_cfm
2025/02/17 17:52 linux-5.15.y c16c81c81336 4121cf9d .config console log report syz / log C [disk image] [vmlinux] [kernel image] ci2-linux-5-15-kasan-arm64 possible deadlock in sco_connect_cfm
2026/10/05 19:52 linux-5.15.y a051a4bf909f af63e995 .config console log report info [disk image] [vmlinux] [kernel image] ci2-linux-5-15-kasan possible deadlock in sco_connect_cfm
2026/10/03 23:32 linux-5.15.y a051a4bf909f 57bbd979 .config console log report info [disk image] [vmlinux] [kernel image] ci2-linux-5-15-kasan possible deadlock in sco_connect_cfm
2026/10/03 16:53 linux-5.15.y a051a4bf909f 57bbd979 .config console log report info [disk image] [vmlinux] [kernel image] ci2-linux-5-15-kasan possible deadlock in sco_connect_cfm
2026/10/02 13:42 linux-5.15.y 0248c33e835e 6d32eb1f .config console log report info [disk image] [vmlinux] [kernel image] ci2-linux-5-15-kasan possible deadlock in sco_connect_cfm
2026/10/01 00:12 linux-5.15.y 0248c33e835e 38f7f0d1 .config console log report info [disk image] [vmlinux] [kernel image] ci2-linux-5-15-kasan possible deadlock in sco_connect_cfm
2026/10/01 00:12 linux-5.15.y 0248c33e835e 38f7f0d1 .config console log report info [disk image] [vmlinux] [kernel image] ci2-linux-5-15-kasan possible deadlock in sco_connect_cfm
2026/09/30 11:38 linux-5.15.y 0248c33e835e 7808aef4 .config console log report info [disk image] [vmlinux] [kernel image] ci2-linux-5-15-kasan possible deadlock in sco_connect_cfm
2026/09/30 11:30 linux-5.15.y 0248c33e835e 7808aef4 .config console log report info [disk image] [vmlinux] [kernel image] ci2-linux-5-15-kasan possible deadlock in sco_connect_cfm
2026/09/29 22:16 linux-5.15.y 0248c33e835e 328436b3 .config console log report info [disk image] [vmlinux] [kernel image] ci2-linux-5-15-kasan possible deadlock in sco_connect_cfm
2026/09/29 22:13 linux-5.15.y 0248c33e835e 328436b3 .config console log report info [disk image] [vmlinux] [kernel image] ci2-linux-5-15-kasan possible deadlock in sco_connect_cfm
2026/09/29 07:56 linux-5.15.y 0248c33e835e 7bf4ea23 .config console log report info [disk image] [vmlinux] [kernel image] ci2-linux-5-15-kasan possible deadlock in sco_connect_cfm
2026/09/27 15:52 linux-5.15.y 0248c33e835e a3c7249d .config console log report info [disk image] [vmlinux] [kernel image] ci2-linux-5-15-kasan possible deadlock in sco_connect_cfm
2026/09/27 15:52 linux-5.15.y 0248c33e835e a3c7249d .config console log report info [disk image] [vmlinux] [kernel image] ci2-linux-5-15-kasan possible deadlock in sco_connect_cfm
2026/09/26 16:29 linux-5.15.y 0248c33e835e a3c7249d .config console log report info [disk image] [vmlinux] [kernel image] ci2-linux-5-15-kasan possible deadlock in sco_connect_cfm
2026/09/25 16:07 linux-5.15.y 0248c33e835e f281d9d2 .config console log report info [disk image] [vmlinux] [kernel image] ci2-linux-5-15-kasan possible deadlock in sco_connect_cfm
2026/09/25 16:06 linux-5.15.y 0248c33e835e f281d9d2 .config console log report info [disk image] [vmlinux] [kernel image] ci2-linux-5-15-kasan possible deadlock in sco_connect_cfm
2026/01/18 02:23 linux-5.15.y 68efe5a6c16a 20d37d28 .config console log report info [disk image] [vmlinux] [kernel image] ci2-linux-5-15-kasan possible deadlock in sco_connect_cfm
2026/01/18 02:11 linux-5.15.y 68efe5a6c16a 20d37d28 .config console log report info [disk image] [vmlinux] [kernel image] ci2-linux-5-15-kasan possible deadlock in sco_connect_cfm
2025/05/11 11:20 linux-5.15.y 3b8db0e4f263 77908e5f .config console log report info [disk image] [vmlinux] [kernel image] ci2-linux-5-15-kasan possible deadlock in sco_connect_cfm
2025/05/05 23:55 linux-5.15.y 16fdf2c7111b 6ca47dd8 .config console log report info [disk image] [vmlinux] [kernel image] ci2-linux-5-15-kasan possible deadlock in sco_connect_cfm
2025/03/19 11:21 linux-5.15.y 0c935c049b5c 8d0a2921 .config console log report info [disk image] [vmlinux] [kernel image] ci2-linux-5-15-kasan possible deadlock in sco_connect_cfm
2025/03/19 11:21 linux-5.15.y 0c935c049b5c 8d0a2921 .config console log report info [disk image] [vmlinux] [kernel image] ci2-linux-5-15-kasan possible deadlock in sco_connect_cfm
2025/03/19 00:20 linux-5.15.y 0c935c049b5c 22a6c2b1 .config console log report info [disk image] [vmlinux] [kernel image] ci2-linux-5-15-kasan possible deadlock in sco_connect_cfm
2025/03/19 00:18 linux-5.15.y 0c935c049b5c 22a6c2b1 .config console log report info [disk image] [vmlinux] [kernel image] ci2-linux-5-15-kasan possible deadlock in sco_connect_cfm
2025/03/19 00:15 linux-5.15.y 0c935c049b5c 22a6c2b1 .config console log report info [disk image] [vmlinux] [kernel image] ci2-linux-5-15-kasan possible deadlock in sco_connect_cfm
2025/03/09 20:46 linux-5.15.y c16c81c81336 163f510d .config console log report info [disk image] [vmlinux] [kernel image] ci2-linux-5-15-kasan possible deadlock in sco_connect_cfm
2025/03/09 20:46 linux-5.15.y c16c81c81336 163f510d .config console log report info [disk image] [vmlinux] [kernel image] ci2-linux-5-15-kasan possible deadlock in sco_connect_cfm
2025/03/04 02:20 linux-5.15.y c16c81c81336 c3901742 .config console log report info [disk image] [vmlinux] [kernel image] ci2-linux-5-15-kasan possible deadlock in sco_connect_cfm
2024/10/26 08:38 linux-5.15.y 74cdd62cb470 65e8686b .config console log report info [disk image] [vmlinux] [kernel image] ci2-linux-5-15-kasan possible deadlock in sco_connect_cfm
2024/10/17 21:14 linux-5.15.y 584a40a22cb9 666f77ed .config console log report info [disk image] [vmlinux] [kernel image] ci2-linux-5-15-kasan possible deadlock in sco_connect_cfm
2024/07/19 23:32 linux-5.15.y 7c6d66f0266f 890ce4f3 .config console log report info [disk image] [vmlinux] [kernel image] ci2-linux-5-15-kasan possible deadlock in sco_connect_cfm
2024/07/19 23:32 linux-5.15.y 7c6d66f0266f 890ce4f3 .config console log report info [disk image] [vmlinux] [kernel image] ci2-linux-5-15-kasan possible deadlock in sco_connect_cfm
2024/07/04 03:34 linux-5.15.y 4878aadf2d15 f76a75f3 .config console log report info [disk image] [vmlinux] [kernel image] ci2-linux-5-15-kasan possible deadlock in sco_connect_cfm
2025/03/09 07:00 linux-5.15.y c16c81c81336 163f510d .config console log report info [disk image] [vmlinux] [kernel image] ci2-linux-5-15-kasan-arm64 possible deadlock in sco_connect_cfm
2025/03/04 00:36 linux-5.15.y c16c81c81336 c3901742 .config console log report info [disk image] [vmlinux] [kernel image] ci2-linux-5-15-kasan-arm64 possible deadlock in sco_connect_cfm
2025/02/17 16:24 linux-5.15.y c16c81c81336 4121cf9d .config console log report info [disk image] [vmlinux] [kernel image] ci2-linux-5-15-kasan-arm64 possible deadlock in sco_connect_cfm
2025/01/19 22:44 linux-5.15.y 4735586da88e f2cb035c .config console log report info [disk image] [vmlinux] [kernel image] ci2-linux-5-15-kasan-arm64 possible deadlock in sco_connect_cfm
2024/12/05 16:23 linux-5.15.y 0a51d2d4527b 29f61fce .config console log report info [disk image] [vmlinux] [kernel image] ci2-linux-5-15-kasan-arm64 possible deadlock in sco_connect_cfm
2024/05/13 19:56 linux-5.15.y 284087d4f7d5 9026e142 .config console log report info [disk image] [vmlinux] [kernel image] ci2-linux-5-15-kasan-arm64 possible deadlock in sco_connect_cfm
* Struck through repros no longer work on HEAD.