]> 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>
Fri, 30 Oct 2020 19:13:04 +0000 (15:13 -0400)
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 4f5e0a0ad5510770d6c3735363e32241f2391e4b..c0ec7ea4ffd265466b2642d6f9a1cf90b28dbcfd 100644 (file)
--- a/mm/mmap.c
+++ b/mm/mmap.c
@@ -3035,6 +3035,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;
@@ -3048,11 +3049,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);