提交 cd2579d7 编写于 作者: H Hugh Dickins 提交者: Linus Torvalds

[PATCH] hugetlb: fix error return for brk() entering a hugepage region

Commit cb07c9a1 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: NHugh Dickins <hugh@veritas.com>
Signed-off-by: NLinus Torvalds <torvalds@osdl.org>
上级 1f794b60
...@@ -1880,9 +1880,8 @@ unsigned long do_brk(unsigned long addr, unsigned long len) ...@@ -1880,9 +1880,8 @@ unsigned long do_brk(unsigned long addr, unsigned long len)
if ((addr + len) > TASK_SIZE || (addr + len) < addr) if ((addr + len) > TASK_SIZE || (addr + len) < addr)
return -EINVAL; return -EINVAL;
error = is_hugepage_only_range(current->mm, addr, len); if (is_hugepage_only_range(mm, addr, len))
if (error) return -EINVAL;
return error;
flags = VM_DATA_DEFAULT_FLAGS | VM_ACCOUNT | mm->def_flags; flags = VM_DATA_DEFAULT_FLAGS | VM_ACCOUNT | mm->def_flags;
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册