If the EPTP pointer can't be located in the altp2m list, the domain is (legitimately) crashed.
Under those circumstances, execution will continue and guarentee to hit the BUG_ON(idx >= MAX_ALTP2M) (unfortunately, just out of context). Return from vmx_vmexit_handler() after the domain_crash(), which also has the side effect of reentering the scheduler more promptly. Signed-off-by: Andrew Cooper <andrew.coop...@citrix.com> --- CC: Jan Beulich <jbeul...@suse.com> CC: Jun Nakajima <jun.nakaj...@intel.com> CC: Kevin Tian <kevin.t...@intel.com> CC: Razvan Cojocaru <rcojoc...@bitdefender.com> CC: Tamas K Lengyel <ta...@tklengyel.com> --- xen/arch/x86/hvm/vmx/vmx.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/xen/arch/x86/hvm/vmx/vmx.c b/xen/arch/x86/hvm/vmx/vmx.c index bcf95f9..257efbe 100644 --- a/xen/arch/x86/hvm/vmx/vmx.c +++ b/xen/arch/x86/hvm/vmx/vmx.c @@ -3666,6 +3666,8 @@ void vmx_vmexit_handler(struct cpu_user_regs *regs) { gdprintk(XENLOG_ERR, "EPTP not found in alternate p2m list\n"); domain_crash(v->domain); + + return; } } -- 2.1.4 _______________________________________________ Xen-devel mailing list Xen-devel@lists.xenproject.org https://lists.xenproject.org/mailman/listinfo/xen-devel