From d7400caab07d9c95f3bda0699728da5c0d5f01fa Mon Sep 17 00:00:00 2001 From: "Liam R. Howlett" Date: Wed, 3 Feb 2021 20:15:18 -0500 Subject: [PATCH] mm/mmap: Remove validate from expand() as the lock isn't held. Add validate_mm() to many other locations. Signed-off-by: Liam R. Howlett --- mm/mmap.c | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/mm/mmap.c b/mm/mmap.c index 15bf76973e31..43ebbc70fc67 100644 --- a/mm/mmap.c +++ b/mm/mmap.c @@ -1099,6 +1099,7 @@ struct vm_area_struct *vma_merge(struct mm_struct *mm, return area; } + validate_mm(mm); return NULL; } @@ -2107,7 +2108,6 @@ int expand_downwards(struct vm_area_struct *vma, } anon_vma_unlock_write(vma->anon_vma); khugepaged_enter_vma_merge(vma, vma->vm_flags); - validate_mm(mm); return error; } @@ -2341,6 +2341,7 @@ static inline unsigned long detach_range(struct mm_struct *mm, if (!vma) return USER_PGTABLES_CEILING; + validate_mm(mm); return vma->vm_start; } @@ -2367,6 +2368,7 @@ int do_mas_align_munmap(struct ma_state *mas, struct vm_area_struct *vma, struct ma_state tmp; /* we have start < vma->vm_end */ + validate_mm(mm); /* arch_unmap() might do unmaps itself. */ arch_unmap(mm, start, end); @@ -2465,6 +2467,7 @@ int do_mas_align_munmap(struct ma_state *mas, struct vm_area_struct *vma, mtree_destroy(&mt_detach); + validate_mm(mm); return downgrade ? 1 : 0; } -- 2.50.1