All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH] staging: rtl8723bs: os_dep: Remove typecast in kfree
@ 2019-10-08  5:09 Nachammai Karuppiah
  2019-10-08  5:53 ` [Outreachy kernel] " Julia Lawall
  0 siblings, 1 reply; 3+ messages in thread
From: Nachammai Karuppiah @ 2019-10-08  5:09 UTC (permalink / raw)
  To: Greg Kroah-Hartman; +Cc: outreachy-kernel, Nachammai Karuppiah

Remove typecast in the call to kfree as it is not needed.
Issue found using the below coccinelle script,

@@
type t1;
expression e;
@@

-kfree((t1 *)e);
+kfree(e);

Signed-off-by: Nachammai Karuppiah <nachukannan@gmail.com>
---
 drivers/staging/rtl8723bs/os_dep/ioctl_cfg80211.c | 10 +++++-----
 drivers/staging/rtl8723bs/os_dep/os_intfs.c       |  2 +-
 2 files changed, 6 insertions(+), 6 deletions(-)

diff --git a/drivers/staging/rtl8723bs/os_dep/ioctl_cfg80211.c b/drivers/staging/rtl8723bs/os_dep/ioctl_cfg80211.c
index 67d56f3..8555f52 100644
--- a/drivers/staging/rtl8723bs/os_dep/ioctl_cfg80211.c
+++ b/drivers/staging/rtl8723bs/os_dep/ioctl_cfg80211.c
@@ -165,7 +165,7 @@ static void rtw_spt_band_free(struct ieee80211_supported_band *spt_band)
 			+ sizeof(struct ieee80211_channel)*RTW_2G_CHANNELS_NUM
 			+ sizeof(struct ieee80211_rate)*RTW_G_RATES_NUM;
 	}
-	kfree((u8 *)spt_band);
+	kfree(spt_band);
 }
 
 static const struct ieee80211_txrx_stypes
@@ -1156,7 +1156,7 @@ static int cfg80211_rtw_add_key(struct wiphy *wiphy, struct net_device *ndev,
 	}
 
 addkey_end:
-	kfree((u8 *)param);
+	kfree(param);
 
 	return ret;
 
@@ -2193,7 +2193,7 @@ static int cfg80211_rtw_connect(struct wiphy *wiphy, struct net_device *ndev,
 			ret = -EOPNOTSUPP ;
 		}
 
-		kfree((u8 *)pwep);
+		kfree(pwep);
 
 		if (ret < 0)
 			goto exit;
@@ -2646,7 +2646,7 @@ static int rtw_cfg80211_add_monitor_if (struct adapter *padapter, char *name, st
 
 out:
 	if (ret && mon_wdev) {
-		kfree((u8 *)mon_wdev);
+		kfree(mon_wdev);
 		mon_wdev = NULL;
 	}
 
@@ -3502,7 +3502,7 @@ void rtw_wdev_free(struct wireless_dev *wdev)
 
 	wiphy_free(wdev->wiphy);
 
-	kfree((u8 *)wdev);
+	kfree(wdev);
 }
 
 void rtw_wdev_unregister(struct wireless_dev *wdev)
diff --git a/drivers/staging/rtl8723bs/os_dep/os_intfs.c b/drivers/staging/rtl8723bs/os_dep/os_intfs.c
index ec3a754..5044f73 100644
--- a/drivers/staging/rtl8723bs/os_dep/os_intfs.c
+++ b/drivers/staging/rtl8723bs/os_dep/os_intfs.c
@@ -1142,7 +1142,7 @@ void rtw_ndev_destructor(struct net_device *ndev)
 	DBG_871X(FUNC_NDEV_FMT "\n", FUNC_NDEV_ARG(ndev));
 
 	if (ndev->ieee80211_ptr)
-		kfree((u8 *)ndev->ieee80211_ptr);
+		kfree(ndev->ieee80211_ptr);
 }
 
 void rtw_dev_unload(struct adapter *padapter)
-- 
2.7.4



^ permalink raw reply related	[flat|nested] 3+ messages in thread

* Re: [Outreachy kernel] [PATCH] staging: rtl8723bs: os_dep: Remove typecast in kfree
  2019-10-08  5:09 [PATCH] staging: rtl8723bs: os_dep: Remove typecast in kfree Nachammai Karuppiah
@ 2019-10-08  5:53 ` Julia Lawall
  2019-10-08 19:56   ` Nachammai Karuppiah
  0 siblings, 1 reply; 3+ messages in thread
From: Julia Lawall @ 2019-10-08  5:53 UTC (permalink / raw)
  To: Nachammai Karuppiah; +Cc: Greg Kroah-Hartman, outreachy-kernel



On Mon, 7 Oct 2019, Nachammai Karuppiah wrote:

> Remove typecast in the call to kfree as it is not needed.

Acked-by: Julia Lawall <julia.lawall@lip6.fr>


> Issue found using the below coccinelle script,
>
> @@
> type t1;
> expression e;
> @@
>
> -kfree((t1 *)e);
> +kfree(e);

One might consider that a slight improvement would be to declare
expression * e; rather than expression e;, ie to ensure that e is a
pointer.  But it's a bit of a tradeoff, because if you specify type
information, then Coccinelle has to find the type.  If it can't find the
type, some changes will be overlooked.  Still it could be good to try both
approaches.  If both approaches give the same results, you can be more
confident that everything is ok.

On the other hand, it would be pretty odd for an argument of kmalloc not
to be of pointer type.

julia

> Signed-off-by: Nachammai Karuppiah <nachukannan@gmail.com>
> ---
>  drivers/staging/rtl8723bs/os_dep/ioctl_cfg80211.c | 10 +++++-----
>  drivers/staging/rtl8723bs/os_dep/os_intfs.c       |  2 +-
>  2 files changed, 6 insertions(+), 6 deletions(-)
>
> diff --git a/drivers/staging/rtl8723bs/os_dep/ioctl_cfg80211.c b/drivers/staging/rtl8723bs/os_dep/ioctl_cfg80211.c
> index 67d56f3..8555f52 100644
> --- a/drivers/staging/rtl8723bs/os_dep/ioctl_cfg80211.c
> +++ b/drivers/staging/rtl8723bs/os_dep/ioctl_cfg80211.c
> @@ -165,7 +165,7 @@ static void rtw_spt_band_free(struct ieee80211_supported_band *spt_band)
>  			+ sizeof(struct ieee80211_channel)*RTW_2G_CHANNELS_NUM
>  			+ sizeof(struct ieee80211_rate)*RTW_G_RATES_NUM;
>  	}
> -	kfree((u8 *)spt_band);
> +	kfree(spt_band);
>  }
>
>  static const struct ieee80211_txrx_stypes
> @@ -1156,7 +1156,7 @@ static int cfg80211_rtw_add_key(struct wiphy *wiphy, struct net_device *ndev,
>  	}
>
>  addkey_end:
> -	kfree((u8 *)param);
> +	kfree(param);
>
>  	return ret;
>
> @@ -2193,7 +2193,7 @@ static int cfg80211_rtw_connect(struct wiphy *wiphy, struct net_device *ndev,
>  			ret = -EOPNOTSUPP ;
>  		}
>
> -		kfree((u8 *)pwep);
> +		kfree(pwep);
>
>  		if (ret < 0)
>  			goto exit;
> @@ -2646,7 +2646,7 @@ static int rtw_cfg80211_add_monitor_if (struct adapter *padapter, char *name, st
>
>  out:
>  	if (ret && mon_wdev) {
> -		kfree((u8 *)mon_wdev);
> +		kfree(mon_wdev);
>  		mon_wdev = NULL;
>  	}
>
> @@ -3502,7 +3502,7 @@ void rtw_wdev_free(struct wireless_dev *wdev)
>
>  	wiphy_free(wdev->wiphy);
>
> -	kfree((u8 *)wdev);
> +	kfree(wdev);
>  }
>
>  void rtw_wdev_unregister(struct wireless_dev *wdev)
> diff --git a/drivers/staging/rtl8723bs/os_dep/os_intfs.c b/drivers/staging/rtl8723bs/os_dep/os_intfs.c
> index ec3a754..5044f73 100644
> --- a/drivers/staging/rtl8723bs/os_dep/os_intfs.c
> +++ b/drivers/staging/rtl8723bs/os_dep/os_intfs.c
> @@ -1142,7 +1142,7 @@ void rtw_ndev_destructor(struct net_device *ndev)
>  	DBG_871X(FUNC_NDEV_FMT "\n", FUNC_NDEV_ARG(ndev));
>
>  	if (ndev->ieee80211_ptr)
> -		kfree((u8 *)ndev->ieee80211_ptr);
> +		kfree(ndev->ieee80211_ptr);
>  }
>
>  void rtw_dev_unload(struct adapter *padapter)
> --
> 2.7.4
>
> --
> You received this message because you are subscribed to the Google Groups "outreachy-kernel" group.
> To unsubscribe from this group and stop receiving emails from it, send an email to outreachy-kernel+unsubscribe@googlegroups.com.
> To view this discussion on the web visit https://groups.google.com/d/msgid/outreachy-kernel/1570511353-64646-1-git-send-email-nachukannan%40gmail.com.
>


^ permalink raw reply	[flat|nested] 3+ messages in thread

* Re: [Outreachy kernel] [PATCH] staging: rtl8723bs: os_dep: Remove typecast in kfree
  2019-10-08  5:53 ` [Outreachy kernel] " Julia Lawall
@ 2019-10-08 19:56   ` Nachammai Karuppiah
  0 siblings, 0 replies; 3+ messages in thread
From: Nachammai Karuppiah @ 2019-10-08 19:56 UTC (permalink / raw)
  To: Julia Lawall; +Cc: Greg Kroah-Hartman, outreachy-kernel

On Tue, Oct 8, 2019 at 1:53 AM Julia Lawall <julia.lawall@lip6.fr> wrote:
>
>
>
> On Mon, 7 Oct 2019, Nachammai Karuppiah wrote:
>
> > Remove typecast in the call to kfree as it is not needed.
>
> Acked-by: Julia Lawall <julia.lawall@lip6.fr>
>
>
> > Issue found using the below coccinelle script,
> >
> > @@
> > type t1;
> > expression e;
> > @@
> >
> > -kfree((t1 *)e);
> > +kfree(e);
>
> One might consider that a slight improvement would be to declare
> expression * e; rather than expression e;, ie to ensure that e is a
> pointer.  But it's a bit of a tradeoff, because if you specify type
> information, then Coccinelle has to find the type.  If it can't find the
> type, some changes will be overlooked.  Still it could be good to try both
> approaches.  If both approaches give the same results, you can be more
> confident that everything is ok.
>

Thanks for the suggestion. I used expression *e for other sub
directories in rtl8723bs and it covered all cases once I used the
right options (-I and --recursive-includes).
Both scripts gave the same result.

> On the other hand, it would be pretty odd for an argument of kmalloc not
> to be of pointer type.
>

Yeah, I assumed and expected the script to only remove the typecast
but not to check if the parameter itself was a pointer.
Thanks for your insights.

> julia
>
> > Signed-off-by: Nachammai Karuppiah <nachukannan@gmail.com>
> > ---
> >  drivers/staging/rtl8723bs/os_dep/ioctl_cfg80211.c | 10 +++++-----
> >  drivers/staging/rtl8723bs/os_dep/os_intfs.c       |  2 +-
> >  2 files changed, 6 insertions(+), 6 deletions(-)
> >
> > diff --git a/drivers/staging/rtl8723bs/os_dep/ioctl_cfg80211.c b/drivers/staging/rtl8723bs/os_dep/ioctl_cfg80211.c
> > index 67d56f3..8555f52 100644
> > --- a/drivers/staging/rtl8723bs/os_dep/ioctl_cfg80211.c
> > +++ b/drivers/staging/rtl8723bs/os_dep/ioctl_cfg80211.c
> > @@ -165,7 +165,7 @@ static void rtw_spt_band_free(struct ieee80211_supported_band *spt_band)
> >                       + sizeof(struct ieee80211_channel)*RTW_2G_CHANNELS_NUM
> >                       + sizeof(struct ieee80211_rate)*RTW_G_RATES_NUM;
> >       }
> > -     kfree((u8 *)spt_band);
> > +     kfree(spt_band);
> >  }
> >
> >  static const struct ieee80211_txrx_stypes
> > @@ -1156,7 +1156,7 @@ static int cfg80211_rtw_add_key(struct wiphy *wiphy, struct net_device *ndev,
> >       }
> >
> >  addkey_end:
> > -     kfree((u8 *)param);
> > +     kfree(param);
> >
> >       return ret;
> >
> > @@ -2193,7 +2193,7 @@ static int cfg80211_rtw_connect(struct wiphy *wiphy, struct net_device *ndev,
> >                       ret = -EOPNOTSUPP ;
> >               }
> >
> > -             kfree((u8 *)pwep);
> > +             kfree(pwep);
> >
> >               if (ret < 0)
> >                       goto exit;
> > @@ -2646,7 +2646,7 @@ static int rtw_cfg80211_add_monitor_if (struct adapter *padapter, char *name, st
> >
> >  out:
> >       if (ret && mon_wdev) {
> > -             kfree((u8 *)mon_wdev);
> > +             kfree(mon_wdev);
> >               mon_wdev = NULL;
> >       }
> >
> > @@ -3502,7 +3502,7 @@ void rtw_wdev_free(struct wireless_dev *wdev)
> >
> >       wiphy_free(wdev->wiphy);
> >
> > -     kfree((u8 *)wdev);
> > +     kfree(wdev);
> >  }
> >
> >  void rtw_wdev_unregister(struct wireless_dev *wdev)
> > diff --git a/drivers/staging/rtl8723bs/os_dep/os_intfs.c b/drivers/staging/rtl8723bs/os_dep/os_intfs.c
> > index ec3a754..5044f73 100644
> > --- a/drivers/staging/rtl8723bs/os_dep/os_intfs.c
> > +++ b/drivers/staging/rtl8723bs/os_dep/os_intfs.c
> > @@ -1142,7 +1142,7 @@ void rtw_ndev_destructor(struct net_device *ndev)
> >       DBG_871X(FUNC_NDEV_FMT "\n", FUNC_NDEV_ARG(ndev));
> >
> >       if (ndev->ieee80211_ptr)
> > -             kfree((u8 *)ndev->ieee80211_ptr);
> > +             kfree(ndev->ieee80211_ptr);
> >  }
> >
> >  void rtw_dev_unload(struct adapter *padapter)
> > --
> > 2.7.4
> >
> > --
> > You received this message because you are subscribed to the Google Groups "outreachy-kernel" group.
> > To unsubscribe from this group and stop receiving emails from it, send an email to outreachy-kernel+unsubscribe@googlegroups.com.
> > To view this discussion on the web visit https://groups.google.com/d/msgid/outreachy-kernel/1570511353-64646-1-git-send-email-nachukannan%40gmail.com.
> >
>
> --
> You received this message because you are subscribed to the Google Groups "outreachy-kernel" group.
> To unsubscribe from this group and stop receiving emails from it, send an email to outreachy-kernel+unsubscribe@googlegroups.com.
> To view this discussion on the web visit https://groups.google.com/d/msgid/outreachy-kernel/alpine.DEB.2.21.1910080750290.2638%40hadrien.


^ permalink raw reply	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2019-10-08 19:56 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2019-10-08  5:09 [PATCH] staging: rtl8723bs: os_dep: Remove typecast in kfree Nachammai Karuppiah
2019-10-08  5:53 ` [Outreachy kernel] " Julia Lawall
2019-10-08 19:56   ` Nachammai Karuppiah

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.