]> www.infradead.org Git - users/jedix/linux-maple.git/commitdiff
mm/mmap: Remove validate from expand() as the lock isn't held.
authorLiam R. Howlett <Liam.Howlett@Oracle.com>
Thu, 4 Feb 2021 01:15:18 +0000 (20:15 -0500)
committerLiam R. Howlett <Liam.Howlett@Oracle.com>
Thu, 4 Feb 2021 01:15:18 +0000 (20:15 -0500)
Add validate_mm() to many other locations.

Signed-off-by: Liam R. Howlett <Liam.Howlett@Oracle.com>
mm/mmap.c

index 15bf76973e3167c456dbc2fe1f5e06859a193e67..43ebbc70fc6788fccebe82c6de5ebf2b3785c141 100644 (file)
--- 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;
 }