From mboxrd@z Thu Jan 1 00:00:00 1970 From: SF Markus Elfring Date: Sat, 03 Sep 2016 12:30:02 +0000 Subject: [PATCH 12/17] s390/debug: Use memdup_user() rather than duplicating its implementation Message-Id: List-Id: References: <566ABCD9.1060404@users.sourceforge.net> In-Reply-To: MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit To: linux-s390@vger.kernel.org, David Hildenbrand , Heiko Carstens , Joe Perches , Martin Schwidefsky Cc: LKML , kernel-janitors@vger.kernel.org, Julia Lawall , Paolo Bonzini From: Markus Elfring Date: Fri, 2 Sep 2016 08:45:26 +0200 Reuse existing functionality from memdup_user() instead of keeping duplicate source code. Signed-off-by: Markus Elfring --- arch/s390/kernel/debug.c | 10 +++------- 1 file changed, 3 insertions(+), 7 deletions(-) diff --git a/arch/s390/kernel/debug.c b/arch/s390/kernel/debug.c index 4a12faf..a9fcf72 100644 --- a/arch/s390/kernel/debug.c +++ b/arch/s390/kernel/debug.c @@ -1162,13 +1162,9 @@ debug_get_user_string(const char __user *user_buf, size_t user_len) { char* buffer; - buffer = kmalloc(user_len + 1, GFP_KERNEL); - if (!buffer) - return ERR_PTR(-ENOMEM); - if (copy_from_user(buffer, user_buf, user_len) != 0) { - kfree(buffer); - return ERR_PTR(-EFAULT); - } + buffer = memdup_user(user_buf, user_len + 1); + if (IS_ERR(buffer)) + return PTR_ERR(buffer); /* got the string, now strip linefeed. */ if (buffer[user_len - 1] = '\n') buffer[user_len - 1] = 0; -- 2.9.3