From: Andrew Cooper Date: Tue, 6 Feb 2018 12:01:08 +0000 (+0000) Subject: x86/vmx: Avoid using domain_crash_syncrhonous() in vmx_vmentry_failure() X-Git-Tag: archive/raspbian/4.14.0+80-gd101b417b7-1+rpi1^2~63^2~3515 X-Git-Url: https://dgit.raspbian.org/?a=commitdiff_plain;h=499a76634d74f4ec663629fe85239e05d0352bb9;p=xen.git 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 --- 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)