[PATCH] hugetlb: fix error return for brk() entering a hugepage region
authorHugh Dickins <hugh@veritas.com>
Tue, 14 Nov 2006 13:43:38 +0000 (13:43 +0000)
committerLinus Torvalds <torvalds@woody.osdl.org>
Tue, 14 Nov 2006 23:15:01 +0000 (15:15 -0800)
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 <hugh@veritas.com>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
mm/mmap.c

index 2526463..7b40abd 100644 (file)
--- 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;