summaryrefslogtreecommitdiffstats
path: root/mm/mlock.c
diff options
context:
space:
mode:
authorKirill A. Shutemov <kirill.shutemov@linux.intel.com>2015-04-14 18:44:42 -0400
committerLinus Torvalds <torvalds@linux-foundation.org>2015-04-14 19:49:00 -0400
commitc561259ca79a88be540a75e84b45d49123014aa4 (patch)
tree4e5e814cc4353bc0410d1ae7aebb6ecb1034eb36 /mm/mlock.c
parentfc05f566210fa57f8e68ead8762b8dbb3f1c61e3 (diff)
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>
Diffstat (limited to 'mm/mlock.c')
-rw-r--r--mm/mlock.c11
1 files changed, 7 insertions, 4 deletions
diff --git a/mm/mlock.c b/mm/mlock.c
index 9d0f3cd716c5..0214263fca45 100644
--- a/mm/mlock.c
+++ b/mm/mlock.c
@@ -712,7 +712,6 @@ int __mm_populate(unsigned long start, unsigned long len, int ignore_errors)
712 ret = 0; 712 ret = 0;
713 continue; /* continue at next VMA */ 713 continue; /* continue at next VMA */
714 } 714 }
715 ret = __mlock_posix_error_return(ret);
716 break; 715 break;
717 } 716 }
718 nend = nstart + ret * PAGE_SIZE; 717 nend = nstart + ret * PAGE_SIZE;
@@ -750,9 +749,13 @@ SYSCALL_DEFINE2(mlock, unsigned long, start, size_t, len)
750 error = do_mlock(start, len, 1); 749 error = do_mlock(start, len, 1);
751 750
752 up_write(&current->mm->mmap_sem); 751 up_write(&current->mm->mmap_sem);
753 if (!error) 752 if (error)
754 error = __mm_populate(start, len, 0); 753 return error;
755 return error; 754
755 error = __mm_populate(start, len, 0);
756 if (error)
757 return __mlock_posix_error_return(error);
758 return 0;
756} 759}
757 760
758SYSCALL_DEFINE2(munlock, unsigned long, start, size_t, len) 761SYSCALL_DEFINE2(munlock, unsigned long, start, size_t, len)