From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1753890AbcHTRcN (ORCPT ); Sat, 20 Aug 2016 13:32:13 -0400 Received: from mout.web.de ([217.72.192.78]:57540 "EHLO mout.web.de" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1753040AbcHTRcM (ORCPT ); Sat, 20 Aug 2016 13:32:12 -0400 Subject: [PATCH] s390/tape: Use memdup_user() rather than duplicating its implementation References: <566ABCD9.1060404@users.sourceforge.net> Cc: LKML , kernel-janitors@vger.kernel.org, Julia Lawall To: linux-s390@vger.kernel.org, Heiko Carstens , Martin Schwidefsky From: SF Markus Elfring Message-ID: <6b4cac6d-415c-b1e0-9b40-0344ac6f0351@users.sourceforge.net> Date: Sat, 20 Aug 2016 19:32:03 +0200 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:45.0) Gecko/20100101 Thunderbird/45.2 MIME-Version: 1.0 In-Reply-To: <566ABCD9.1060404@users.sourceforge.net> Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 7bit X-Provags-ID: V03:K0:jzVMDtwamSjqDbaj1EKDhqfreZUmGPRbt5XzbqfAvHf8/tMyx11 kHSVbRFTcRLXF6ZZjbeu8g0mMNWD7YLOFHhDlXrTwmBGBJk2BLECMxYorC6U7PQIa1Ekp8S CHH89ktcYxodxeDZw6ty9FOa7o+kfi0OWFWw8D3AweJKjeDhIRHi3UzNG+eb6mvcBE8vqzT saF0R6q9TMUup0tLc9/7Q== X-UI-Out-Filterresults: notjunk:1;V01:K0:X8ElTzKj0fQ=:R4jFNxgciPYiUKJZtIiuNR og/+RfsADfWAyYyZE8srwFvIKJt7NrrRiOZ3IAf4GtP4t5O+/mct12M8JoyZ+NNsgdUkusTq6 UB1UjbtSkX7meUNDWW6kOtr6+QUY/PSBuRvp2Oc+NFpmz/XpwbhKNMlb0F0T57xHyTY+OwqkH TLf88htg4mY7JZzz9xW2NO62S6niujD25CuMx4/YRPL6Qn0gW6USE4NA3STxfKuVhOZduvBi+ kKlZOZEsLRH99SH6JX5oidisaDyD/R5WiOyCCt9S06HAf6tGle1jwI8tR3oMU9ZDWLJX4DZRv JeVP9tOTJEUKkA4nDgh040gl7O+Kj1nLF1sHhXmBIOWrZD8VuI+NRVWa3HCXp93CUWE8E4rCM PEZQspXs24JskMb0mujNSFEXj+RPOnRH8WuDcP8tRV8LQH8HVUJIiGAjgsJltzdAu7LA1KcGT 6rudNNvRjbgCuQpgB1kU86Nxlj5xGOpbaJy6WTVpYrMaGIRm/tro3XK+P7oPeVJ13beKeeQh8 k52zb+jL2hpx/bSIiVaueroHUhTOAFQbiWovVWDMb5sh4Btz04dF71C1ULxge/91Rg0lTX8kl Pgy6th+GmwwhPhgOPpLDQ6deLt9p30sv/gzO6gs/KWuJCOr6O1zfOIfyWnp8wH/I6NYOl/xq2 ygCpVxpqBpWaUSOFWWqMgadRlD+h4HPR6R33pWOTpoPiZQOmlEz4BkaRgug8Rsdz8wvRCNSZ1 x3ynDmSp/jTdqV7HgocbeKKP1rstDojf7Y8dGcO+VIE2S+X9b8N0WZd0IDVNrCYiJThN/wU3t C7O8L0M Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org From: Markus Elfring Date: Sat, 20 Aug 2016 19:25:34 +0200 Reuse existing functionality from memdup_user() instead of keeping duplicate source code. This issue was detected by using the Coccinelle software. Signed-off-by: Markus Elfring --- drivers/s390/char/tape_3590.c | 11 +++-------- 1 file changed, 3 insertions(+), 8 deletions(-) diff --git a/drivers/s390/char/tape_3590.c b/drivers/s390/char/tape_3590.c index d3d1936..e352047 100644 --- a/drivers/s390/char/tape_3590.c +++ b/drivers/s390/char/tape_3590.c @@ -312,15 +312,10 @@ static int tape_3592_ioctl_kekl_set(struct tape_device *device, return -ENOSYS; if (!crypt_enabled(device)) return -EUNATCH; - ext_kekls = kmalloc(sizeof(*ext_kekls), GFP_KERNEL); - if (!ext_kekls) - return -ENOMEM; - if (copy_from_user(ext_kekls, (char __user *)arg, sizeof(*ext_kekls))) { - rc = -EFAULT; - goto out; - } + ext_kekls = memdup_user((char __user *)arg, sizeof(*ext_kekls)); + if (IS_ERR(ext_kekls)) + return PTR_ERR(ext_kekls); rc = tape_3592_kekl_set(device, ext_kekls); -out: kfree(ext_kekls); return rc; } -- 2.9.3