]> www.infradead.org Git - users/jedix/linux-maple.git/commitdiff
mm/mmap: Change vm_brk_flags() to use mm_populate_vma()
authorLiam R. Howlett <Liam.Howlett@Oracle.com>
Fri, 9 Oct 2020 19:57:40 +0000 (15:57 -0400)
committerLiam R. Howlett <Liam.Howlett@Oracle.com>
Tue, 5 Jan 2021 17:30:34 +0000 (12:30 -0500)
Skip searching for the vma to populate after creating it by passing in a pointer.

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

index 8cd6da36ad3fd4f58fc8d0c5db95788eb6c87cc2..d2b8025241969f7daf9cc5aa3915210372676fff 100644 (file)
--- a/mm/mmap.c
+++ b/mm/mmap.c
@@ -3043,6 +3043,7 @@ out:
 int vm_brk_flags(unsigned long addr, unsigned long request, unsigned long flags)
 {
        struct mm_struct *mm = current->mm;
+       struct vm_area_struct *vma = NULL;
        unsigned long len;
        int ret;
        bool populate;
@@ -3056,11 +3057,11 @@ int vm_brk_flags(unsigned long addr, unsigned long request, unsigned long flags)
        if (mmap_write_lock_killable(mm))
                return -EINTR;
 
-       ret = do_brk_flags(NULL, addr, len, flags);
+       ret = do_brk_flags(&vma, addr, len, flags);
        populate = ((mm->def_flags & VM_LOCKED) != 0);
        mmap_write_unlock(mm);
        if (populate && !ret)
-               mm_populate(addr, len);
+               mm_populate_vma(vma, addr, addr + len);
        return ret;
 }
 EXPORT_SYMBOL(vm_brk_flags);