|
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [Xen-changelog] [xen-unstable] nestedhvm: return the pfec from the pagetable walk.
# HG changeset patch
# User Tim Deegan <tim@xxxxxxx>
# Date 1343915093 -3600
# Node ID 983ea7521badb3e05d3379044fb283732ef558d6
# Parent c323f1af7e677e791d13f7d6a62abeec55a4a2d5
nestedhvm: return the pfec from the pagetable walk.
Don't clobber it with the pfec from teh p2m walk behind it; the guest
will not expect (or be able to handle) error codes that come from the
p2m table, which it can't see or control.
Signed-off-by: Tim Deegan <tim@xxxxxxx>
Acked-by: Christoph Egger <Christoph.Egger@xxxxxxx>
Committed-by: Tim Deegan <tim@xxxxxxx>
---
diff -r c323f1af7e67 -r 983ea7521bad xen/arch/x86/mm/p2m.c
--- a/xen/arch/x86/mm/p2m.c Thu Aug 02 14:38:09 2012 +0100
+++ b/xen/arch/x86/mm/p2m.c Thu Aug 02 14:44:53 2012 +0100
@@ -1581,6 +1581,7 @@ unsigned long paging_gva_to_gfn(struct v
unsigned long gfn;
struct p2m_domain *p2m;
const struct paging_mode *mode;
+ uint32_t pfec_21 = *pfec;
uint64_t ncr3 = nhvm_vcpu_hostcr3(v);
/* translate l2 guest va into l2 guest gfn */
@@ -1590,7 +1591,7 @@ unsigned long paging_gva_to_gfn(struct v
/* translate l2 guest gfn into l1 guest gfn */
return hostmode->p2m_ga_to_gfn(v, hostp2m, ncr3,
- gfn << PAGE_SHIFT, pfec, NULL);
+ gfn << PAGE_SHIFT, &pfec_21, NULL);
}
return hostmode->gva_to_gfn(v, hostp2m, va, pfec);
_______________________________________________
Xen-changelog mailing list
Xen-changelog@xxxxxxxxxxxxx
http://lists.xensource.com/xen-changelog
|
![]() |
Lists.xenproject.org is hosted with RackSpace, monitoring our |