aboutsummaryrefslogtreecommitdiffstats
path: root/xen/arch/x86/traps.c
diff options
context:
space:
mode:
authorJan Beulich <jbeulich@suse.com>2013-01-23 14:13:41 +0100
committerJan Beulich <jbeulich@suse.com>2013-01-23 14:13:41 +0100
commitf697f2fc18f11c28cffc61f39025c3bfa92d376d (patch)
treee640615cef12e9e6c3400a2eabd570f19d4d078f /xen/arch/x86/traps.c
parentbcf557675d858e3b2e92788f5424ed4bfdac413d (diff)
downloadxen-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.c6
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));
}