Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1751558AbbLKFk5 (ORCPT ); Fri, 11 Dec 2015 00:40:57 -0500 Received: from mail-db3on0134.outbound.protection.outlook.com ([157.55.234.134]:34528 "EHLO emea01-db3-obe.outbound.protection.outlook.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S1750864AbbLKFkz convert rfc822-to-8bit (ORCPT ); Fri, 11 Dec 2015 00:40:55 -0500 From: "Pathak, Rahul (R.)" To: "gregkh@linuxfoundation.org" , "stern@rowland.harvard.edu" , "kborer@gmail.com" , "chasemetzger15@gmail.com" , "dan.carpenter@oracle.com" , "linux-usb@vger.kernel.org" , "linux-kernel@vger.kernel.org" , "Babu, Viswanathan (V.)" Subject: [PATCH v2 RESEND] usb: Use memdup_user to reuse the code Thread-Topic: [PATCH v2 RESEND] usb: Use memdup_user to reuse the code Thread-Index: AQHRM9Z+ZlP5Km4p0U2MN4jbpeUJ8g== Date: Fri, 11 Dec 2015 05:40:51 +0000 Message-ID: <20151211054033.GA4952@visteon.com> Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: authentication-results: spf=none (sender IP is ) smtp.mailfrom=rpathak@visteon.com; x-ms-exchange-messagesentrepresentingtype: 1 x-originating-ip: [202.0.77.197] x-microsoft-exchange-diagnostics: 1;AMSPR06MB456;5:iz8nVOf/3mhaWGN12twHjOH+jR3sM3DfRKSBmv2KkKoCMNd6CGLJO69lvlTInHMCXgs1lp91fejSGT/ehcO0HINEUhjQ77cV/d9ml9KOsuun6O7YzBlnHlg5S4Dgu6TfyL87ksGQzlkZBRbNPCJCIA==;24:tTe08Ig7uICrZaHWoNj9YpiI/O0RDgZZGQ/crGh3LGsf/kQcYMn/f/A7qGvOhPPfuOcM2sLdKnSrRistRNLIOIkD1NjsPY9St+GYeMajMA8= x-microsoft-antispam: UriScan:;BCL:0;PCL:0;RULEID:;SRVR:AMSPR06MB456; x-microsoft-antispam-prvs: x-exchange-antispam-report-test: UriScan:(208512329853888); x-exchange-antispam-report-cfa-test: BCL:0;PCL:0;RULEID:(601004)(2401047)(520078)(8121501046)(5005006)(10201501046)(3002001);SRVR:AMSPR06MB456;BCL:0;PCL:0;RULEID:;SRVR:AMSPR06MB456; x-forefront-prvs: 0787459938 x-forefront-antispam-report: SFV:NSPM;SFS:(10019020)(6009001)(199003)(189002)(11100500001)(5001960100002)(81156007)(33656002)(19580405001)(1220700001)(97736004)(122556002)(40100003)(189998001)(66066001)(36756003)(102836003)(107886002)(5001770100001)(106356001)(1096002)(106116001)(5004730100002)(19580395003)(6116002)(1076002)(50986999)(3846002)(2201001)(2900100001)(2171001)(92566002)(77096005)(4001450100002)(586003)(54356999)(105586002)(87936001)(86362001)(5002640100001)(2501003)(229853001)(10400500002)(101416001)(5008740100001);DIR:OUT;SFP:1102;SCL:1;SRVR:AMSPR06MB456;H:AMSPR06MB582.eurprd06.prod.outlook.com;FPR:;SPF:None;PTR:InfoNoRecords;A:1;MX:1;LANG:en; Content-Type: text/plain; charset="us-ascii" Content-ID: <0ACBF877587E474FA5FCB1463CEF7405@eurprd06.prod.outlook.com> Content-Transfer-Encoding: 8BIT MIME-Version: 1.0 X-OriginatorOrg: visteon.com X-MS-Exchange-CrossTenant-originalarrivaltime: 11 Dec 2015 05:40:51.7993 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: 7a147aaf-01ec-498c-80a1-e34a8c63c548 X-MS-Exchange-Transport-CrossTenantHeadersStamped: AMSPR06MB456 Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 1473 Lines: 45 From: Rahul Pathak Fixing coccicheck warning which recommends to use memdup_user instead to reimplement its code, using memdup_user simplifies the code ./drivers/usb/core/devio.c:1398:11-18: WARNING opportunity for memdup_user Signed-off-by: Rahul Pathak --- Changes after v1: setting isopkt=NULL for proper kfree() call --- drivers/usb/core/devio.c | 9 ++++----- 1 file changed, 4 insertions(+), 5 deletions(-) diff --git a/drivers/usb/core/devio.c b/drivers/usb/core/devio.c index 38ae877c..844407c 100644 --- a/drivers/usb/core/devio.c +++ b/drivers/usb/core/devio.c @@ -1395,11 +1395,10 @@ static int proc_do_submiturb(struct usb_dev_state *ps, struct usbdevfs_urb *uurb number_of_packets = uurb->number_of_packets; isofrmlen = sizeof(struct usbdevfs_iso_packet_desc) * number_of_packets; - isopkt = kmalloc(isofrmlen, GFP_KERNEL); - if (!isopkt) - return -ENOMEM; - if (copy_from_user(isopkt, iso_frame_desc, isofrmlen)) { - ret = -EFAULT; + isopkt = memdup_user(iso_frame_desc, isofrmlen); + if (IS_ERR(isopkt)) { + ret = PTR_ERR(isopkt); + isopkt = NULL; goto error; } for (totlen = u = 0; u < number_of_packets; u++) { -- 1.9.1 -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/