From: Hugh Dickins Date: Tue, 14 Nov 2006 13:43:38 +0000 (+0000) Subject: [PATCH] hugetlb: fix error return for brk() entering a hugepage region X-Git-Tag: v2.6.19-rc6~10 X-Git-Url: https://asedeno.scripts.mit.edu/gitweb/?a=commitdiff_plain;h=cd2579d7aa7bfc966cc271a88e77f8cfc3b0b7ba;p=linux.git [PATCH] hugetlb: fix error return for brk() entering a hugepage region Commit cb07c9a1864a8eac9f3123e428100d5b2a16e65a causes the wrong return value. is_hugepage_only_range() is a boolean, so we should return -EINVAL rather than 1. Also - we can use "mm" instead of looking up "current->mm" again. Signed-off-by: Hugh Dickins Signed-off-by: Linus Torvalds --- diff --git a/mm/mmap.c b/mm/mmap.c index 2526463c99a7..7b40abd7cba2 100644 --- a/mm/mmap.c +++ b/mm/mmap.c @@ -1880,9 +1880,8 @@ unsigned long do_brk(unsigned long addr, unsigned long len) if ((addr + len) > TASK_SIZE || (addr + len) < addr) return -EINVAL; - error = is_hugepage_only_range(current->mm, addr, len); - if (error) - return error; + if (is_hugepage_only_range(mm, addr, len)) + return -EINVAL; flags = VM_DATA_DEFAULT_FLAGS | VM_ACCOUNT | mm->def_flags;