lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <alpine.DEB.2.10.1410311900201.2481@hadrien>
Date:	Fri, 31 Oct 2014 19:01:06 +0100 (CET)
From:	Julia Lawall <julia.lawall@...6.fr>
To:	SF Markus Elfring <elfring@...rs.sourceforge.net>
cc:	Greg Kroah-Hartman <gregkh@...uxfoundation.org>,
	devel@...verdev.osuosl.org, linux-kernel@...r.kernel.org,
	kernel-janitors@...r.kernel.org, trivial@...nel.org,
	Coccinelle <cocci@...teme.lip6.fr>
Subject: Re: [PATCH resent] staging: rtl8188eu: Deletion of unnecessary checks
 before three function calls

On Fri, 31 Oct 2014, SF Markus Elfring wrote:

> The functions kfree(), rtw_free_netdev() and vfree() test whether their
> argument is NULL and then return immediately. Thus the test around the call
> is not needed.
>
> This issue was detected by using the Coccinelle software.
>
> Signed-off-by: Markus Elfring <elfring@...rs.sourceforge.net>
> ---
>  drivers/staging/rtl8188eu/core/rtw_efuse.c   | 3 +--
>  drivers/staging/rtl8188eu/core/rtw_mlme.c    | 3 +--
>  drivers/staging/rtl8188eu/core/rtw_sta_mgt.c | 3 +--
>  drivers/staging/rtl8188eu/core/rtw_xmit.c    | 6 ++----
>  drivers/staging/rtl8188eu/os_dep/usb_intf.c  | 5 ++---
>  5 files changed, 7 insertions(+), 13 deletions(-)
>
> diff --git a/drivers/staging/rtl8188eu/core/rtw_efuse.c
> b/drivers/staging/rtl8188eu/core/rtw_efuse.c
> index 7006088..77f7552 100644
> --- a/drivers/staging/rtl8188eu/core/rtw_efuse.c
> +++ b/drivers/staging/rtl8188eu/core/rtw_efuse.c
> @@ -212,8 +212,7 @@ efuse_phymap_to_logical(u8 *phymap, u16 _offset, u16
> _size_byte, u8  *pbuf)
>  exit:
>  	kfree(efuseTbl);
>
> -	if (eFuseWord)
> -		kfree(eFuseWord);
> +	kfree(eFuseWord);

I think that this code has been updated already.  It would be better to
add labels so that kfree is only executed when needed.

julia

>  }
>
>  static void efuse_read_phymap_from_txpktbuf(
> diff --git a/drivers/staging/rtl8188eu/core/rtw_mlme.c
> b/drivers/staging/rtl8188eu/core/rtw_mlme.c
> index 149c271..df54350 100644
> --- a/drivers/staging/rtl8188eu/core/rtw_mlme.c
> +++ b/drivers/staging/rtl8188eu/core/rtw_mlme.c
> @@ -122,8 +122,7 @@ void rtw_free_mlme_priv(struct mlme_priv *pmlmepriv)
>  	rtw_free_mlme_priv_ie_data(pmlmepriv);
>
>  	if (pmlmepriv) {
> -		if (pmlmepriv->free_bss_buf)
> -			vfree(pmlmepriv->free_bss_buf);
> +		vfree(pmlmepriv->free_bss_buf);
>  	}
>  }
>
> diff --git a/drivers/staging/rtl8188eu/core/rtw_sta_mgt.c
> b/drivers/staging/rtl8188eu/core/rtw_sta_mgt.c
> index e1dc8fa..af1de9c 100644
> --- a/drivers/staging/rtl8188eu/core/rtw_sta_mgt.c
> +++ b/drivers/staging/rtl8188eu/core/rtw_sta_mgt.c
> @@ -201,8 +201,7 @@ u32	_rtw_free_sta_priv(struct	sta_priv *pstapriv)
>
>  		rtw_mfree_sta_priv_lock(pstapriv);
>
> -		if (pstapriv->pallocated_stainfo_buf)
> -			vfree(pstapriv->pallocated_stainfo_buf);
> +		vfree(pstapriv->pallocated_stainfo_buf);
>  	}
>
>  	return _SUCCESS;
> diff --git a/drivers/staging/rtl8188eu/core/rtw_xmit.c
> b/drivers/staging/rtl8188eu/core/rtw_xmit.c
> index 639ace0..011c9cf 100644
> --- a/drivers/staging/rtl8188eu/core/rtw_xmit.c
> +++ b/drivers/staging/rtl8188eu/core/rtw_xmit.c
> @@ -246,11 +246,9 @@ void _rtw_free_xmit_priv (struct xmit_priv *pxmitpriv)
>  		pxmitbuf++;
>  	}
>
> -	if (pxmitpriv->pallocated_frame_buf)
> -		vfree(pxmitpriv->pallocated_frame_buf);
> +	vfree(pxmitpriv->pallocated_frame_buf);
>
> -	if (pxmitpriv->pallocated_xmitbuf)
> -		vfree(pxmitpriv->pallocated_xmitbuf);
> +	vfree(pxmitpriv->pallocated_xmitbuf);
>
>  	/*  free xmit extension buff */
>  	pxmitbuf = (struct xmit_buf *)pxmitpriv->pxmit_extbuf;
> diff --git a/drivers/staging/rtl8188eu/os_dep/usb_intf.c
> b/drivers/staging/rtl8188eu/os_dep/usb_intf.c
> index 407a318..cdb70e4 100644
> --- a/drivers/staging/rtl8188eu/os_dep/usb_intf.c
> +++ b/drivers/staging/rtl8188eu/os_dep/usb_intf.c
> @@ -456,7 +456,7 @@ free_adapter:
>  	if (status != _SUCCESS) {
>  		if (pnetdev)
>  			rtw_free_netdev(pnetdev);
> -		else if (padapter)
> +		else
>  			vfree(padapter);
>  		padapter = NULL;
>  	}
> @@ -487,8 +487,7 @@ static void rtw_usb_if1_deinit(struct adapter *if1)
>  	DBG_88E("+r871xu_dev_remove, hw_init_completed=%d\n",
>  		if1->hw_init_completed);
>  	rtw_free_drv_sw(if1);
> -	if (pnetdev)
> -		rtw_free_netdev(pnetdev);
> +	rtw_free_netdev(pnetdev);
>  }
>
>  static int rtw_drv_init(struct usb_interface *pusb_intf, const struct
> usb_device_id *pdid)
> --
> 2.1.2
>
> --
> To unsubscribe from this list: send the line "unsubscribe kernel-janitors" in
> the body of a message to majordomo@...r.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@...r.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ