提交 5a19b789 编写于 作者: A Andy King 提交者: Greg Kroah-Hartman

VMCI: Fix broken context ID retrieval

I'm an idiot.  The context ID can be a really large unsigned number, which
means it'll appear negative as an int.  So actually the right fix here is just
to set it regardless of the returned value (but only for this particular
hypercall; normally we would check it).
Acked-by: NDmitry Torokhov <dtor@vmware.com>
Signed-off-by: NAndy King <acking@vmware.com>
Signed-off-by: NGreg Kroah-Hartman <gregkh@linuxfoundation.org>
上级 74465645
......@@ -81,16 +81,13 @@ bool vmci_guest_code_active(void)
u32 vmci_get_vm_context_id(void)
{
if (vm_context_id == VMCI_INVALID_ID) {
int result;
struct vmci_datagram get_cid_msg;
get_cid_msg.dst =
vmci_make_handle(VMCI_HYPERVISOR_CONTEXT_ID,
VMCI_GET_CONTEXT_ID);
get_cid_msg.src = VMCI_ANON_SRC_HANDLE;
get_cid_msg.payload_size = 0;
result = vmci_send_datagram(&get_cid_msg);
if (result >= 0)
vm_context_id = result;
vm_context_id = vmci_send_datagram(&get_cid_msg);
}
return vm_context_id;
}
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册