提交 8b2a1238 编写于 作者: A Al Viro

VM: can't go through the inner loop in unmap_vmas() more than once...

Signed-off-by: NAl Viro <viro@zeniv.linux.org.uk>
上级 038c7aa1
...@@ -1354,7 +1354,7 @@ unsigned long unmap_vmas(struct mmu_gather *tlb, ...@@ -1354,7 +1354,7 @@ unsigned long unmap_vmas(struct mmu_gather *tlb,
if (unlikely(is_pfn_mapping(vma))) if (unlikely(is_pfn_mapping(vma)))
untrack_pfn_vma(vma, 0, 0); untrack_pfn_vma(vma, 0, 0);
while (start != end) { if (start != end) {
if (unlikely(is_vm_hugetlb_page(vma))) { if (unlikely(is_vm_hugetlb_page(vma))) {
/* /*
* It is undesirable to test vma->vm_file as it * It is undesirable to test vma->vm_file as it
...@@ -1371,8 +1371,8 @@ unsigned long unmap_vmas(struct mmu_gather *tlb, ...@@ -1371,8 +1371,8 @@ unsigned long unmap_vmas(struct mmu_gather *tlb,
unmap_hugepage_range(vma, start, end, NULL); unmap_hugepage_range(vma, start, end, NULL);
} else } else
unmap_page_range(tlb, vma, start, end, details); unmap_page_range(tlb, vma, start, end, details);
start = end;
} }
start = end;
} }
mmu_notifier_invalidate_range_end(mm, start_addr, end_addr); mmu_notifier_invalidate_range_end(mm, start_addr, end_addr);
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册