Pull trivial into release branch
[pandora-kernel.git] / mm / fremap.c
index 21b7d0c..4e3f53d 100644 (file)
@@ -33,13 +33,13 @@ static int zap_pte(struct mm_struct *mm, struct vm_area_struct *vma,
                if (page) {
                        if (pte_dirty(pte))
                                set_page_dirty(page);
-                       page_remove_rmap(page);
+                       page_remove_rmap(page, vma);
                        page_cache_release(page);
                }
        } else {
                if (!pte_file(pte))
                        free_swap_and_cache(pte_to_swp_entry(pte));
-               pte_clear(mm, addr, ptep);
+               pte_clear_not_present_full(mm, addr, ptep, 0);
        }
        return !!page;
 }
@@ -79,9 +79,9 @@ int install_page(struct mm_struct *mm, struct vm_area_struct *vma,
                inc_mm_counter(mm, file_rss);
 
        flush_icache_page(vma, page);
-       set_pte_at(mm, addr, pte, mk_pte(page, prot));
+       pte_val = mk_pte(page, prot);
+       set_pte_at(mm, addr, pte, pte_val);
        page_add_file_rmap(page);
-       pte_val = *pte;
        update_mmu_cache(vma, addr, pte_val);
        lazy_mmu_prot_update(pte_val);
        err = 0;
@@ -101,7 +101,6 @@ int install_file_pte(struct mm_struct *mm, struct vm_area_struct *vma,
 {
        int err = -ENOMEM;
        pte_t *pte;
-       pte_t pte_val;
        spinlock_t *ptl;
 
        pte = get_locked_pte(mm, addr, &ptl);
@@ -114,7 +113,6 @@ int install_file_pte(struct mm_struct *mm, struct vm_area_struct *vma,
        }
 
        set_pte_at(mm, addr, pte, pgoff_to_pte(pgoff));
-       pte_val = *pte;
        /*
         * We don't need to run update_mmu_cache() here because the "file pte"
         * being installed by install_file_pte() is not a real pte - it's a