File 19505-x86_64-clear-cr1.patch of Package xen

# HG changeset patch
# User Keir Fraser <keir.fraser@citrix.com>
# Date 1239022595 -3600
# Node ID 1f705f0a32e2b99423394ef0e2f2348199f13a8e
# Parent  3fecb8f43617039fc71a5c01ad8266c74c7be0cb
x86_64: explicitly zero CR[1] in getvcpucontext for guests with no user PT

Signed-off-by: Ian Campbell <ian.campbell@citrix.com>

--- a/xen/arch/x86/domctl.c
+++ b/xen/arch/x86/domctl.c
@@ -1083,9 +1083,9 @@ void arch_get_info_guest(struct vcpu *v,
             c.nat->ctrlreg[3] = xen_pfn_to_cr3(
                 pagetable_get_pfn(v->arch.guest_table));
 #ifdef __x86_64__
-            if ( !pagetable_is_null(v->arch.guest_table_user) )
-                c.nat->ctrlreg[1] = xen_pfn_to_cr3(
-                    pagetable_get_pfn(v->arch.guest_table_user));
+            c.nat->ctrlreg[1] =
+                pagetable_is_null(v->arch.guest_table_user) ? 0
+                : xen_pfn_to_cr3(pagetable_get_pfn(v->arch.guest_table_user));
 #endif
 
             /* Merge shadow DR7 bits into real DR7. */
openSUSE Build Service is sponsored by