This is praparation to moving mm_populate()-related code out of
mm/mlock.c.

Signed-off-by: Kirill A. Shutemov <[email protected]>
---
 mm/mlock.c | 11 +++++++----
 1 file changed, 7 insertions(+), 4 deletions(-)

diff --git a/mm/mlock.c b/mm/mlock.c
index c3ea18323034..0837fdb26047 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)
                                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(&current->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)
-- 
2.1.4

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [email protected]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Reply via email to