From: Hugh Dickins There are two calls to update_mmu_cache in fremap.c, both defective. The one in install_page needs to be accompanied by lazy_mmu_prot_update (some other cleanup time, move that into ia64 update_mmu_cache itself); and the one in install_file_pte should be removed since the pte is not present. Signed-off-by: Hugh Dickins Signed-off-by: Andrew Morton --- mm/fremap.c | 2 +- 1 files changed, 1 insertion(+), 1 deletion(-) diff -puN mm/fremap.c~fix-update_mmu_cache-in-fremapc mm/fremap.c --- 25/mm/fremap.c~fix-update_mmu_cache-in-fremapc Fri May 26 16:46:27 2006 +++ 25-akpm/mm/fremap.c Fri May 26 16:48:33 2006 @@ -83,6 +83,7 @@ int install_page(struct mm_struct *mm, s page_add_file_rmap(page); pte_val = *pte; update_mmu_cache(vma, addr, pte_val); + lazy_mmu_prot_update(pte_val); err = 0; unlock: pte_unmap_unlock(pte, ptl); @@ -114,7 +115,6 @@ int install_file_pte(struct mm_struct *m set_pte_at(mm, addr, pte, pgoff_to_pte(pgoff)); pte_val = *pte; - update_mmu_cache(vma, addr, pte_val); pte_unmap_unlock(pte, ptl); err = 0; out: _