From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1753745AbcHTGBv (ORCPT ); Sat, 20 Aug 2016 02:01:51 -0400 Received: from mout.web.de ([217.72.192.78]:51517 "EHLO mout.web.de" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1752857AbcHTGBt (ORCPT ); Sat, 20 Aug 2016 02:01:49 -0400 Subject: [PATCH] mlx5/core: 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-rdma@vger.kernel.org, netdev@vger.kernel.org, Leon Romanovsky , Matan Barak From: SF Markus Elfring Message-ID: Date: Sat, 20 Aug 2016 08:01:22 +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:+UO0H987xkzSDLhOGL+qyQLY2xpAOFXDkPX3k4q0AGIAX0M2KSN 8mQ5M1dMId6JxX7SG2eiW36W8rp543r772mItVunjk0vBEKVMb7w3EkHM4Ksr+RDnUKkjz1 nve9bloKUMD5W+XHGxp3GC87AmFhxQtgMoLoEL8uUHwLM0ZKQ5+WUw3hcVM92FI1jC7dLPM 13W3E4VcXylUdEjPCyrNA== X-UI-Out-Filterresults: notjunk:1;V01:K0:6h8jRE9JEjU=:HUDy17fijqRvzvdCuQpioj lD1yoTQgTgKhmkEVlwmaMlO0n1RDTw8C9fUyz3mHtfg6VPcb+DWAU5Gp6CbDMoUfPoieh4hfS p7IQF61tgmnEcWUVq8LG++0MlhjnWJri51MhWquSHHWkvbo87QPB4z5LCuMsGTJ6MZdvkT2bY My0NG+zTW+pnjVlrcvhqIYujRLKVQTrW2jBrcsSqsFeHTJCm6QxcCK7KrHk37bR9uK40UVTVP 1RXzU4/8lZMHYhkzIetEwcJ47moOQxzGn6bNON806y/s6XE/LO/yEjF/ZQI3LUslTbsYdNshA gbzDo8mTeCnuFu7nVUvSh/5zy5Np97tCrTEHpnvfpMCY5fwFBNoU39GVsf/yHybFOaXAsS0jU PeMgdpLYfUIE9zS5bbF0SK+WDjJXdOpIpU0FVNjmLstlvAwdIrIqSefcp2vaicRcFNije5+mz 7vVAv8DyqrwjwaZyOnD1iFdtuPJTgpQjOHu8FjVvxXFt8mY5dNW5SwCSSI0b4QWYADiAvoL5s G5mrbAgGedlQZ36yJxNy7gFix313bjUtsOZuAesJohN2ekwfE1vtfGsZYjiwNPy2zqwh1ovVB MPoMLIdD+nK1ePD7GbfBfR/jJbjFtvU73ckNQGcMAZe8UnG6rrhmAzGsVazwwJNC94CWfrPNZ q7d3cUpU6UcFCsOkYB+6kf6WER04zFvfspv9mVm352f/P7BqjPPzmMzQN0OFCxWQOrrevnC6B wQImbfotOYnGxyfjgmLcJILlggHJT6yid7HO3COSATvaLY8XE7W3z9ZxNuyjUedoKjbJg7LJC 2pRUrgy 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 07:50:09 +0200 * Reuse existing functionality from memdup_user() instead of keeping duplicate source code. This issue was detected by using the Coccinelle software. * Return directly if this copy operation failed. Signed-off-by: Markus Elfring --- drivers/net/ethernet/mellanox/mlx5/core/cmd.c | 17 +++-------------- 1 file changed, 3 insertions(+), 14 deletions(-) diff --git a/drivers/net/ethernet/mellanox/mlx5/core/cmd.c b/drivers/net/ethernet/mellanox/mlx5/core/cmd.c index 6388bc0..bb89f04 100644 --- a/drivers/net/ethernet/mellanox/mlx5/core/cmd.c +++ b/drivers/net/ethernet/mellanox/mlx5/core/cmd.c @@ -1132,7 +1132,6 @@ static ssize_t data_write(struct file *filp, const char __user *buf, struct mlx5_core_dev *dev = filp->private_data; struct mlx5_cmd_debug *dbg = &dev->cmd.dbg; void *ptr; - int err; if (*pos != 0) return -EINVAL; @@ -1140,25 +1139,15 @@ static ssize_t data_write(struct file *filp, const char __user *buf, kfree(dbg->in_msg); dbg->in_msg = NULL; dbg->inlen = 0; - - ptr = kzalloc(count, GFP_KERNEL); - if (!ptr) - return -ENOMEM; - - if (copy_from_user(ptr, buf, count)) { - err = -EFAULT; - goto out; - } + ptr = memdup_user(buf, count); + if (IS_ERR(ptr)) + return PTR_ERR(ptr); dbg->in_msg = ptr; dbg->inlen = count; *pos = count; return count; - -out: - kfree(ptr); - return err; } static ssize_t data_read(struct file *filp, char __user *buf, size_t count, -- 2.9.3