OSDN Git Service
(root)
/
android-x86
/
kernel.git
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
| inline |
side by side
(parent:
038c7aa
)
VM: can't go through the inner loop in unmap_vmas() more than once...
author
Al Viro
<viro@zeniv.linux.org.uk>
Mon, 5 Mar 2012 18:35:49 +0000
(13:35 -0500)
committer
Al Viro
<viro@zeniv.linux.org.uk>
Wed, 21 Mar 2012 01:39:50 +0000
(21:39 -0400)
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
mm/memory.c
patch
|
blob
|
history
diff --git
a/mm/memory.c
b/mm/memory.c
index
1b6712a
..
f2317c8
100644
(file)
--- a/
mm/memory.c
+++ b/
mm/memory.c
@@
-1354,7
+1354,7
@@
unsigned long unmap_vmas(struct mmu_gather *tlb,
if (unlikely(is_pfn_mapping(vma)))
untrack_pfn_vma(vma, 0, 0);
-
while
(start != end) {
+
if
(start != end) {
if (unlikely(is_vm_hugetlb_page(vma))) {
/*
* It is undesirable to test vma->vm_file as it
@@
-1371,8
+1371,8
@@
unsigned long unmap_vmas(struct mmu_gather *tlb,
unmap_hugepage_range(vma, start, end, NULL);
} else
unmap_page_range(tlb, vma, start, end, details);
- start = end;
}
+ start = end;
}
mmu_notifier_invalidate_range_end(mm, start_addr, end_addr);