From 083ce466e72c603ba752bf1bd3f3a8bcfd4e0f67 Mon Sep 17 00:00:00 2001 From: "Liam R. Howlett" Date: Fri, 9 Oct 2020 15:57:40 -0400 Subject: [PATCH] mm/mmap: Change vm_brk_flags() to use mm_populate_vma() Skip searching for the vma to populate after creating it by passing in a pointer. Signed-off-by: Liam R. Howlett --- mm/mmap.c | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/mm/mmap.c b/mm/mmap.c index 8cd6da36ad3f..d2b802524196 100644 --- 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); -- 2.50.1