From: kaf24@firebug.cl.cam.ac.uk Date: Fri, 30 Jun 2006 09:13:17 +0000 (+0100) Subject: [HVM][SVM] Don't BUG when VMRUN exitcode==-1, just crash the domain. X-Git-Tag: archive/raspbian/4.8.0-1+rpi1~1^2~15912^2~20 X-Git-Url: https://dgit.raspbian.org/?a=commitdiff_plain;h=23190c25c3d9df4f38431612f7d46d1f4f88a83c;p=xen.git [HVM][SVM] Don't BUG when VMRUN exitcode==-1, just crash the domain. If there's any consistency problems in the VMCB, the VMRUN will return an exitcode of -1 to indicate that the guest-state is "bad". Prior to this change, it would cause the hypervisor to reboot. This is not at all necessary - the VMCB may be bad, but the system is most likely still intact. [In particular, a guest could cause a crash of the system by setting up PAE with an invalid set of PDPE's, which is definitely not a desired behaviour] Now also print out the VMCB, as that MAY help identify the cause of the exitcode of -1. Signed-off-by: Mats Petersson --- diff --git a/xen/arch/x86/hvm/svm/svm.c b/xen/arch/x86/hvm/svm/svm.c index db628b2210..29f74e8a0f 100644 --- a/xen/arch/x86/hvm/svm/svm.c +++ b/xen/arch/x86/hvm/svm/svm.c @@ -2697,9 +2697,9 @@ asmlinkage void svm_vmexit_handler(struct cpu_user_regs regs) if (exit_reason == -1) { + svm_dump_vmcb(__func__, vmcb); printk("%s: exit_reason == -1 - Did someone clobber the VMCB\n", __func__); - BUG(); domain_crash_synchronous(); }