From 5c6a3e5646baab8d917435a866afde39670f1298 Mon Sep 17 00:00:00 2001 From: "Liam R. Howlett" Date: Thu, 21 Apr 2022 18:02:08 -0400 Subject: [PATCH] convert do_brk_flags to use prealloc Signed-off-by: Liam R. Howlett --- mm/mmap.c | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/mm/mmap.c b/mm/mmap.c index f38e998b8c32..784c325288eb 100644 --- a/mm/mmap.c +++ b/mm/mmap.c @@ -3035,6 +3035,9 @@ static int do_brk_flags(struct ma_state *mas, struct vm_area_struct *vma, vma->vm_pgoff = addr >> PAGE_SHIFT; vma->vm_flags = flags; vma->vm_page_prot = vm_get_page_prot(flags); + if (mas_preallocate(mas, vma, GFP_KERNEL)) + goto mas_alloc_fail; + if (vma->vm_file) { mapping = vma->vm_file->f_mapping; i_mmap_lock_write(mapping); @@ -3056,6 +3059,8 @@ out: validate_mm(mm); return 0; +mas_alloc_fail: + vm_area_free(vma); vma_alloc_fail: vm_unacct_memory(len >> PAGE_SHIFT); return -ENOMEM; -- 2.49.0