From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1755646AbbBPL21 (ORCPT ); Mon, 16 Feb 2015 06:28:27 -0500 Received: from mga02.intel.com ([134.134.136.20]:34232 "EHLO mga02.intel.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1755478AbbBPL2Y (ORCPT ); Mon, 16 Feb 2015 06:28:24 -0500 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.09,587,1418112000"; d="scan'208";a="666990385" From: "Kirill A. Shutemov" To: Andrew Morton Cc: linux-mm@kvack.org, linux-kernel@vger.kernel.org, Rik van Riel , "Kirill A. Shutemov" Subject: [PATCHv2 3/4] mm: move gup() -> posix mlock() error conversion out of __mm_populate Date: Mon, 16 Feb 2015 13:27:53 +0200 Message-Id: <1424086074-200683-4-git-send-email-kirill.shutemov@linux.intel.com> X-Mailer: git-send-email 2.1.4 In-Reply-To: <1424086074-200683-1-git-send-email-kirill.shutemov@linux.intel.com> References: <1424086074-200683-1-git-send-email-kirill.shutemov@linux.intel.com> Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org This is praparation to moving mm_populate()-related code out of mm/mlock.c. Signed-off-by: Kirill A. Shutemov Acked-by: Linus Torvalds Acked-by: David Rientjes --- mm/mlock.c | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/mm/mlock.c b/mm/mlock.c index c3ea18323034..9fbe611b1e93 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(¤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) -- 2.1.4