[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Xen-changelog] Prevent new potential features from being exposed to the



# HG changeset patch
# User kaf24@xxxxxxxxxxxxxxxxxxxx
# Node ID c9929c7c63f6b100223fd8185b0534de747fdf8c
# Parent  25d0ba51338eb8dd6446cc2083ee34d89a6f6fcf
Prevent new potential features from being exposed to the
guests when not virtualized properly. Guests can attempt to set the
control registers, etc. (and get #GP and panic) if they are aware of the
new feature and the cpuid says it's available.

Signed-off-by: <jun.nakajima@xxxxxxxxx>

diff -r 25d0ba51338e -r c9929c7c63f6 xen/arch/x86/vmx.c
--- a/xen/arch/x86/vmx.c        Wed Dec 14 12:52:02 2005
+++ b/xen/arch/x86/vmx.c        Wed Dec 14 18:35:38 2005
@@ -503,6 +503,8 @@
     __vm_clear_bit(EXCEPTION_BITMAP, EXCEPTION_BITMAP_NM);
 }
 
+/* Reserved bits: [31:15], [12:11], [9], [6], [2:1] */
+#define VMX_VCPU_CPUID_L1_RESERVED 0xffff9a46 
 
 static void vmx_vmexit_do_cpuid(unsigned long input, struct cpu_user_regs 
*regs)
 {
@@ -537,6 +539,7 @@
         }
 
         /* Unsupportable for virtualised CPUs. */
+        ecx &= ~VMX_VCPU_CPUID_L1_RESERVED; /* mask off reserved bits */
         clear_bit(X86_FEATURE_VMXE & 31, &ecx);
         clear_bit(X86_FEATURE_MWAIT & 31, &ecx);
     }

_______________________________________________
Xen-changelog mailing list
Xen-changelog@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-changelog


 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.