From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1753580AbcHTIcb (ORCPT ); Sat, 20 Aug 2016 04:32:31 -0400 Received: from mout.web.de ([212.227.15.4]:56549 "EHLO mout.web.de" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751640AbcHTIc2 (ORCPT ); Sat, 20 Aug 2016 04:32:28 -0400 To: netdev@vger.kernel.org, Jan Kasprzak Cc: LKML , kernel-janitors@vger.kernel.org, Julia Lawall , Nicolas Palix From: SF Markus Elfring Subject: [PATCH] wan-cosa: Use memdup_user() rather than duplicating its implementation Message-ID: <5d335025-5f52-d4b6-0b60-89a2fd354694@users.sourceforge.net> Date: Sat, 20 Aug 2016 10:25:32 +0200 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:45.0) Gecko/20100101 Thunderbird/45.2 MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 7bit X-Provags-ID: V03:K0:KTEAqzXDjE0PPXg1GNIXBgD9oC3DDSgTMKvDff70WSr/3hPyCQm kWAB08JlxgwCJSewL0Wgp9kQCQfofAoH1Slcp4lchhp5caO6jxOq71ktGFUVcZd9Dgz0+j1 xvYqByenUEmDHXG/pRryQmRFUM4uvbq5nHNDvcTxG2r+ipas2zHCXRL0OHxyqV7NUhxWMBO 5E7wkBAaJ90okcVDZNrUw== X-UI-Out-Filterresults: notjunk:1;V01:K0:SgMdN0F9DWM=:W9zSFcdZkrHDyG/wuQLav6 O0nIS3rP9BLH76x0J3XiDh/dr25UV1e5dERFT/lG0QYpJERlodsuJ4eK3djON7RN2UOXDsmCA SKCLrTK3Ls934r6UAoFMOJn6MA9RhZvHDsHvz6onwFWHNWEFPz9lY8lFR5jyc0oOH6wRXyTmh XuNdedFkNKo2DRwVDgMOdFH0Wsi+h1vh6moHjKUPIu2Drt37pIX734x3P8360plpx/QbAJ9fy ihc6IML06nFHe2gmUm6sK+ni1e7ivjlU+dzxhcEL+7VfAPUMwMGmQUUGmuYX84HgwhXW+nt2Q 3tkwvEZQeh+NiwWgY7USFx9sIOyV6GcPTcIt65j2GodayKRrtm0o/tC1gdg24Z9yfeqfIWVuX TsgzRe6KfF9/qHxKcfQvlHTPScCSjvcVKjIavAdrQCC2DjUiubJGml2drkDRqVzGc2jla6qAW URxj3BVxWlyDqsvLRlcjLDWqQILyJKzh8C8NeJV/qhdcBfCXlUWQ1rXoMbMplK1gh9k+HCLSg Hd23Rt/Qbb+5wnHTorPgv7uj5EWyZSKY1wcOdw5NbTx5SPNkocGOiKRI3tlnm4c+6gDMz09fE vl5JfmAV26maaTjiDrwxpXpCpHbCsG0eyJ7XqqjxV8+1Wj+yYaZ8zyl2CxRyghfOj1sJKyf1L Emqw1A2tEiIcGA3yjIhFYmnTt+htTgJrUA8aAi74dWvjfzBNocggwrecdsgcff8kEBe8h5Wcp oUzPL5Efwk5H5ilpkXHq+cn32QAl+S0Q/ATOLsjgzQFIeOEqQU9rnCsa6ZsF1PO883frbg5K4 BTiAu2l 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 10:10:12 +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/net/wan/cosa.c | 12 +++--------- 1 file changed, 3 insertions(+), 9 deletions(-) diff --git a/drivers/net/wan/cosa.c b/drivers/net/wan/cosa.c index b87fe0a..02f5809 100644 --- a/drivers/net/wan/cosa.c +++ b/drivers/net/wan/cosa.c @@ -875,16 +875,10 @@ static ssize_t cosa_write(struct file *file, if (count > COSA_MTU) count = COSA_MTU; - /* Allocate the buffer */ - kbuf = kmalloc(count, GFP_KERNEL|GFP_DMA); - if (kbuf == NULL) { + kbuf = memdup_user(buf, count); + if (IS_ERR(kbuf)) { up(&chan->wsem); - return -ENOMEM; - } - if (copy_from_user(kbuf, buf, count)) { - up(&chan->wsem); - kfree(kbuf); - return -EFAULT; + return PTR_ERR(kbuf); } chan->tx_status=0; cosa_start_tx(chan, kbuf, count); -- 2.9.3