From: Tim Deegan Date: Fri, 19 Aug 2011 12:29:27 +0000 (+0100) Subject: nestedhvm: avoid endless loop of nested page faults X-Git-Tag: archive/raspbian/4.8.0-1+rpi1~1^2~9954 X-Git-Url: https://dgit.raspbian.org/?a=commitdiff_plain;h=1db50df4870b5672b3fd5688cb8e6b9c1523f7c2;p=xen.git nestedhvm: avoid endless loop of nested page faults Stop sending IPIs to flush the nested-on-nested pagetable after write operations. Instead flush the TLB only. This fixes an endless loop of nested page faults after adding an entry to the nested-on-nested pagetable. Signed-off-by: Christoph Egger Committed-by: Tim Deegan --- diff --git a/xen/arch/x86/mm/hap/nested_hap.c b/xen/arch/x86/mm/hap/nested_hap.c index 3e8a39dc2b..ebd42cef90 100644 --- a/xen/arch/x86/mm/hap/nested_hap.c +++ b/xen/arch/x86/mm/hap/nested_hap.c @@ -86,8 +86,9 @@ nestedp2m_write_p2m_entry(struct p2m_domain *p2m, unsigned long gfn, old_flags = l1e_get_flags(*p); safe_write_pte(p, new); + if (old_flags & _PAGE_PRESENT) - nestedhvm_vmcx_flushtlb(p2m); + flush_tlb_mask(&p2m->p2m_dirty_cpumask); paging_unlock(d); }