RBP: 000000000049b26c R08: 0000000000000001 R09: 0000000000000033 R10: 0000000000000000 R11: 0000000000000246 R12: 00000000004cb4ec R13: 00007f2d8f15f2f0 R14: 00000000004cb4e8 R15: 0000000000000001 Failed to allocate memory for datagram ============================================ WARNING: possible recursive locking detected 4.19.186-syzkaller #0 Not tainted -------------------------------------------- syz-executor098/8088 is trying to acquire lock: 00000000ad2d1ecc (qp_broker_list.mutex){+.+.}, at: vmci_qp_broker_detach+0x147/0x11b0 drivers/misc/vmw_vmci/vmci_queue_pair.c:2099 but task is already holding lock: 00000000ad2d1ecc (qp_broker_list.mutex){+.+.}, at: vmci_qp_broker_detach+0x147/0x11b0 drivers/misc/vmw_vmci/vmci_queue_pair.c:2099 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-executor098/8088: #0: 00000000ad2d1ecc (qp_broker_list.mutex){+.+.}, at: vmci_qp_broker_detach+0x147/0x11b0 drivers/misc/vmw_vmci/vmci_queue_pair.c:2099 stack backtrace: CPU: 1 PID: 8088 Comm: syz-executor098 Not tainted 4.19.186-syzkaller #0 Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 01/01/2011 Call Trace: __dump_stack lib/dump_stack.c:77 [inline] dump_stack+0x1fc/0x2ef lib/dump_stack.c:118 print_deadlock_bug kernel/locking/lockdep.c:1763 [inline] check_deadlock kernel/locking/lockdep.c:1807 [inline] validate_chain kernel/locking/lockdep.c:2403 [inline] __lock_acquire.cold+0x121/0x57e kernel/locking/lockdep.c:3415 lock_acquire+0x170/0x3c0 kernel/locking/lockdep.c:3907 __mutex_lock_common kernel/locking/mutex.c:928 [inline] __mutex_lock+0xd7/0x1260 kernel/locking/mutex.c:1075 vmci_qp_broker_detach+0x147/0x11b0 drivers/misc/vmw_vmci/vmci_queue_pair.c:2099 ctx_free_ctx drivers/misc/vmw_vmci/vmci_context.c:452 [inline] kref_put include/linux/kref.h:70 [inline] vmci_ctx_put+0x55a/0xd60 drivers/misc/vmw_vmci/vmci_context.c:505 vmci_ctx_enqueue_datagram.cold+0x1f/0x24 drivers/misc/vmw_vmci/vmci_context.c:328 dg_dispatch_as_host drivers/misc/vmw_vmci/vmci_datagram.c:283 [inline] vmci_datagram_dispatch+0x39b/0xb40 drivers/misc/vmw_vmci/vmci_datagram.c:347 qp_notify_peer+0x182/0x260 drivers/misc/vmw_vmci/vmci_queue_pair.c:1488 vmci_qp_broker_detach+0xa09/0x11b0 drivers/misc/vmw_vmci/vmci_queue_pair.c:2192 ctx_free_ctx drivers/misc/vmw_vmci/vmci_context.c:452 [inline] kref_put include/linux/kref.h:70 [inline] vmci_ctx_put+0x55a/0xd60 drivers/misc/vmw_vmci/vmci_context.c:505 vmci_host_close+0x116/0x1a0 drivers/misc/vmw_vmci/vmci_host.c:147 __fput+0x2ce/0x890 fs/file_table.c:278 task_work_run+0x148/0x1c0 kernel/task_work.c:113 tracehook_notify_resume include/linux/tracehook.h:193 [inline] exit_to_usermode_loop+0x251/0x2a0 arch/x86/entry/common.c:167 prepare_exit_to_usermode arch/x86/entry/common.c:198 [inline] syscall_return_slowpath arch/x86/entry/common.c:271 [inline] do_syscall_64+0x538/0x620 arch/x86/entry/common.c:296 entry_SYSCALL_64_after_hwframe+0x49/0xbe RIP: 0033:0x445fd9 Code: 28 00 00 00 75 05 48 83 c4 28 c3 e8 71 15 00 00 90 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 b8 ff ff ff f7 d8 64 89 01 48 RSP: 002b:00007f2d8f15f2e8 EFLAGS: 00000246 ORIG_RAX: 0000000000000124 RAX: 0000000000000004 RBX: 00000000004cb4e0 RCX: 0000000000445fd9 RDX: 0000000000000000 RSI: 0000000000000004 RDI: 0000000000000005 RBP: 000000000049b26c R08: 0000000000000001 R09: 0000000000000033 R10: 0000000000000000 R11: 0000000000000246 R12: 00000000004cb4ec R13: 00007f2d8f15f2f0 R14: 00000000004cb4e8 R15: 0000000000000001