Message ID | 20170830183258.14612-26-proskurin@sec.in.tum.de (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
diff --git a/xen/arch/arm/p2m.c b/xen/arch/arm/p2m.c index 246250d8c6..e9274c74a8 100644 --- a/xen/arch/arm/p2m.c +++ b/xen/arch/arm/p2m.c @@ -617,7 +617,7 @@ static void p2m_put_l3_page(struct p2m_domain *p2m, const lpae_t pte) * flush the TLBs if the page is reallocated before the end of * this loop. */ - if ( p2m_is_foreign(pte.p2m.type) ) + if ( p2m_is_foreign(pte.p2m.type) && p2m_is_hostp2m(p2m) ) { mfn_t mfn = _mfn(pte.p2m.base);
This commit makes sure that the page reference count is updated through the function "p2m_put_l3_page" only when the entries have been freed from the host's p2m. Signed-off-by: Sergej Proskurin <proskurin@sec.in.tum.de> --- Cc: Stefano Stabellini <sstabellini@kernel.org> Cc: Julien Grall <julien.grall@arm.com> v4: Moved the check for the host's p2m from "p2m_free_entry" to "p2m_put_l3_page". --- xen/arch/arm/p2m.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)