aboutsummaryrefslogtreecommitdiffstats
path: root/mm
diff options
context:
space:
mode:
authorAl Viro <viro@zeniv.linux.org.uk>2012-03-05 13:35:49 -0500
committerAl Viro <viro@zeniv.linux.org.uk>2012-03-20 21:39:50 -0400
commit8b2a12382ccc9df31b27dac37fe04dffe088b57c (patch)
tree77e79b540a288b3c2bce78bfd7aff4c58511ecd1 /mm
parent038c7aa16a38059ac23dfe9caa6954226ea20728 (diff)
VM: can't go through the inner loop in unmap_vmas() more than once...
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
Diffstat (limited to 'mm')
-rw-r--r--mm/memory.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/mm/memory.c b/mm/memory.c
index 1b6712a9720d..f2317c85704e 100644
--- a/mm/memory.c
+++ b/mm/memory.c
@@ -1354,7 +1354,7 @@ unsigned long unmap_vmas(struct mmu_gather *tlb,
1354 if (unlikely(is_pfn_mapping(vma))) 1354 if (unlikely(is_pfn_mapping(vma)))
1355 untrack_pfn_vma(vma, 0, 0); 1355 untrack_pfn_vma(vma, 0, 0);
1356 1356
1357 while (start != end) { 1357 if (start != end) {
1358 if (unlikely(is_vm_hugetlb_page(vma))) { 1358 if (unlikely(is_vm_hugetlb_page(vma))) {
1359 /* 1359 /*
1360 * It is undesirable to test vma->vm_file as it 1360 * It is undesirable to test vma->vm_file as it
@@ -1371,8 +1371,8 @@ unsigned long unmap_vmas(struct mmu_gather *tlb,
1371 unmap_hugepage_range(vma, start, end, NULL); 1371 unmap_hugepage_range(vma, start, end, NULL);
1372 } else 1372 } else
1373 unmap_page_range(tlb, vma, start, end, details); 1373 unmap_page_range(tlb, vma, start, end, details);
1374 start = end;
1375 } 1374 }
1375 start = end;
1376 } 1376 }
1377 1377
1378 mmu_notifier_invalidate_range_end(mm, start_addr, end_addr); 1378 mmu_notifier_invalidate_range_end(mm, start_addr, end_addr);