|
@@ -2819,19 +2819,9 @@ int make_pages_present(unsigned long addr, unsigned long end)
|
|
len = DIV_ROUND_UP(end, PAGE_SIZE) - addr/PAGE_SIZE;
|
|
len = DIV_ROUND_UP(end, PAGE_SIZE) - addr/PAGE_SIZE;
|
|
ret = get_user_pages(current, current->mm, addr,
|
|
ret = get_user_pages(current, current->mm, addr,
|
|
len, write, 0, NULL, NULL);
|
|
len, write, 0, NULL, NULL);
|
|
- if (ret < 0) {
|
|
|
|
- /*
|
|
|
|
- SUS require strange return value to mlock
|
|
|
|
- - invalid addr generate to ENOMEM.
|
|
|
|
- - out of memory should generate EAGAIN.
|
|
|
|
- */
|
|
|
|
- if (ret == -EFAULT)
|
|
|
|
- ret = -ENOMEM;
|
|
|
|
- else if (ret == -ENOMEM)
|
|
|
|
- ret = -EAGAIN;
|
|
|
|
|
|
+ if (ret < 0)
|
|
return ret;
|
|
return ret;
|
|
- }
|
|
|
|
- return ret == len ? 0 : -ENOMEM;
|
|
|
|
|
|
+ return ret == len ? 0 : -1;
|
|
}
|
|
}
|
|
|
|
|
|
#if !defined(__HAVE_ARCH_GATE_AREA)
|
|
#if !defined(__HAVE_ARCH_GATE_AREA)
|