syzbot


possible deadlock in touch_wq_lockdep_map

Status: upstream: reported syz repro on 2024/03/16 14:29
Subsystems: bluetooth
[Documentation on labels]
Reported-by: syzbot+91dbdfecdd3287734d8e@syzkaller.appspotmail.com
First crash: 127d, last: 2d12h
Discussions (3)
Title Replies (including bot) Last reply
[syzbot] [bluetooth?] possible deadlock in touch_wq_lockdep_map 1 (4) 2024/07/03 10:54
[syzbot] Monthly bluetooth report (Jun 2024) 0 (1) 2024/06/10 11:56
[syzbot] Monthly bluetooth report (May 2024) 0 (1) 2024/05/10 08:47
Last patch testing requests (1)
Created Duration User Patch Repo Result
2024/07/03 10:26 26m hdanton@sina.com patch https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git 734610514cb0 OK log

Sample crash report:
Bluetooth: hci0: hardware error 0x20
Bluetooth: hci0: Opcode 0x0c03 failed: -110
============================================
WARNING: possible recursive locking detected
6.10.0-rc6-syzkaller-00055-g734610514cb0 #0 Not tainted
--------------------------------------------
kworker/u33:1/4633 is trying to acquire lock:
ffff88802b9cc148 ((wq_completion)hci0){+.+.}-{0:0}, at: touch_wq_lockdep_map+0x6e/0x120 kernel/workqueue.c:3895

but task is already holding lock:
ffff88802b9cc148 ((wq_completion)hci0){+.+.}-{0:0}, at: process_one_work+0x1277/0x1b40 kernel/workqueue.c:3223

other info that might help us debug this:
 Possible unsafe locking scenario:

       CPU0
       ----
  lock((wq_completion)hci0);
  lock((wq_completion)hci0);

 *** DEADLOCK ***

 May be due to missing lock nesting notation

2 locks held by kworker/u33:1/4633:
 #0: ffff88802b9cc148 ((wq_completion)hci0){+.+.}-{0:0}, at: process_one_work+0x1277/0x1b40 kernel/workqueue.c:3223
 #1: ffffc90025177d80 ((work_completion)(&hdev->error_reset)){+.+.}-{0:0}, at: process_one_work+0x921/0x1b40 kernel/workqueue.c:3224

stack backtrace:
CPU: 2 PID: 4633 Comm: kworker/u33:1 Not tainted 6.10.0-rc6-syzkaller-00055-g734610514cb0 #0
Hardware name: QEMU Standard PC (Q35 + ICH9, 2009), BIOS 1.16.3-debian-1.16.3-2~bpo12+1 04/01/2014
Workqueue: hci0 hci_error_reset
Call Trace:
 <TASK>
 __dump_stack lib/dump_stack.c:88 [inline]
 dump_stack_lvl+0x116/0x1f0 lib/dump_stack.c:114
 check_deadlock kernel/locking/lockdep.c:3062 [inline]
 validate_chain kernel/locking/lockdep.c:3856 [inline]
 __lock_acquire+0x20e6/0x3b30 kernel/locking/lockdep.c:5137
 lock_acquire kernel/locking/lockdep.c:5754 [inline]
 lock_acquire+0x1b1/0x560 kernel/locking/lockdep.c:5719
 touch_wq_lockdep_map+0x78/0x120 kernel/workqueue.c:3895
 __flush_workqueue+0x129/0x1200 kernel/workqueue.c:3937
 drain_workqueue+0x18f/0x3d0 kernel/workqueue.c:4101
 destroy_workqueue+0xc2/0xaa0 kernel/workqueue.c:5817
 hci_release_dev+0x14e/0x660 net/bluetooth/hci_core.c:2795
 bt_host_release+0x6a/0xb0 net/bluetooth/hci_sysfs.c:94
 device_release+0xa1/0x240 drivers/base/core.c:2581
 kobject_cleanup lib/kobject.c:689 [inline]
 kobject_release lib/kobject.c:720 [inline]
 kref_put include/linux/kref.h:65 [inline]
 kobject_put+0x1fa/0x5b0 lib/kobject.c:737
 put_device+0x1f/0x30 drivers/base/core.c:3787
 process_one_work+0x9c5/0x1b40 kernel/workqueue.c:3248
 process_scheduled_works kernel/workqueue.c:3329 [inline]
 worker_thread+0x6c8/0xf30 kernel/workqueue.c:3409
 kthread+0x2c1/0x3a0 kernel/kthread.c:389
 ret_from_fork+0x45/0x80 arch/x86/kernel/process.c:147
 ret_from_fork_asm+0x1a/0x30 arch/x86/entry/entry_64.S:244
 </TASK>

Crashes (918):
Time Kernel Commit Syzkaller Config Log Report Syz repro C repro VM info Assets (help?) Manager Title
2024/07/03 01:46 upstream 734610514cb0 1ecfa2d8 .config console log report syz / log [disk image (non-bootable)] [vmlinux] [kernel image] ci-qemu-upstream possible deadlock in touch_wq_lockdep_map
2024/07/04 16:07 upstream 795c58e4c7fc dc6bbff0 .config console log report info [disk image] [vmlinux] [kernel image] ci-upstream-kasan-badwrites-root possible deadlock in touch_wq_lockdep_map
2024/07/04 06:11 upstream 8a9c6c40432e 409d975c .config console log report info [disk image] [vmlinux] [kernel image] ci-upstream-kasan-gce-selinux-root possible deadlock in touch_wq_lockdep_map
2024/07/04 02:59 upstream 8a9c6c40432e 409d975c .config console log report info [disk image] [vmlinux] [kernel image] ci-upstream-kasan-badwrites-root possible deadlock in touch_wq_lockdep_map
2024/07/03 13:13 upstream e9d22f7a6655 409d975c .config console log report info [disk image] [vmlinux] [kernel image] ci-upstream-kasan-badwrites-root possible deadlock in touch_wq_lockdep_map
2024/07/02 22:49 upstream 1dfe225e9af5 8373af66 .config console log report info [disk image] [vmlinux] [kernel image] ci-upstream-kasan-gce-selinux-root possible deadlock in touch_wq_lockdep_map
2024/07/02 05:50 upstream 73e931504f8e b294e901 .config console log report info [disk image] [vmlinux] [kernel image] ci-upstream-kasan-badwrites-root possible deadlock in touch_wq_lockdep_map
2024/06/30 10:23 upstream 8282d5af7be8 757f06b1 .config console log report info [disk image] [vmlinux] [kernel image] ci-upstream-kasan-badwrites-root possible deadlock in touch_wq_lockdep_map
2024/06/30 02:25 upstream de0a9f448633 757f06b1 .config console log report info [disk image] [vmlinux] [kernel image] ci-upstream-kasan-badwrites-root possible deadlock in touch_wq_lockdep_map
2024/06/29 15:43 upstream de0a9f448633 757f06b1 .config console log report info [disk image] [vmlinux] [kernel image] ci-upstream-kasan-gce-selinux-root possible deadlock in touch_wq_lockdep_map
2024/06/29 08:25 upstream 6c0483dbfe72 757f06b1 .config console log report info [disk image] [vmlinux] [kernel image] ci-upstream-kasan-badwrites-root possible deadlock in touch_wq_lockdep_map
2024/03/13 04:28 upstream 9187210eee7d c35c26ec .config console log report info [disk image] [vmlinux] [kernel image] ci-upstream-kasan-gce-selinux-root possible deadlock in touch_wq_lockdep_map
2024/03/12 14:24 upstream 855684c7d938 c35c26ec .config console log report info [disk image] [vmlinux] [kernel image] ci-upstream-kasan-badwrites-root possible deadlock in touch_wq_lockdep_map
2024/07/15 03:54 upstream 882ddcd1bf63 eaeb5c15 .config console log report info [disk image (non-bootable)] [vmlinux] [kernel image] ci-qemu-upstream possible deadlock in touch_wq_lockdep_map
2024/07/14 11:18 upstream 4d145e3f830b eaeb5c15 .config console log report info [disk image (non-bootable)] [vmlinux] [kernel image] ci-qemu-upstream possible deadlock in touch_wq_lockdep_map
2024/07/13 20:13 upstream 528dd46d0fc3 eaeb5c15 .config console log report info [disk image (non-bootable)] [vmlinux] [kernel image] ci-qemu-upstream possible deadlock in touch_wq_lockdep_map
2024/07/09 17:07 upstream 34afb82a3c67 39158d80 .config console log report info [disk image (non-bootable)] [vmlinux] [kernel image] ci-qemu-upstream possible deadlock in touch_wq_lockdep_map
2024/07/04 08:25 upstream 8a9c6c40432e 3f2748a3 .config console log report info [disk image (non-bootable)] [vmlinux] [kernel image] ci-qemu-upstream possible deadlock in touch_wq_lockdep_map
2024/07/02 01:10 upstream 9903efbddba0 b294e901 .config console log report info [disk image (non-bootable)] [vmlinux] [kernel image] ci-qemu-upstream possible deadlock in touch_wq_lockdep_map
2024/07/02 00:04 upstream 9903efbddba0 b294e901 .config console log report info [disk image (non-bootable)] [vmlinux] [kernel image] ci-qemu-upstream possible deadlock in touch_wq_lockdep_map
2024/07/14 04:28 upstream d0d0cd380055 eaeb5c15 .config console log report info [disk image (non-bootable)] [vmlinux] [kernel image] ci-qemu-upstream-386 possible deadlock in touch_wq_lockdep_map
2024/07/04 11:40 upstream 795c58e4c7fc dc6bbff0 .config console log report info [disk image (non-bootable)] [vmlinux] [kernel image] ci-qemu-upstream-386 possible deadlock in touch_wq_lockdep_map
2024/07/03 20:27 upstream e9d22f7a6655 ffe8393d .config console log report info [disk image (non-bootable)] [vmlinux] [kernel image] ci-qemu-upstream-386 possible deadlock in touch_wq_lockdep_map
2024/07/03 09:23 upstream e9d22f7a6655 ffe8393d .config console log report info [disk image (non-bootable)] [vmlinux] [kernel image] ci-qemu-upstream-386 possible deadlock in touch_wq_lockdep_map
2024/07/03 08:07 upstream 734610514cb0 1ecfa2d8 .config console log report info [disk image (non-bootable)] [vmlinux] [kernel image] ci-qemu-upstream-386 possible deadlock in touch_wq_lockdep_map
2024/07/02 08:58 upstream 1dfe225e9af5 dc6047a3 .config console log report info [disk image (non-bootable)] [vmlinux] [kernel image] ci-qemu-upstream-386 possible deadlock in touch_wq_lockdep_map
2024/07/02 07:42 upstream 1dfe225e9af5 b294e901 .config console log report info [disk image (non-bootable)] [vmlinux] [kernel image] ci-qemu-upstream-386 possible deadlock in touch_wq_lockdep_map
2024/07/01 21:00 upstream 9903efbddba0 b294e901 .config console log report info [disk image (non-bootable)] [vmlinux] [kernel image] ci-qemu-upstream-386 possible deadlock in touch_wq_lockdep_map
2024/07/01 18:40 upstream 9903efbddba0 b294e901 .config console log report info [disk image (non-bootable)] [vmlinux] [kernel image] ci-qemu-upstream-386 possible deadlock in touch_wq_lockdep_map
2024/07/01 14:45 upstream 22a40d14b572 b294e901 .config console log report info [disk image (non-bootable)] [vmlinux] [kernel image] ci-qemu-upstream-386 possible deadlock in touch_wq_lockdep_map
2024/07/01 08:38 upstream 22a40d14b572 b294e901 .config console log report info [disk image (non-bootable)] [vmlinux] [kernel image] ci-qemu-upstream-386 possible deadlock in touch_wq_lockdep_map
2024/07/01 05:07 upstream 22a40d14b572 757f06b1 .config console log report info [disk image (non-bootable)] [vmlinux] [kernel image] ci-qemu-upstream-386 possible deadlock in touch_wq_lockdep_map
2024/07/01 01:07 upstream 22a40d14b572 757f06b1 .config console log report info [disk image (non-bootable)] [vmlinux] [kernel image] ci-qemu-upstream-386 possible deadlock in touch_wq_lockdep_map
2024/06/30 20:22 upstream 8282d5af7be8 757f06b1 .config console log report info [disk image (non-bootable)] [vmlinux] [kernel image] ci-qemu-upstream-386 possible deadlock in touch_wq_lockdep_map
2024/07/13 00:57 git://git.kernel.org/pub/scm/linux/kernel/git/arm64/linux.git for-kernelci c912bf709078 eaeb5c15 .config console log report info [disk image] [vmlinux] [kernel image] ci-upstream-gce-arm64 possible deadlock in touch_wq_lockdep_map
2024/07/09 12:48 git://git.kernel.org/pub/scm/linux/kernel/git/arm64/linux.git for-kernelci 1a6f53de2eb9 bc23a442 .config console log report info [disk image] [vmlinux] [kernel image] ci-upstream-gce-arm64 possible deadlock in touch_wq_lockdep_map
2024/07/09 11:48 git://git.kernel.org/pub/scm/linux/kernel/git/arm64/linux.git for-kernelci 1a6f53de2eb9 bc23a442 .config console log report info [disk image] [vmlinux] [kernel image] ci-upstream-gce-arm64 possible deadlock in touch_wq_lockdep_map
2024/07/07 23:11 git://git.kernel.org/pub/scm/linux/kernel/git/arm64/linux.git for-kernelci 8a03d70c27fc bc4ebbb5 .config console log report info [disk image] [vmlinux] [kernel image] ci-upstream-gce-arm64 possible deadlock in touch_wq_lockdep_map
2024/07/07 03:35 git://git.kernel.org/pub/scm/linux/kernel/git/arm64/linux.git for-kernelci 8a03d70c27fc bc4ebbb5 .config console log report info [disk image] [vmlinux] [kernel image] ci-upstream-gce-arm64 possible deadlock in touch_wq_lockdep_map
2024/07/07 00:49 git://git.kernel.org/pub/scm/linux/kernel/git/arm64/linux.git for-kernelci 8a03d70c27fc bc4ebbb5 .config console log report info [disk image] [vmlinux] [kernel image] ci-upstream-gce-arm64 possible deadlock in touch_wq_lockdep_map
2024/07/06 16:33 git://git.kernel.org/pub/scm/linux/kernel/git/arm64/linux.git for-kernelci 8a03d70c27fc bc4ebbb5 .config console log report info [disk image] [vmlinux] [kernel image] ci-upstream-gce-arm64 possible deadlock in touch_wq_lockdep_map
2024/07/06 03:37 git://git.kernel.org/pub/scm/linux/kernel/git/arm64/linux.git for-kernelci 8a03d70c27fc 2a40360c .config console log report info [disk image] [vmlinux] [kernel image] ci-upstream-gce-arm64 possible deadlock in touch_wq_lockdep_map
2024/07/05 21:35 git://git.kernel.org/pub/scm/linux/kernel/git/arm64/linux.git for-kernelci 8a03d70c27fc 2a40360c .config console log report info [disk image] [vmlinux] [kernel image] ci-upstream-gce-arm64 possible deadlock in touch_wq_lockdep_map
2024/07/05 18:35 git://git.kernel.org/pub/scm/linux/kernel/git/arm64/linux.git for-kernelci 8e2f4becf4fa 2a40360c .config console log report info [disk image] [vmlinux] [kernel image] ci-upstream-gce-arm64 possible deadlock in touch_wq_lockdep_map
2024/07/05 07:07 git://git.kernel.org/pub/scm/linux/kernel/git/arm64/linux.git for-kernelci 8e2f4becf4fa dc6bbff0 .config console log report info [disk image] [vmlinux] [kernel image] ci-upstream-gce-arm64 possible deadlock in touch_wq_lockdep_map
2024/07/05 01:41 git://git.kernel.org/pub/scm/linux/kernel/git/arm64/linux.git for-kernelci 8e2f4becf4fa dc6bbff0 .config console log report info [disk image] [vmlinux] [kernel image] ci-upstream-gce-arm64 possible deadlock in touch_wq_lockdep_map
2024/07/04 00:31 git://git.kernel.org/pub/scm/linux/kernel/git/arm64/linux.git for-kernelci fdd6064ff31c 409d975c .config console log report info [disk image] [vmlinux] [kernel image] ci-upstream-gce-arm64 possible deadlock in touch_wq_lockdep_map
2024/07/03 21:34 git://git.kernel.org/pub/scm/linux/kernel/git/arm64/linux.git for-kernelci fdd6064ff31c 409d975c .config console log report info [disk image] [vmlinux] [kernel image] ci-upstream-gce-arm64 possible deadlock in touch_wq_lockdep_map
2024/07/03 17:35 git://git.kernel.org/pub/scm/linux/kernel/git/arm64/linux.git for-kernelci fdd6064ff31c 409d975c .config console log report info [disk image] [vmlinux] [kernel image] ci-upstream-gce-arm64 possible deadlock in touch_wq_lockdep_map
2024/07/03 15:33 git://git.kernel.org/pub/scm/linux/kernel/git/arm64/linux.git for-kernelci fdd6064ff31c 409d975c .config console log report info [disk image] [vmlinux] [kernel image] ci-upstream-gce-arm64 possible deadlock in touch_wq_lockdep_map
2024/07/03 11:57 git://git.kernel.org/pub/scm/linux/kernel/git/arm64/linux.git for-kernelci fdd6064ff31c 409d975c .config console log report info [disk image] [vmlinux] [kernel image] ci-upstream-gce-arm64 possible deadlock in touch_wq_lockdep_map
2024/07/02 19:31 git://git.kernel.org/pub/scm/linux/kernel/git/arm64/linux.git for-kernelci fdd6064ff31c 8373af66 .config console log report info [disk image] [vmlinux] [kernel image] ci-upstream-gce-arm64 possible deadlock in touch_wq_lockdep_map
2024/07/01 12:41 git://git.kernel.org/pub/scm/linux/kernel/git/arm64/linux.git for-kernelci 8fcad59bb267 b294e901 .config console log report info [disk image] [vmlinux] [kernel image] ci-upstream-gce-arm64 possible deadlock in touch_wq_lockdep_map
2024/07/01 04:45 git://git.kernel.org/pub/scm/linux/kernel/git/arm64/linux.git for-kernelci 8fcad59bb267 757f06b1 .config console log report info [disk image] [vmlinux] [kernel image] ci-upstream-gce-arm64 possible deadlock in touch_wq_lockdep_map
2024/06/30 16:30 git://git.kernel.org/pub/scm/linux/kernel/git/arm64/linux.git for-kernelci 8fcad59bb267 757f06b1 .config console log report info [disk image] [vmlinux] [kernel image] ci-upstream-gce-arm64 possible deadlock in touch_wq_lockdep_map
2024/06/30 14:00 git://git.kernel.org/pub/scm/linux/kernel/git/arm64/linux.git for-kernelci 8fcad59bb267 757f06b1 .config console log report info [disk image] [vmlinux] [kernel image] ci-upstream-gce-arm64 possible deadlock in touch_wq_lockdep_map
2024/06/30 08:12 git://git.kernel.org/pub/scm/linux/kernel/git/arm64/linux.git for-kernelci 5e456a31d1ac 757f06b1 .config console log report info [disk image] [vmlinux] [kernel image] ci-upstream-gce-arm64 possible deadlock in touch_wq_lockdep_map
2024/06/29 18:34 git://git.kernel.org/pub/scm/linux/kernel/git/arm64/linux.git for-kernelci 5e456a31d1ac 757f06b1 .config console log report info [disk image] [vmlinux] [kernel image] ci-upstream-gce-arm64 possible deadlock in touch_wq_lockdep_map
2024/06/29 13:44 git://git.kernel.org/pub/scm/linux/kernel/git/arm64/linux.git for-kernelci 5e456a31d1ac 757f06b1 .config console log report info [disk image] [vmlinux] [kernel image] ci-upstream-gce-arm64 possible deadlock in touch_wq_lockdep_map
2024/06/29 11:04 git://git.kernel.org/pub/scm/linux/kernel/git/arm64/linux.git for-kernelci 5e456a31d1ac 757f06b1 .config console log report info [disk image] [vmlinux] [kernel image] ci-upstream-gce-arm64 possible deadlock in touch_wq_lockdep_map
* Struck through repros no longer work on HEAD.