Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S932092AbbF0QVm (ORCPT ); Sat, 27 Jun 2015 12:21:42 -0400 Received: from mail2-relais-roc.national.inria.fr ([192.134.164.83]:53292 "EHLO mail2-relais-roc.national.inria.fr" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1755228AbbF0QVg (ORCPT ); Sat, 27 Jun 2015 12:21:36 -0400 X-IronPort-AV: E=Sophos;i="5.13,689,1427752800"; d="scan'208";a="167611150" Date: Sat, 27 Jun 2015 18:21:29 +0200 (CEST) From: Julia Lawall X-X-Sender: jll@hadrien To: SF Markus Elfring cc: Chris Park , Dean Lee , Greg Kroah-Hartman , Johnny Kim , Rachel Kim , linux-wireless@vger.kernel.org, devel@driverdev.osuosl.org, LKML , kernel-janitors@vger.kernel.org Subject: Re: [PATCH 2/2] staging: wilc1000: One function call less in mac_ioctl() after error detection In-Reply-To: <558EB524.1050609@users.sourceforge.net> Message-ID: References: <5307CAA2.8060406@users.sourceforge.net> <530A086E.8010901@users.sourceforge.net> <530A72AA.3000601@users.sourceforge.net> <530B5FB6.6010207@users.sourceforge.net> <530C5E18.1020800@users.sourceforge.net> <530CD2C4.4050903@users.sourceforge.net> <530CF8FF.8080600@users.sourceforge.net> <530DD06F.4090703@users.sourceforge.net> <5317A59D.4@users.sourceforge.net> <558EB32E.6090003@users.sourceforge.net> <558EB524.1050609@users.sourceforge.net> User-Agent: Alpine 2.10 (DEB 1266 2009-07-14) MIME-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 2426 Lines: 82 On Sat, 27 Jun 2015, SF Markus Elfring wrote: > From: Markus Elfring > Date: Sat, 27 Jun 2015 16:00:59 +0200 > > The kfree() function was called in two cases by the mac_ioctl() function > during error handling even if the passed variable did not contain a pointer > for a valid data item. > > * This implementation detail could be improved by the introduction > of another jump label. > > * Drop an unnecessary initialisation for the variable "buff" then. > > Signed-off-by: Markus Elfring > --- > drivers/staging/wilc1000/linux_wlan.c | 10 ++++------ > 1 file changed, 4 insertions(+), 6 deletions(-) > > diff --git a/drivers/staging/wilc1000/linux_wlan.c b/drivers/staging/wilc1000/linux_wlan.c > index 2aa8d9b..f492310 100644 > --- a/drivers/staging/wilc1000/linux_wlan.c > +++ b/drivers/staging/wilc1000/linux_wlan.c > @@ -2351,16 +2351,13 @@ int mac_close(struct net_device *ndev) > > int mac_ioctl(struct net_device *ndev, struct ifreq *req, int cmd) > { > - > - u8 *buff = NULL; > + u8 *buff; > s8 rssi; > u32 size = 0, length = 0; > perInterface_wlan_t *nic; > struct WILC_WFI_priv *priv; > s32 s32Error = WILC_SUCCESS; > > - > - Removing these blank lines seems to have nothing to do with the topic of the patch. julia > /* struct iwreq *wrq = (struct iwreq *) req; // tony moved to case SIOCSIWPRIV */ > #ifdef USE_WIRELESS > nic = netdev_priv(ndev); > @@ -2405,7 +2402,7 @@ int mac_ioctl(struct net_device *ndev, struct ifreq *req, int cmd) > if (copy_to_user(wrq->u.data.pointer, buff, size)) { > PRINT_ER("%s: failed to copy data to user buffer\n", __func__); > s32Error = -EFAULT; > - goto done; > + goto free_buffer; > } > } > } > @@ -2420,8 +2417,9 @@ int mac_ioctl(struct net_device *ndev, struct ifreq *req, int cmd) > } > } > > -done: > +free_buffer: > kfree(buff); > +done: > return s32Error; > } > > -- > 2.4.4 > > -- > To unsubscribe from this list: send the line "unsubscribe kernel-janitors" in > the body of a message to majordomo@vger.kernel.org > More majordomo info at http://vger.kernel.org/majordomo-info.html > -- 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/