[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 |