aboutsummaryrefslogtreecommitdiff
path: root/mm/rmap.c
diff options
context:
space:
mode:
authorPaul Mundt <lethal@linux-sh.org>2009-02-12 17:27:56 +0900
committerPaul Mundt <lethal@linux-sh.org>2009-02-12 17:27:56 +0900
commit41480ae7a383dcffa497decdd97b3cb2caaa18ec (patch)
treef1e3afce2cbd0bbc544cd86a73e5b3093eb081c4 /mm/rmap.c
parent508eb2ce222053e51e2243b7add8eeac85b1d250 (diff)
parent34aeb43e2d3800f4d8f96feb9f1b49cd506679d5 (diff)
Merge branch 'sh/stable-updates'
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 ac4af8cffbf..16521664010 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 {