From 499a76634d74f4ec663629fe85239e05d0352bb9 Mon Sep 17 00:00:00 2001 From: Andrew Cooper Date: Tue, 6 Feb 2018 12:01:08 +0000 Subject: [PATCH] x86/vmx: Avoid using domain_crash_syncrhonous() in vmx_vmentry_failure() There is no need for the syncrhonous varient, as the vmentry failure path can just return to processing softirqs. This is in aid of trying to remove domain_crash_syncrhonous() from the codebase. Signed-off-by: Andrew Cooper Reviewed-by: Jan Beulich Acked-by: Kevin Tian --- xen/arch/x86/hvm/vmx/entry.S | 2 +- xen/arch/x86/hvm/vmx/vmcs.c | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/xen/arch/x86/hvm/vmx/entry.S b/xen/arch/x86/hvm/vmx/entry.S index a7d1356354..d18c149376 100644 --- a/xen/arch/x86/hvm/vmx/entry.S +++ b/xen/arch/x86/hvm/vmx/entry.S @@ -128,7 +128,7 @@ UNLIKELY_END(realmode) /* WARNING! `ret`, `call *`, `jmp *` not safe before this point. */ call vmx_vmentry_failure - BUG /* vmx_vmentry_failure() shouldn't return. */ + jmp .Lvmx_process_softirqs ENTRY(vmx_asm_do_vmentry) GET_CURRENT(bx) diff --git a/xen/arch/x86/hvm/vmx/vmcs.c b/xen/arch/x86/hvm/vmx/vmcs.c index 096a26a36f..262c25260f 100644 --- a/xen/arch/x86/hvm/vmx/vmcs.c +++ b/xen/arch/x86/hvm/vmx/vmcs.c @@ -1784,7 +1784,7 @@ void vmx_vmentry_failure(void) error == VMX_INSN_INVALID_HOST_STATE ) vmcs_dump_vcpu(curr); - domain_crash_synchronous(); + domain_crash(curr->domain); } void vmx_do_resume(struct vcpu *v) -- 2.30.2