mirror of https://gitee.com/openkylin/linux.git
mm: move gup() -> posix mlock() error conversion out of __mm_populate
This is praparation to moving mm_populate()-related code out of mm/mlock.c. Signed-off-by: Kirill A. Shutemov <kirill.shutemov@linux.intel.com> Acked-by: Linus Torvalds <torvalds@linux-foundation.org> Acked-by: David Rientjes <rientjes@google.com> Cc: Michel Lespinasse <walken@google.com> Cc: Rik van Riel <riel@redhat.com> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
This commit is contained in:
parent
fc05f56621
commit
c561259ca7
11
mm/mlock.c
11
mm/mlock.c
|
@ -712,7 +712,6 @@ int __mm_populate(unsigned long start, unsigned long len, int ignore_errors)
|
|||
ret = 0;
|
||||
continue; /* continue at next VMA */
|
||||
}
|
||||
ret = __mlock_posix_error_return(ret);
|
||||
break;
|
||||
}
|
||||
nend = nstart + ret * PAGE_SIZE;
|
||||
|
@ -750,9 +749,13 @@ SYSCALL_DEFINE2(mlock, unsigned long, start, size_t, len)
|
|||
error = do_mlock(start, len, 1);
|
||||
|
||||
up_write(¤t->mm->mmap_sem);
|
||||
if (!error)
|
||||
error = __mm_populate(start, len, 0);
|
||||
return error;
|
||||
if (error)
|
||||
return error;
|
||||
|
||||
error = __mm_populate(start, len, 0);
|
||||
if (error)
|
||||
return __mlock_posix_error_return(error);
|
||||
return 0;
|
||||
}
|
||||
|
||||
SYSCALL_DEFINE2(munlock, unsigned long, start, size_t, len)
|
||||
|
|
Loading…
Reference in New Issue