diff --git a/[refs] b/[refs] index 672b1f7df63b..7dad17a42860 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: c33880aaddbbab1ccf36f4457ed1090621f2e39a +refs/heads/master: cafdd8ba08935d9b161bb781851dc4c0e6f70427 diff --git a/trunk/mm/rmap.c b/trunk/mm/rmap.c index a6203b4e1278..9827409eb7c7 100644 --- a/trunk/mm/rmap.c +++ b/trunk/mm/rmap.c @@ -626,7 +626,7 @@ static void try_to_unmap_cluster(unsigned long cursor, pgd_t *pgd; pud_t *pud; pmd_t *pmd; - pte_t *pte; + pte_t *pte, *original_pte; pte_t pteval; struct page *page; unsigned long address; @@ -658,7 +658,7 @@ static void try_to_unmap_cluster(unsigned long cursor, if (!pmd_present(*pmd)) goto out_unlock; - for (pte = pte_offset_map(pmd, address); + for (original_pte = pte = pte_offset_map(pmd, address); address < end; pte++, address += PAGE_SIZE) { if (!pte_present(*pte)) @@ -694,7 +694,7 @@ static void try_to_unmap_cluster(unsigned long cursor, (*mapcount)--; } - pte_unmap(pte); + pte_unmap(original_pte); out_unlock: spin_unlock(&mm->page_table_lock); }