diff options
author | Jan Beulich <jbeulich@suse.com> | 2013-01-23 14:13:41 +0100 |
---|---|---|
committer | Jan Beulich <jbeulich@suse.com> | 2013-01-23 14:13:41 +0100 |
commit | f697f2fc18f11c28cffc61f39025c3bfa92d376d (patch) | |
tree | e640615cef12e9e6c3400a2eabd570f19d4d078f /xen/arch/x86/traps.c | |
parent | bcf557675d858e3b2e92788f5424ed4bfdac413d (diff) | |
download | xen-f697f2fc18f11c28cffc61f39025c3bfa92d376d.tar.gz xen-f697f2fc18f11c28cffc61f39025c3bfa92d376d.tar.bz2 xen-f697f2fc18f11c28cffc61f39025c3bfa92d376d.zip |
x86: properly use map_domain_page() in miscellaneous places
Signed-off-by: Jan Beulich <jbeulich@suse.com>
Acked-by: Keir Fraser <keir@xen.org>
Diffstat (limited to 'xen/arch/x86/traps.c')
-rw-r--r-- | xen/arch/x86/traps.c | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/xen/arch/x86/traps.c b/xen/arch/x86/traps.c index 24ca6e25e8..1ae74127bb 100644 --- a/xen/arch/x86/traps.c +++ b/xen/arch/x86/traps.c @@ -2255,7 +2255,11 @@ static int emulate_privileged_op(struct cpu_user_regs *regs) } else { - mfn = l4e_get_pfn(*(l4_pgentry_t *)__va(pagetable_get_paddr(v->arch.guest_table))); + l4_pgentry_t *pl4e = + map_domain_page(pagetable_get_pfn(v->arch.guest_table)); + + mfn = l4e_get_pfn(*pl4e); + unmap_domain_page(pl4e); *reg = compat_pfn_to_cr3(mfn_to_gmfn( v->domain, mfn)); } |