aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBen Collins <bcollins@debian.org>2005-11-29 11:45:26 -0800
committerLinus Torvalds <torvalds@g5.osdl.org>2005-11-29 12:57:17 -0800
commiteca351336acb2fa943611e0846562ce3997ef53b (patch)
tree9b7b022d7b2d5f2f23bc979fa8bf5c1e418456bd
parentd70aa5e4b54aa7e704c886838715ac8a45d5750f (diff)
[PATCH] Fix missing pfn variables caused by vm changes
I image this showed up because of "unused var..." when the changes occured, because flush_cache_page() is a noop in most places. This showed up for me on parisc however, where flush_cache_page() is a real function. Signed-off-by: Linus Torvalds <torvalds@osdl.org>
-rw-r--r--mm/memory.c4
-rw-r--r--mm/rmap.c2
2 files changed, 3 insertions, 3 deletions
diff --git a/mm/memory.c b/mm/memory.c
index 6c1eac92a31..74839b3a399 100644
--- a/mm/memory.c
+++ b/mm/memory.c
@@ -1345,7 +1345,7 @@ static int do_wp_page(struct mm_struct *mm, struct vm_area_struct *vma,
int reuse = can_share_swap_page(old_page);
unlock_page(old_page);
if (reuse) {
- flush_cache_page(vma, address, pfn);
+ flush_cache_page(vma, address, pte_pfn(orig_pte));
entry = pte_mkyoung(orig_pte);
entry = maybe_mkwrite(pte_mkdirty(entry), vma);
ptep_set_access_flags(vma, address, page_table, entry, 1);
@@ -1389,7 +1389,7 @@ gotten:
}
} else
inc_mm_counter(mm, anon_rss);
- flush_cache_page(vma, address, pfn);
+ flush_cache_page(vma, address, pte_pfn(orig_pte));
entry = mk_pte(new_page, vma->vm_page_prot);
entry = maybe_mkwrite(pte_mkdirty(entry), vma);
ptep_establish(vma, address, page_table, entry);
diff --git a/mm/rmap.c b/mm/rmap.c
index 491ac350048..f853c6def15 100644
--- a/mm/rmap.c
+++ b/mm/rmap.c
@@ -641,7 +641,7 @@ static void try_to_unmap_cluster(unsigned long cursor,
continue;
/* Nuke the page table entry. */
- flush_cache_page(vma, address, pfn);
+ flush_cache_page(vma, address, pte_pfn(*pte));
pteval = ptep_clear_flush(vma, address, pte);
/* If nonlinear, store the file page offset in the pte. */