diff options
Diffstat (limited to 'arch/x86/xen/enlighten.c')
| -rw-r--r-- | arch/x86/xen/enlighten.c | 5 | 
1 files changed, 3 insertions, 2 deletions
diff --git a/arch/x86/xen/enlighten.c b/arch/x86/xen/enlighten.c index b61534c7a4c..5e4686d70f6 100644 --- a/arch/x86/xen/enlighten.c +++ b/arch/x86/xen/enlighten.c @@ -863,15 +863,16 @@ static void xen_alloc_ptpage(struct mm_struct *mm, unsigned long pfn, unsigned l  	if (PagePinned(virt_to_page(mm->pgd))) {  		SetPagePinned(page); +		vm_unmap_aliases();  		if (!PageHighMem(page)) {  			make_lowmem_page_readonly(__va(PFN_PHYS((unsigned long)pfn)));  			if (level == PT_PTE && USE_SPLIT_PTLOCKS)  				pin_pagetable_pfn(MMUEXT_PIN_L1_TABLE, pfn); -		} else +		} else {  			/* make sure there are no stray mappings of  			   this page */  			kmap_flush_unused(); -			vm_unmap_aliases(); +		}  	}  }  |