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: 68d, last: 1d22h
Cause bisection: failed (error log, bisect log)
  
Discussions (1)
Title Replies (including bot) Last reply
[syzbot] [bluetooth?] possible deadlock in l2cap_conn_del 0 (1) 2025/03/31 19:16
Last patch testing requests (1)
Created Duration User Patch Repo Result
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 (98):
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/04/22 09:16 upstream a33b5a08cbbd 2a20f901 .config console log report info [disk image] [vmlinux] [kernel image] ci-upstream-kasan-gce-selinux-root possible deadlock in l2cap_conn_del
2025/04/14 09:51 upstream 8ffd015db85f 0bd6db41 .config console log report info [disk image] [vmlinux] [kernel image] ci-upstream-kasan-gce-selinux-root possible deadlock in l2cap_conn_del
2025/03/26 21:21 upstream 2df0c02dab82 89d30d73 .config console log report info [disk image] [vmlinux] [kernel image] ci-upstream-kasan-badwrites-root possible deadlock in l2cap_conn_del
2025/03/26 09:59 upstream 2df0c02dab82 89d30d73 .config console log report info [disk image] [vmlinux] [kernel image] ci-upstream-kasan-gce-selinux-root 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/09 02:53 upstream b7c90e3e717a 163f510d .config console log report info [disk image] [vmlinux] [kernel image] ci-upstream-kasan-gce-smack-root possible deadlock in l2cap_conn_del
2025/03/08 06:44 upstream 21e4543a2e2f 7e3bd60d .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/04/10 22:00 upstream 2eb959eeecc6 1ef3ab4d .config console log report info [disk image (non-bootable)] [vmlinux] [kernel image] ci-qemu-upstream possible deadlock in l2cap_conn_del
2025/04/07 22:28 upstream 0af2f6be1b42 a2ada0e7 .config console log report [disk image (non-bootable)] [vmlinux] [kernel image] ci-snapshot-upstream-root possible deadlock in l2cap_conn_del
2025/04/07 19:02 upstream 0af2f6be1b42 2f0c9720 .config console log report [disk image (non-bootable)] [vmlinux] [kernel image] ci-snapshot-upstream-root possible deadlock in l2cap_conn_del
2025/04/07 00:17 upstream 0af2f6be1b42 1c65791e .config console log report [disk image (non-bootable)] [vmlinux] [kernel image] ci-snapshot-upstream-root possible deadlock in l2cap_conn_del
2025/04/04 04:43 upstream 06a22366d6a1 1740c707 .config console log report info [disk image (non-bootable)] [vmlinux] [kernel image] ci-qemu-upstream possible deadlock in l2cap_conn_del
2025/04/03 12:21 upstream a1b5bd45d4ee 996a9618 .config console log report [disk image (non-bootable)] [vmlinux] [kernel image] ci-snapshot-upstream-root possible deadlock in l2cap_conn_del
2025/03/28 20:29 upstream acb4f33713b9 9a1a9e31 .config console log report [disk image (non-bootable)] [vmlinux] [kernel image] ci-snapshot-upstream-root possible deadlock in l2cap_conn_del
2025/03/27 23:56 upstream 1a9239bb4253 928390c4 .config console log report [disk image (non-bootable)] [vmlinux] [kernel image] ci-snapshot-upstream-root possible deadlock in l2cap_conn_del
2025/03/27 00:44 upstream 1e26c5e28ca5 19e40f48 .config console log report [disk image (non-bootable)] [vmlinux] [kernel image] ci-snapshot-upstream-root possible deadlock in l2cap_conn_del
2025/03/26 02:41 upstream 2df0c02dab82 89d30d73 .config console log report info [disk image (non-bootable)] [vmlinux] [kernel image] ci-qemu-upstream possible deadlock in l2cap_conn_del
2025/03/24 21:31 upstream 38fec10eb60d 875573af .config console log report info [disk image (non-bootable)] [vmlinux] [kernel image] ci-qemu-upstream possible deadlock in l2cap_conn_del
2025/03/23 08:31 upstream 183601b78a9b 4e8d3850 .config console log report [disk image (non-bootable)] [vmlinux] [kernel image] ci-snapshot-upstream-root possible deadlock in l2cap_conn_del
2025/03/18 01:27 upstream 4701f33a1070 489e2dc8 .config console log report [disk image (non-bootable)] [vmlinux] [kernel image] ci-snapshot-upstream-root possible deadlock in l2cap_conn_del
2025/03/13 22:40 upstream 4003c9e78778 e2826670 .config console log report info [disk image (non-bootable)] [vmlinux] [kernel image] ci-qemu-upstream possible deadlock in l2cap_conn_del
2025/03/12 14:29 upstream 0fed89a961ea ee70e6db .config console log report [disk image (non-bootable)] [vmlinux] [kernel image] ci-snapshot-upstream-root possible deadlock in l2cap_conn_del
2025/03/09 06:56 upstream b7c90e3e717a 163f510d .config console log report info [disk image (non-bootable)] [vmlinux] [kernel image] ci-qemu-upstream possible deadlock in l2cap_conn_del
2025/03/07 18:49 upstream 00a7d39898c8 7e3bd60d .config console log report info [disk image (non-bootable)] [vmlinux] [kernel image] ci-qemu-upstream possible deadlock in l2cap_conn_del
2025/03/07 15:03 upstream 00a7d39898c8 7e3bd60d .config console log report info [disk image (non-bootable)] [vmlinux] [kernel image] ci-qemu-upstream possible deadlock in l2cap_conn_del
2025/04/17 17:44 upstream cfb2e2c57aef 552876f8 .config console log report info [disk image (non-bootable)] [vmlinux] [kernel image] ci-qemu-upstream-386 possible deadlock in l2cap_conn_del
2025/04/14 15:03 upstream 8ffd015db85f 0bd6db41 .config console log report info [disk image (non-bootable)] [vmlinux] [kernel image] ci-qemu-upstream-386 possible deadlock in l2cap_conn_del
2025/04/07 10:53 upstream 0af2f6be1b42 2f0c9720 .config console log report info [disk image (non-bootable)] [vmlinux] [kernel image] ci-qemu-upstream-386 possible deadlock in l2cap_conn_del
2025/03/26 05:44 upstream 2df0c02dab82 89d30d73 .config console log report info [disk image (non-bootable)] [vmlinux] [kernel image] ci-qemu-upstream-386 possible deadlock in l2cap_conn_del
2025/03/25 05:57 upstream 2f2d52945852 875573af .config console log report info [disk image (non-bootable)] [vmlinux] [kernel image] ci-qemu-upstream-386 possible deadlock in l2cap_conn_del
2025/03/24 22:41 upstream 38fec10eb60d 875573af .config console log report info [disk image (non-bootable)] [vmlinux] [kernel image] ci-qemu-upstream-386 possible deadlock in l2cap_conn_del
2025/03/19 00:45 upstream 76b6905c11fd 22a6c2b1 .config console log report info [disk image (non-bootable)] [vmlinux] [kernel image] ci-qemu-upstream-386 possible deadlock in l2cap_conn_del
2025/03/08 08:03 upstream 21e4543a2e2f 7e3bd60d .config console log report info [disk image (non-bootable)] [vmlinux] [kernel image] ci-qemu-upstream-386 possible deadlock in l2cap_conn_del
2025/04/16 02:16 net 88fa80021b77 23b969b7 .config console log report info [disk image] [vmlinux] [kernel image] ci-upstream-net-this-kasan-gce possible deadlock in l2cap_conn_del
2025/04/08 01:47 net 04efcee6ef8d a2ada0e7 .config console log report info [disk image] [vmlinux] [kernel image] ci-upstream-net-this-kasan-gce possible deadlock in l2cap_conn_del
2025/04/04 16:33 net 8bc251e5d874 1c4febdb .config console log report info [disk image] [vmlinux] [kernel image] ci-upstream-net-this-kasan-gce possible deadlock in l2cap_conn_del
2025/04/02 06:52 net f278b6d5bb46 c799dfdd .config console log report info [disk image] [vmlinux] [kernel image] ci-upstream-net-this-kasan-gce possible deadlock in l2cap_conn_del
2025/04/01 20:36 net f278b6d5bb46 d863cf4b .config console log report info [disk image] [vmlinux] [kernel image] ci-upstream-net-this-kasan-gce possible deadlock in l2cap_conn_del
2025/04/01 12:42 net f278b6d5bb46 36d76a97 .config console log report info [disk image] [vmlinux] [kernel image] ci-upstream-net-this-kasan-gce possible deadlock in l2cap_conn_del
2025/03/31 23:50 net 4f1eaabb4b66 36d76a97 .config console log report info [disk image] [vmlinux] [kernel image] ci-upstream-net-this-kasan-gce possible deadlock in l2cap_conn_del
2025/03/31 12:06 net 2ea396448f26 d3999433 .config console log report info [disk image] [vmlinux] [kernel image] ci-upstream-net-this-kasan-gce possible deadlock in l2cap_conn_del
2025/03/30 13:35 net 2ea396448f26 d3999433 .config console log report info [disk image] [vmlinux] [kernel image] ci-upstream-net-this-kasan-gce possible deadlock in l2cap_conn_del
2025/03/29 08:19 net 2ea396448f26 cf25e2c2 .config console log report info [disk image] [vmlinux] [kernel image] ci-upstream-net-this-kasan-gce possible deadlock in l2cap_conn_del
2025/03/26 23:16 net c7d82913d5f9 89d30d73 .config console log report info [disk image] [vmlinux] [kernel image] ci-upstream-net-this-kasan-gce possible deadlock in l2cap_conn_del
2025/03/19 11:34 net d9c743b6990b 8d0a2921 .config console log report info [disk image] [vmlinux] [kernel image] ci-upstream-net-this-kasan-gce possible deadlock in l2cap_conn_del
2025/03/13 17:24 net d2b9d97e89c7 44be8b44 .config console log report info [disk image] [vmlinux] [kernel image] ci-upstream-net-this-kasan-gce possible deadlock in l2cap_conn_del
2025/03/10 18:44 net 505ead7ab77f 16256247 .config console log report info [disk image] [vmlinux] [kernel image] ci-upstream-net-this-kasan-gce possible deadlock in l2cap_conn_del
2025/04/02 02:00 net-next 1a9239bb4253 d863cf4b .config console log report info [disk image] [vmlinux] [kernel image] ci-upstream-net-kasan-gce possible deadlock in l2cap_conn_del
2025/03/30 15:29 net-next 1a9239bb4253 d3999433 .config console log report info [disk image] [vmlinux] [kernel image] ci-upstream-net-kasan-gce possible deadlock in l2cap_conn_del
2025/03/28 03:03 net-next 1a9239bb4253 6c09fb82 .config console log report info [disk image] [vmlinux] [kernel image] ci-upstream-net-kasan-gce possible deadlock in l2cap_conn_del
2025/03/15 19:18 net-next bfc6c67ec2d6 e2826670 .config console log report info [disk image] [vmlinux] [kernel image] ci-upstream-net-kasan-gce possible deadlock in l2cap_conn_del
2025/03/13 06:56 net-next 0ea09cbf8350 1a5d9317 .config console log report info [disk image] [vmlinux] [kernel image] ci-upstream-net-kasan-gce possible deadlock in l2cap_conn_del
2025/03/10 01:36 net-next 8ef890df4031 163f510d .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/04/21 09:18 git://git.kernel.org/pub/scm/linux/kernel/git/arm64/linux.git for-kernelci c72692105976 2a20f901 .config console log report info [disk image] [vmlinux] [kernel image] ci-upstream-gce-arm64 possible deadlock in l2cap_conn_del
2025/04/17 12:32 git://git.kernel.org/pub/scm/linux/kernel/git/arm64/linux.git for-kernelci c72692105976 2a6ededb .config console log report info [disk image] [vmlinux] [kernel image] ci-upstream-gce-arm64 possible deadlock in l2cap_conn_del
2025/04/08 11:15 git://git.kernel.org/pub/scm/linux/kernel/git/arm64/linux.git for-kernelci 0af2f6be1b42 a775275d .config console log report info [disk image] [vmlinux] [kernel image] ci-upstream-gce-arm64 possible deadlock in l2cap_conn_del
2025/04/04 18:31 git://git.kernel.org/pub/scm/linux/kernel/git/arm64/linux.git for-kernelci d6b13dbd03b7 1c4febdb .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.