aboutsummaryrefslogtreecommitdiffstats
path: root/xen/arch/x86/domctl.c
diff options
context:
space:
mode:
authorKeir Fraser <keir.fraser@citrix.com>2009-04-06 13:56:35 +0100
committerKeir Fraser <keir.fraser@citrix.com>2009-04-06 13:56:35 +0100
commita5428a4b5f54fa660b37d8eec88a69700f6f8352 (patch)
tree1732600ba5c32a0f474d14e445d508e40a24a039 /xen/arch/x86/domctl.c
parentfdd33002ee45be20b317cad3e165714d14009390 (diff)
downloadxen-a5428a4b5f54fa660b37d8eec88a69700f6f8352.tar.gz
xen-a5428a4b5f54fa660b37d8eec88a69700f6f8352.tar.bz2
xen-a5428a4b5f54fa660b37d8eec88a69700f6f8352.zip
x86_64: explicitly zero CR[1] in getvcpucontext for guests with no user PT
Signed-off-by: Ian Campbell <ian.campbell@citrix.com>
Diffstat (limited to 'xen/arch/x86/domctl.c')
-rw-r--r--xen/arch/x86/domctl.c6
1 files changed, 3 insertions, 3 deletions
diff --git a/xen/arch/x86/domctl.c b/xen/arch/x86/domctl.c
index 1d748f6f15..955c5e6088 100644
--- a/xen/arch/x86/domctl.c
+++ b/xen/arch/x86/domctl.c
@@ -1161,9 +1161,9 @@ void arch_get_info_guest(struct vcpu *v, vcpu_guest_context_u c)
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. */