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: 140d, last: 1d17h
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 (182):
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/07/02 08:46 upstream 66701750d556 ffe4b334 .config console log report info [disk image] [vmlinux] [kernel image] ci-upstream-kasan-gce-selinux-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/06/14 15:04 upstream 4774cfe3543a 5f4b362d .config console log report info [disk image] [vmlinux] [kernel image] ci-upstream-kasan-gce-selinux-root possible deadlock in l2cap_conn_del
2025/06/10 21:35 upstream f09079bd04a9 5d7e17ca .config console log report info [disk image] [vmlinux] [kernel image] ci-upstream-kasan-gce-smack-root possible deadlock in l2cap_conn_del
2025/06/02 14:29 upstream cd2e103d57e5 b396b4bf .config console log report info [disk image] [vmlinux] [kernel image] ci-upstream-kasan-badwrites-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/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/07/03 09:09 upstream b4911fb0b060 115ceea7 .config console log report [disk image (non-bootable)] [vmlinux] [kernel image] ci-snapshot-upstream-root possible deadlock in l2cap_conn_del
2025/07/02 10:32 upstream 66701750d556 bc80e4f0 .config console log report [disk image (non-bootable)] [vmlinux] [kernel image] ci-snapshot-upstream-root possible deadlock in l2cap_conn_del
2025/07/01 08:39 upstream 66701750d556 6e83b42d .config console log report [disk image (non-bootable)] [vmlinux] [kernel image] ci-snapshot-upstream-root possible deadlock in l2cap_conn_del
2025/06/29 11:08 upstream dfba48a70cb6 fc9d8ee5 .config console log report [disk image (non-bootable)] [vmlinux] [kernel image] ci-snapshot-upstream-root possible deadlock in l2cap_conn_del
2025/06/28 07:37 upstream 35e261cd95dd fc9d8ee5 .config console log report [disk image (non-bootable)] [vmlinux] [kernel image] ci-snapshot-upstream-root possible deadlock in l2cap_conn_del
2025/06/25 11:35 upstream 7595b66ae9de 26d77996 .config console log report [disk image (non-bootable)] [vmlinux] [kernel image] ci-snapshot-upstream-root possible deadlock in l2cap_conn_del
2025/06/23 21:57 upstream 86731a2a651e 1a7fb460 .config console log report info [disk image (non-bootable)] [vmlinux] [kernel image] ci-qemu-upstream possible deadlock in l2cap_conn_del
2025/06/22 08:51 upstream 739a6c93cc75 d6cdfb8a .config console log report [disk image (non-bootable)] [vmlinux] [kernel image] ci-snapshot-upstream-root possible deadlock in l2cap_conn_del
2025/06/21 16:34 upstream 3f75bfff44be d6cdfb8a .config console log report [disk image (non-bootable)] [vmlinux] [kernel image] ci-snapshot-upstream-root possible deadlock in l2cap_conn_del
2025/06/21 02:44 upstream 11313e2f7812 d6cdfb8a .config console log report [disk image (non-bootable)] [vmlinux] [kernel image] ci-snapshot-upstream-root possible deadlock in l2cap_conn_del
2025/06/20 23:56 upstream 41687a5c6f8b 804b3919 .config console log report [disk image (non-bootable)] [vmlinux] [kernel image] ci-snapshot-upstream-root possible deadlock in l2cap_conn_del
2025/06/18 01:10 upstream 4663747812d1 a5686133 .config console log report [disk image (non-bootable)] [vmlinux] [kernel image] ci-snapshot-upstream-root possible deadlock in l2cap_conn_del
2025/06/16 00:19 upstream 08215f5486ec 5f4b362d .config console log report [disk image (non-bootable)] [vmlinux] [kernel image] ci-snapshot-upstream-root possible deadlock in l2cap_conn_del
2025/06/15 16:59 upstream 8c6bc74c7f89 5f4b362d .config console log report [disk image (non-bootable)] [vmlinux] [kernel image] ci-snapshot-upstream-root possible deadlock in l2cap_conn_del
2025/06/14 02:28 upstream 18531f4d1c8c 0e8da31f .config console log report [disk image (non-bootable)] [vmlinux] [kernel image] ci-snapshot-upstream-root possible deadlock in l2cap_conn_del
2025/06/13 22:53 upstream 27605c8c0f69 1f72c409 .config console log report [disk image (non-bootable)] [vmlinux] [kernel image] ci-snapshot-upstream-root possible deadlock in l2cap_conn_del
2025/06/13 03:43 upstream 27605c8c0f69 98683f8f .config console log report [disk image (non-bootable)] [vmlinux] [kernel image] ci-snapshot-upstream-root possible deadlock in l2cap_conn_del
2025/06/12 06:19 upstream 488ef3560196 98683f8f .config console log report info [disk image (non-bootable)] [vmlinux] [kernel image] ci-qemu-upstream possible deadlock in l2cap_conn_del
2025/06/11 17:54 upstream aef17cb3d3c4 98683f8f .config console log report [disk image (non-bootable)] [vmlinux] [kernel image] ci-snapshot-upstream-root possible deadlock in l2cap_conn_del
2025/06/10 13:12 upstream f09079bd04a9 5d7e17ca .config console log report [disk image (non-bootable)] [vmlinux] [kernel image] ci-snapshot-upstream-root possible deadlock in l2cap_conn_del
2025/06/10 04:46 upstream 19272b37aa4f 4826c28e .config console log report [disk image (non-bootable)] [vmlinux] [kernel image] ci-snapshot-upstream-root possible deadlock in l2cap_conn_del
2025/06/10 02:17 upstream 19272b37aa4f 4826c28e .config console log report info [disk image (non-bootable)] [vmlinux] [kernel image] ci-qemu-upstream possible deadlock in l2cap_conn_del
2025/06/09 22:23 upstream 19272b37aa4f 4826c28e .config console log report [disk image (non-bootable)] [vmlinux] [kernel image] ci-snapshot-upstream-root possible deadlock in l2cap_conn_del
2025/06/09 10:12 upstream 19272b37aa4f 4826c28e .config console log report [disk image (non-bootable)] [vmlinux] [kernel image] ci-snapshot-upstream-root possible deadlock in l2cap_conn_del
2025/06/09 00:13 upstream 939f15e640f1 4826c28e .config console log report [disk image (non-bootable)] [vmlinux] [kernel image] ci-snapshot-upstream-root possible deadlock in l2cap_conn_del
2025/06/08 22:53 upstream 939f15e640f1 4826c28e .config console log report [disk image (non-bootable)] [vmlinux] [kernel image] ci-snapshot-upstream-root possible deadlock in l2cap_conn_del
2025/06/08 11:13 upstream 8630c59e9936 4826c28e .config console log report [disk image (non-bootable)] [vmlinux] [kernel image] ci-snapshot-upstream-root possible deadlock in l2cap_conn_del
2025/06/07 06:29 upstream c0c9379f235d 4826c28e .config console log report [disk image (non-bootable)] [vmlinux] [kernel image] ci-snapshot-upstream-root possible deadlock in l2cap_conn_del
2025/06/06 11:41 upstream e271ed52b344 3d899f2c .config console log report [disk image (non-bootable)] [vmlinux] [kernel image] ci-snapshot-upstream-root possible deadlock in l2cap_conn_del
2025/06/05 22:29 upstream ec7714e49479 6b6b5f21 .config console log report [disk image (non-bootable)] [vmlinux] [kernel image] ci-snapshot-upstream-root possible deadlock in l2cap_conn_del
2025/06/05 03:40 upstream 1af80d00e1e0 6b6b5f21 .config console log report info [disk image (non-bootable)] [vmlinux] [kernel image] ci-qemu-upstream possible deadlock in l2cap_conn_del
2025/06/04 04:12 upstream 5abc7438f1e9 a30356b7 .config console log report info [disk image (non-bootable)] [vmlinux] [kernel image] ci-qemu-upstream possible deadlock in l2cap_conn_del
2025/06/02 19:12 upstream cd2e103d57e5 aaaaf5ea .config console log report info [disk image (non-bootable)] [vmlinux] [kernel image] ci-qemu-upstream possible deadlock in l2cap_conn_del
2025/06/02 06:06 upstream cd2e103d57e5 3d2f584d .config console log report info [disk image (non-bootable)] [vmlinux] [kernel image] ci-qemu-upstream possible deadlock in l2cap_conn_del
2025/06/01 01:28 upstream 4cb6c8af8591 3d2f584d .config console log report info [disk image (non-bootable)] [vmlinux] [kernel image] ci-qemu-upstream possible deadlock in l2cap_conn_del
2025/05/27 11:29 upstream ddddf9d64f73 874a1386 .config console log report [disk image (non-bootable)] [vmlinux] [kernel image] ci-snapshot-upstream-root possible deadlock in l2cap_conn_del
2025/05/25 09:26 upstream b1427432d3b6 ed351ea7 .config console log report [disk image (non-bootable)] [vmlinux] [kernel image] ci-snapshot-upstream-root possible deadlock in l2cap_conn_del
2025/05/25 05:57 upstream b1427432d3b6 ed351ea7 .config console log report [disk image (non-bootable)] [vmlinux] [kernel image] ci-snapshot-upstream-root possible deadlock in l2cap_conn_del
2025/05/11 18:50 upstream 3ce9925823c7 77908e5f .config console log report info [disk image (non-bootable)] [vmlinux] [kernel image] ci-qemu-upstream-386 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/06/25 22:51 net 010c40c1f50e 26d77996 .config console log report info [disk image] [vmlinux] [kernel image] ci-upstream-net-this-kasan-gce possible deadlock in l2cap_conn_del
2025/06/19 00:18 net d0fa59897e04 ca631f70 .config console log report info [disk image] [vmlinux] [kernel image] ci-upstream-net-this-kasan-gce possible deadlock in l2cap_conn_del
2025/06/14 06:48 net 5466491c9e33 0e8da31f .config console log report info [disk image] [vmlinux] [kernel image] ci-upstream-net-this-kasan-gce possible deadlock in l2cap_conn_del
2025/06/09 05:07 net 82cbd06f327f 4826c28e .config console log report info [disk image] [vmlinux] [kernel image] ci-upstream-net-this-kasan-gce possible deadlock in l2cap_conn_del
2025/05/23 19:36 net 5cdb2c77c4c3 f8cc0c83 .config console log report info [disk image] [vmlinux] [kernel image] ci-upstream-net-this-kasan-gce possible deadlock in l2cap_conn_del
2025/06/29 04:05 net-next beead7eea896 fc9d8ee5 .config console log report info [disk image] [vmlinux] [kernel image] ci-upstream-net-kasan-gce possible deadlock in l2cap_conn_del
2025/06/09 18:33 net-next 2c7e4a2663a1 4826c28e .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/06/13 14:03 git://git.kernel.org/pub/scm/linux/kernel/git/arm64/linux.git for-kernelci 19272b37aa4f 98683f8f .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.