From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1753182AbcHUNzl (ORCPT ); Sun, 21 Aug 2016 09:55:41 -0400 Received: from mout.web.de ([217.72.192.78]:56517 "EHLO mout.web.de" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1752809AbcHUNzj (ORCPT ); Sun, 21 Aug 2016 09:55:39 -0400 Subject: [PATCH 1/7] USB-iowarrior: Use memdup_user() rather than duplicating its implementation To: linux-usb@vger.kernel.org, Greg Kroah-Hartman , Josh Boyer , Wolfram Sang References: <566ABCD9.1060404@users.sourceforge.net> <5f6dd0dd-820e-c3d3-a88d-a16ad5e64aa8@users.sourceforge.net> Cc: LKML , kernel-janitors@vger.kernel.org, Julia Lawall From: SF Markus Elfring Message-ID: Date: Sun, 21 Aug 2016 15:55:19 +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: <5f6dd0dd-820e-c3d3-a88d-a16ad5e64aa8@users.sourceforge.net> Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 7bit X-Provags-ID: V03:K0:Ep2fwBdU9/r1aJHzLz0s8eyG9pMOd/jv7oV5aKSwmSMTWojWfqr vwK1pOaA4xhanElj/N1AzodZiEZ1XzM7sIPRFF6u4GlHKjQrvNeKCVgt8w1j7sVrEMsGQwg LmNhtRXRyQXnyWFfccJj4qLs9+/FzRE0hVJweRHxaY7ylzRLx5v+lI2UdRrYHROKCVhCVDk Mn3qEH/FZUf5lMyPj3ruQ== X-UI-Out-Filterresults: notjunk:1;V01:K0:n/bpqAEQIgw=:ECWvCAB4xrYO8u9azVwZCl zt8foHwWPiTiXVEnubyWSW6RzmEE6Ewj6+jZjiiw6v3TrRD6aehD5Ot5zV1mcv/KFKmgSAAW0 03T1E5xPdBZrEX6udWYjizvclnoXA77cD0HSwdp/snaDKqwtaQQgqm/yUoQ1D2s9oOzZUVTtK 0Z+nQx7Yob7tM6G7pqN0A65iFu0JEillhbjjNgp1uTzaJsgTgWVZCitRCQQhbMO76cQ7X20gk 1QPQdn5wWdSHf+z6c7Q2skMDBw+VOmYzwK7+r6aBUP3K1SJig8o62pFAEYOQicq2ig7klicyO r6x+vLB6LfqYWCyHgAVw2lnNN+/bSjWEYKTpRB6j81gtwT49sp/KkdNjrN9in0ZT5UhV+MeDG OWMZqX49CDHH/rqIXupGVQECdAjbNiuMuc03QguH0TtQmROenLalNsC68RdG9QkoSDtHh+5HP vf0ODisK+Ki5S2dstYENYh1/HdlE/522Ty4TmhYunypTUyeILRD1z8ippugsZXJttAZtb9U6c KsvJu50NpALZ5iFd01C0r+HNLQevl8dugyXsD+HJsVOT2eEVfcI17gTKwj3yQ8bvl3FcH+d54 TUKGx4Ro5BX2NrDxIWqyeEKjaqryaU2EWqnBWEHqVex3RfvULGXAQPn0t+hi3R0kHkYQEkN7Y jgz+7Ymjp7/xbRfqS3YQPXtzcWG6SnxrmYSNukoM52lH6CLDXibb6EqPSnV7hraaF1kHL5sAx xNQj+yo4VO+hJVctwCBF1j36WPk9Yo6zsKRg7ruV4Ga5IcsG2odjTfB0Q0h6ZIacK5UNM+JpI gCaPNNp Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org From: Markus Elfring Date: Sun, 21 Aug 2016 12:48:27 +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/usb/misc/iowarrior.c | 11 +++-------- 1 file changed, 3 insertions(+), 8 deletions(-) diff --git a/drivers/usb/misc/iowarrior.c b/drivers/usb/misc/iowarrior.c index 7defa34..8ae01b0 100644 --- a/drivers/usb/misc/iowarrior.c +++ b/drivers/usb/misc/iowarrior.c @@ -368,14 +368,9 @@ static ssize_t iowarrior_write(struct file *file, case USB_DEVICE_ID_CODEMERCS_IOWPV2: case USB_DEVICE_ID_CODEMERCS_IOW40: /* IOW24 and IOW40 use a synchronous call */ - buf = kmalloc(count, GFP_KERNEL); - if (!buf) { - retval = -ENOMEM; - goto exit; - } - if (copy_from_user(buf, user_buffer, count)) { - retval = -EFAULT; - kfree(buf); + buf = memdup_user(user_buffer, count); + if (IS_ERR(buf)) { + retval = PTR_ERR(buf); goto exit; } retval = usb_set_report(dev->interface, 2, 0, buf, count); -- 2.9.3