From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-7.0 required=3.0 tests=HEADER_FROM_DIFFERENT_DOMAINS, INCLUDES_PATCH,MAILING_LIST_MULTI,SIGNED_OFF_BY,SPF_HELO_NONE,SPF_PASS autolearn=unavailable autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id 49A9DC06511 for ; Wed, 3 Jul 2019 16:22:14 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by mail.kernel.org (Postfix) with ESMTP id 2331D2187F for ; Wed, 3 Jul 2019 16:22:14 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1726823AbfGCQWN convert rfc822-to-8bit (ORCPT ); Wed, 3 Jul 2019 12:22:13 -0400 Received: from eu-smtp-delivery-151.mimecast.com ([207.82.80.151]:26448 "EHLO eu-smtp-delivery-151.mimecast.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1725933AbfGCQWM (ORCPT ); Wed, 3 Jul 2019 12:22:12 -0400 Received: from AcuMS.aculab.com (156.67.243.126 [156.67.243.126]) (Using TLS) by relay.mimecast.com with ESMTP id uk-mtapsc-4-dcW7BxwpPYiTYuimYvjOZQ-1; Wed, 03 Jul 2019 17:22:08 +0100 Received: from AcuMS.Aculab.com (fd9f:af1c:a25b::d117) by AcuMS.aculab.com (fd9f:af1c:a25b::d117) with Microsoft SMTP Server (TLS) id 15.0.1347.2; Wed, 3 Jul 2019 17:22:07 +0100 Received: from AcuMS.Aculab.com ([fe80::43c:695e:880f:8750]) by AcuMS.aculab.com ([fe80::43c:695e:880f:8750%12]) with mapi id 15.00.1347.000; Wed, 3 Jul 2019 17:22:07 +0100 From: David Laight To: 'Fuqian Huang' CC: Bjorn Helgaas , "linux-pci@vger.kernel.org" , "linux-kernel@vger.kernel.org" Subject: RE: [PATCH 17/30] pci: Use kmemdup rather than duplicating its implementation Thread-Topic: [PATCH 17/30] pci: Use kmemdup rather than duplicating its implementation Thread-Index: AQHVMaGVcqH5pEZk40qaY1F2K7RQ7Ka5E1TQ Date: Wed, 3 Jul 2019 16:22:07 +0000 Message-ID: References: <20190703131627.25455-1-huangfq.daxian@gmail.com> In-Reply-To: <20190703131627.25455-1-huangfq.daxian@gmail.com> Accept-Language: en-GB, en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-ms-exchange-transport-fromentityheader: Hosted x-originating-ip: [10.202.205.107] MIME-Version: 1.0 X-MC-Unique: dcW7BxwpPYiTYuimYvjOZQ-1 X-Mimecast-Spam-Score: 0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8BIT Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org From: Fuqian Huang > Sent: 03 July 2019 14:16 > > kmemdup is introduced to duplicate a region of memory in a neat way. > Rather than kmalloc/kzalloc + memset, which the programmer needs to > write the size twice (sometimes lead to mistakes), kmemdup improves > readability, leads to smaller code and also reduce the chances of mistakes. > Suggestion to use kmemdup rather than using kmalloc/kzalloc + memset. > > Signed-off-by: Fuqian Huang > --- > drivers/pci/hotplug/ibmphp_core.c | 13 ++++++------- > 1 file changed, 6 insertions(+), 7 deletions(-) > > diff --git a/drivers/pci/hotplug/ibmphp_core.c b/drivers/pci/hotplug/ibmphp_core.c > index 17124254d897..0e340e105c3b 100644 > --- a/drivers/pci/hotplug/ibmphp_core.c > +++ b/drivers/pci/hotplug/ibmphp_core.c > @@ -1261,19 +1261,18 @@ static int __init ibmphp_init(void) > > info(DRIVER_DESC " version: " DRIVER_VERSION "\n"); > > - ibmphp_pci_bus = kmalloc(sizeof(*ibmphp_pci_bus), GFP_KERNEL); > - if (!ibmphp_pci_bus) { > - rc = -ENOMEM; > - goto exit; > - } > - > bus = pci_find_bus(0, 0); > if (!bus) { > err("Can't find the root pci bus, can not continue\n"); > rc = -ENODEV; > goto error; > } > - memcpy(ibmphp_pci_bus, bus, sizeof(*ibmphp_pci_bus)); > + > + ibmphp_pci_bus = kmemdup(bus, sizeof(*ibmphp_pci_bus), GFP_KERNEL); > + if (!ibmphp_pci_bus) { > + rc = -ENOMEM; > + goto exit; > + } Not sure why I even looked as this... But the error path if pci_find_bus() fails is now wrong. David - Registered Address Lakeside, Bramley Road, Mount Farm, Milton Keynes, MK1 1PT, UK Registration No: 1397386 (Wales)