summaryrefslogtreecommitdiffstats
path: root/mm/rmap.c
diff options
context:
space:
mode:
authorIngo Molnar <mingo@elte.hu>2009-03-05 11:45:22 +0100
committerIngo Molnar <mingo@elte.hu>2009-03-05 11:45:22 +0100
commita140feab42d1cfd811930ab76104559c19dfc4b0 (patch)
tree41fd871990e888dd5616a6bf1891a1ff307221df /mm/rmap.c
parentlockdep: require framepointers for x86 (diff)
parentLinux 2.6.29-rc7 (diff)
downloadlinux-a140feab42d1cfd811930ab76104559c19dfc4b0.tar.xz
linux-a140feab42d1cfd811930ab76104559c19dfc4b0.zip
Merge commit 'v2.6.29-rc7' into core/locking
Diffstat (limited to 'mm/rmap.c')
-rw-r--r--mm/rmap.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/mm/rmap.c b/mm/rmap.c
index ac4af8cffbf9..16521664010d 100644
--- a/mm/rmap.c
+++ b/mm/rmap.c
@@ -1072,7 +1072,8 @@ static int try_to_unmap_file(struct page *page, int unlock, int migration)
spin_lock(&mapping->i_mmap_lock);
vma_prio_tree_foreach(vma, &iter, &mapping->i_mmap, pgoff, pgoff) {
if (MLOCK_PAGES && unlikely(unlock)) {
- if (!(vma->vm_flags & VM_LOCKED))
+ if (!((vma->vm_flags & VM_LOCKED) &&
+ page_mapped_in_vma(page, vma)))
continue; /* must visit all vmas */
ret = SWAP_MLOCK;
} else {