I was seeing the code of __mm_populate (in -next) and I've got a doubt
about the return value. The function __mlock_posix_error_return should
return a proper error for mlock, converting the return value from
__get_user_pages. It checks for EFAULT and ENOMEM. Actually
__get_user_pages could return, in addition, ERESTARTSYS and EHWPOISON.
So it seems to me that we could return to user space not expected value.
I can't see them on the man page. In addition we shouldn't ever return
ERESTARTSYS to the user space but EINTR. According to the man pages
maybe we should return EAGAIN in these cases. Am I missing something?