[PATCH 18/21] mm: xip_unmap ZERO_PAGE fix

From: Hugh Dickins
Date: Wed Oct 12 2005 - 20:21:27 EST


Small fix to the PageReserved patch: the mips ZERO_PAGE(address) depends
on address, so __xip_unmap is wrong to initialize page with that before
address is initialized; and in fact must re-evaluate it each iteration.

Signed-off-by: Hugh Dickins <hugh@xxxxxxxxxxx>
---

mm/filemap_xip.c | 3 ++-
1 files changed, 2 insertions(+), 1 deletion(-)

--- mm17/mm/filemap_xip.c 2005-10-11 12:16:50.000000000 +0100
+++ mm18/mm/filemap_xip.c 2005-10-11 23:58:14.000000000 +0100
@@ -174,7 +174,7 @@ __xip_unmap (struct address_space * mapp
unsigned long address;
pte_t *pte;
pte_t pteval;
- struct page *page = ZERO_PAGE(address);
+ struct page *page;

spin_lock(&mapping->i_mmap_lock);
vma_prio_tree_foreach(vma, &iter, &mapping->i_mmap, pgoff, pgoff) {
@@ -182,6 +182,7 @@ __xip_unmap (struct address_space * mapp
address = vma->vm_start +
((pgoff - vma->vm_pgoff) << PAGE_SHIFT);
BUG_ON(address < vma->vm_start || address >= vma->vm_end);
+ page = ZERO_PAGE(address);
/*
* We need the page_table_lock to protect us from page faults,
* munmap, fork, etc...
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/