summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorHugh Dickins <hugh@veritas.com>2006-11-14 13:43:38 +0000
committerLinus Torvalds <torvalds@woody.osdl.org>2006-11-14 15:15:01 -0800
commitcd2579d7aa7bfc966cc271a88e77f8cfc3b0b7ba (patch)
tree47687e0e88bf5f5ea266112490a63f55085b8c18
parent1f794b6082a5ff88f7c48d1634056026acf806f4 (diff)
downloadlinux-cd2579d7aa7bfc966cc271a88e77f8cfc3b0b7ba.tar.gz
linux-cd2579d7aa7bfc966cc271a88e77f8cfc3b0b7ba.tar.bz2
linux-cd2579d7aa7bfc966cc271a88e77f8cfc3b0b7ba.zip
[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 <hugh@veritas.com> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
-rw-r--r--mm/mmap.c5
1 files changed, 2 insertions, 3 deletions
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;