syzbot


possible deadlock in vmci_qp_broker_detach

Status: upstream: reported C repro on 2025/08/28 00:49
Reported-by: syzbot+2d23b61d143113a37378@syzkaller.appspotmail.com
First crash: 1d23h, last: 1d12h
Similar bugs (4)
Kernel Title Rank 🛈 Repro Cause bisect Fix bisect Count Last Reported Patched Status
upstream possible deadlock in vmci_qp_broker_detach kernel 4 C unreliable error 63 29d 1617d 0/29 upstream: reported C repro on 2021/03/26 01:19
linux-4.14 possible deadlock in vmci_qp_broker_detach 4 C error 7 1085d 1246d 0/1 upstream: reported C repro on 2022/04/01 16:43
linux-4.19 possible deadlock in vmci_qp_broker_detach 4 C error 11 1211d 1705d 0/1 upstream: reported C repro on 2020/12/28 17:12
linux-5.15 possible deadlock in vmci_qp_broker_detach 4 syz 1 286d 286d 0/3 auto-obsoleted due to no activity on 2025/02/24 18:46

Sample crash report:
============================================
WARNING: possible recursive locking detected
6.1.148-syzkaller #0 Not tainted
--------------------------------------------
syz.0.80/4623 is trying to acquire lock:
ffffffff8d3e9c38 (qp_broker_list.mutex){+.+.}-{3:3}, at: vmci_qp_broker_detach+0x110/0xef0 drivers/misc/vmw_vmci/vmci_queue_pair.c:2095

but task is already holding lock:
ffffffff8d3e9c38 (qp_broker_list.mutex){+.+.}-{3:3}, at: vmci_qp_broker_detach+0x110/0xef0 drivers/misc/vmw_vmci/vmci_queue_pair.c:2095

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

       CPU0
       ----
  lock(qp_broker_list.mutex);
  lock(qp_broker_list.mutex);

 *** DEADLOCK ***

 May be due to missing lock nesting notation

1 lock held by syz.0.80/4623:
 #0: ffffffff8d3e9c38 (qp_broker_list.mutex){+.+.}-{3:3}, at: vmci_qp_broker_detach+0x110/0xef0 drivers/misc/vmw_vmci/vmci_queue_pair.c:2095

stack backtrace:
CPU: 1 PID: 4623 Comm: syz.0.80 Not tainted 6.1.148-syzkaller #0
Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 07/12/2025
Call Trace:
 <TASK>
 dump_stack_lvl+0x168/0x22e lib/dump_stack.c:106
 __lock_acquire+0x122f/0x7c50 kernel/locking/lockdep.c:-1
 lock_acquire+0x1b4/0x490 kernel/locking/lockdep.c:5662
 __mutex_lock_common kernel/locking/mutex.c:603 [inline]
 __mutex_lock+0x120/0xaf0 kernel/locking/mutex.c:747
 vmci_qp_broker_detach+0x110/0xef0 drivers/misc/vmw_vmci/vmci_queue_pair.c:2095
 ctx_free_ctx drivers/misc/vmw_vmci/vmci_context.c:444 [inline]
 kref_put include/linux/kref.h:65 [inline]
 vmci_ctx_put+0x5ec/0xc00 drivers/misc/vmw_vmci/vmci_context.c:497
 vmci_ctx_enqueue_datagram+0x3a7/0x420 drivers/misc/vmw_vmci/vmci_context.c:360
 dg_dispatch_as_host drivers/misc/vmw_vmci/vmci_datagram.c:276 [inline]
 vmci_datagram_dispatch+0x438/0xbc0 drivers/misc/vmw_vmci/vmci_datagram.c:340
 qp_notify_peer drivers/misc/vmw_vmci/vmci_queue_pair.c:1481 [inline]
 vmci_qp_broker_detach+0x8b5/0xef0 drivers/misc/vmw_vmci/vmci_queue_pair.c:2188
 ctx_free_ctx drivers/misc/vmw_vmci/vmci_context.c:444 [inline]
 kref_put include/linux/kref.h:65 [inline]
 vmci_ctx_put+0x5ec/0xc00 drivers/misc/vmw_vmci/vmci_context.c:497
 vmci_host_close+0x97/0x160 drivers/misc/vmw_vmci/vmci_host.c:143
 __fput+0x22c/0x920 fs/file_table.c:320
 task_work_run+0x1ca/0x250 kernel/task_work.c:203
 resume_user_mode_work include/linux/resume_user_mode.h:49 [inline]
 exit_to_user_mode_loop+0xe6/0x110 kernel/entry/common.c:177
 exit_to_user_mode_prepare+0xb1/0x140 kernel/entry/common.c:210
 __syscall_exit_to_user_mode_work kernel/entry/common.c:292 [inline]
 syscall_exit_to_user_mode+0x16/0x40 kernel/entry/common.c:303
 do_syscall_64+0x58/0xa0 arch/x86/entry/common.c:87
 entry_SYSCALL_64_after_hwframe+0x68/0xd2
RIP: 0033:0x7f4f4e18ebe9
Code: ff ff c3 66 2e 0f 1f 84 00 00 00 00 00 0f 1f 40 00 48 89 f8 48 89 f7 48 89 d6 48 89 ca 4d 89 c2 4d 89 c8 4c 8b 4c 24 08 0f 05 <48> 3d 01 f0 ff ff 73 01 c3 48 c7 c1 a8 ff ff ff f7 d8 64 89 01 48
RSP: 002b:00007ffc8c712d78 EFLAGS: 00000246 ORIG_RAX: 00000000000001b4
RAX: 0000000000000000 RBX: 00007f4f4e3b7da0 RCX: 00007f4f4e18ebe9
RDX: 0000000000000000 RSI: 000000000000001e RDI: 0000000000000003
RBP: 00007f4f4e3b7da0 R08: 0000000000000000 R09: 0000000f8c71306f
R10: 00007f4f4e3b7cb0 R11: 0000000000000246 R12: 0000000000023d78
R13: 00007f4f4e3b6090 R14: ffffffffffffffff R15: 00007ffc8c712e90
 </TASK>

Crashes (6):
Time Kernel Commit Syzkaller Config Log Report Syz repro C repro VM info Assets (help?) Manager Title
2025/08/28 04:17 linux-6.1.y 0bc96de781b4 e12e5ba4 .config console log report syz / log C [disk image] [vmlinux] [kernel image] ci2-linux-6-1-kasan possible deadlock in vmci_qp_broker_detach
2025/08/28 12:25 linux-6.1.y 0bc96de781b4 e12e5ba4 .config console log report syz / log [disk image] [vmlinux] [kernel image] ci2-linux-6-1-kasan possible deadlock in vmci_qp_broker_detach
2025/08/28 06:56 linux-6.1.y 0bc96de781b4 e12e5ba4 .config console log report syz / log [disk image] [vmlinux] [kernel image] ci2-linux-6-1-kasan possible deadlock in vmci_qp_broker_detach
2025/08/28 05:15 linux-6.1.y 0bc96de781b4 e12e5ba4 .config console log report syz / log [disk image] [vmlinux] [kernel image] ci2-linux-6-1-kasan possible deadlock in vmci_qp_broker_detach
2025/08/28 02:16 linux-6.1.y 0bc96de781b4 e12e5ba4 .config console log report syz / log [disk image] [vmlinux] [kernel image] ci2-linux-6-1-kasan possible deadlock in vmci_qp_broker_detach
2025/08/28 00:48 linux-6.1.y 0bc96de781b4 e12e5ba4 .config console log report info [disk image] [vmlinux] [kernel image] ci2-linux-6-1-kasan possible deadlock in vmci_qp_broker_detach
* Struck through repros no longer work on HEAD.