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. */