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>
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;