From: Roger Pau Monne Date: Wed, 27 Feb 2019 11:09:05 +0000 (+0100) Subject: npt/shadow: allow getting foreign page table entries X-Git-Tag: archive/raspbian/4.14.0+80-gd101b417b7-1+rpi1^2~63^2~2529 X-Git-Url: https://dgit.raspbian.org/?a=commitdiff_plain;h=b50acc560b09ef7c7274011a95dff7121563f3f2;p=xen.git npt/shadow: allow getting foreign page table entries Current npt and shadow code to get an entry will always return INVALID_MFN for foreign entries. Allow to return the entry mfn for foreign entries, like it's done for grant table entries. Signed-off-by: Roger Pau Monné Reviewed-by: Jan Beulich Reviewed-by: Wei Liu Acked-by: George Dunlap --- diff --git a/xen/arch/x86/mm/p2m-pt.c b/xen/arch/x86/mm/p2m-pt.c index e62bafcfb7..cafc9f299b 100644 --- a/xen/arch/x86/mm/p2m-pt.c +++ b/xen/arch/x86/mm/p2m-pt.c @@ -903,8 +903,8 @@ pod_retry_l1: *t = p2m_recalc_type(recalc || _needs_recalc(flags), l1t, p2m, gfn); unmap_domain_page(l1e); - ASSERT(mfn_valid(mfn) || !p2m_is_ram(*t) || p2m_is_paging(*t)); - return (p2m_is_valid(*t) || p2m_is_grant(*t)) ? mfn : INVALID_MFN; + ASSERT(mfn_valid(mfn) || !p2m_is_any_ram(*t) || p2m_is_paging(*t)); + return (p2m_is_valid(*t) || p2m_is_any_ram(*t)) ? mfn : INVALID_MFN; } static void p2m_pt_change_entry_type_global(struct p2m_domain *p2m,