diff options
Diffstat (limited to 'mm/filemap_xip.c')
| -rw-r--r-- | mm/filemap_xip.c | 4 | 
1 files changed, 3 insertions, 1 deletions
diff --git a/mm/filemap_xip.c b/mm/filemap_xip.c index a52daee11d3..a912da6ddfd 100644 --- a/mm/filemap_xip.c +++ b/mm/filemap_xip.c @@ -192,11 +192,13 @@ retry:  		if (pte) {  			/* Nuke the page table entry. */  			flush_cache_page(vma, address, pte_pfn(*pte)); -			pteval = ptep_clear_flush_notify(vma, address, pte); +			pteval = ptep_clear_flush(vma, address, pte);  			page_remove_rmap(page);  			dec_mm_counter(mm, MM_FILEPAGES);  			BUG_ON(pte_dirty(pteval));  			pte_unmap_unlock(pte, ptl); +			/* must invalidate_page _before_ freeing the page */ +			mmu_notifier_invalidate_page(mm, address);  			page_cache_release(page);  		}  	}  |