aboutsummaryrefslogtreecommitdiffstats
path: root/mm/memory.c
diff options
context:
space:
mode:
Diffstat (limited to 'mm/memory.c')
-rw-r--r--mm/memory.c9
1 files changed, 5 insertions, 4 deletions
diff --git a/mm/memory.c b/mm/memory.c
index 4b5a282e1107..fbf74112de5b 100644
--- a/mm/memory.c
+++ b/mm/memory.c
@@ -1326,9 +1326,9 @@ static void unmap_single_vma(struct mmu_gather *tlb,
1326 * safe to do nothing in this case. 1326 * safe to do nothing in this case.
1327 */ 1327 */
1328 if (vma->vm_file) { 1328 if (vma->vm_file) {
1329 mutex_lock(&vma->vm_file->f_mapping->i_mmap_mutex); 1329 i_mmap_lock_write(vma->vm_file->f_mapping);
1330 __unmap_hugepage_range_final(tlb, vma, start, end, NULL); 1330 __unmap_hugepage_range_final(tlb, vma, start, end, NULL);
1331 mutex_unlock(&vma->vm_file->f_mapping->i_mmap_mutex); 1331 i_mmap_unlock_write(vma->vm_file->f_mapping);
1332 } 1332 }
1333 } else 1333 } else
1334 unmap_page_range(tlb, vma, start, end, details); 1334 unmap_page_range(tlb, vma, start, end, details);
@@ -2377,12 +2377,12 @@ void unmap_mapping_range(struct address_space *mapping,
2377 details.last_index = ULONG_MAX; 2377 details.last_index = ULONG_MAX;
2378 2378
2379 2379
2380 mutex_lock(&mapping->i_mmap_mutex); 2380 i_mmap_lock_read(mapping);
2381 if (unlikely(!RB_EMPTY_ROOT(&mapping->i_mmap))) 2381 if (unlikely(!RB_EMPTY_ROOT(&mapping->i_mmap)))
2382 unmap_mapping_range_tree(&mapping->i_mmap, &details); 2382 unmap_mapping_range_tree(&mapping->i_mmap, &details);
2383 if (unlikely(!list_empty(&mapping->i_mmap_nonlinear))) 2383 if (unlikely(!list_empty(&mapping->i_mmap_nonlinear)))
2384 unmap_mapping_range_list(&mapping->i_mmap_nonlinear, &details); 2384 unmap_mapping_range_list(&mapping->i_mmap_nonlinear, &details);
2385 mutex_unlock(&mapping->i_mmap_mutex); 2385 i_mmap_unlock_read(mapping);
2386} 2386}
2387EXPORT_SYMBOL(unmap_mapping_range); 2387EXPORT_SYMBOL(unmap_mapping_range);
2388 2388
@@ -3365,6 +3365,7 @@ int handle_mm_fault(struct mm_struct *mm, struct vm_area_struct *vma,
3365 3365
3366 return ret; 3366 return ret;
3367} 3367}
3368EXPORT_SYMBOL_GPL(handle_mm_fault);
3368 3369
3369#ifndef __PAGETABLE_PUD_FOLDED 3370#ifndef __PAGETABLE_PUD_FOLDED
3370/* 3371/*