From: Andrew Cooper Date: Thu, 25 Oct 2018 13:11:58 +0000 (+0100) Subject: x86/vvmx: Don't handle unknown nested vmexit reasons at L0 X-Git-Tag: archive/raspbian/4.14.0+80-gd101b417b7-1+rpi1^2~63^2~3089 X-Git-Url: https://dgit.raspbian.org/?a=commitdiff_plain;h=c238ea3f4caccf36ab1a559f958cbe5192327f6a;p=xen.git x86/vvmx: Don't handle unknown nested vmexit reasons at L0 This is very dangerous from a security point of view, because a missing entry will cause L2's action to be interpreted as L1's action. Signed-off-by: Andrew Cooper Reviewed-by: Sergey Dyasli Acked-by: Kevin Tian --- diff --git a/xen/arch/x86/hvm/vmx/vvmx.c b/xen/arch/x86/hvm/vmx/vvmx.c index 9fa2fe224e..8e2e8c266a 100644 --- a/xen/arch/x86/hvm/vmx/vvmx.c +++ b/xen/arch/x86/hvm/vmx/vvmx.c @@ -2611,8 +2611,9 @@ int nvmx_n2_vmexit_handler(struct cpu_user_regs *regs, nvcpu->nv_vmexit_pending = 1; break; default: - gprintk(XENLOG_ERR, "Unexpected nested vmexit: reason %u\n", + gprintk(XENLOG_ERR, "Unhandled nested vmexit: reason %u\n", exit_reason); + domain_crash(v->domain); } return ( nvcpu->nv_vmexit_pending == 1 );