diff mbox

[1/3] rsi: Fix memory leak in module unload

Message ID 1476357946-15460-1-git-send-email-prameela.j04cs@gmail.com (mailing list archive)
State Accepted
Commit b022539db49a31bd55cb8167dec5a67967ba8a2c
Delegated to: Kalle Valo
Headers show

Commit Message

Prameela Rani Garnepudi Oct. 13, 2016, 11:25 a.m. UTC
Observed crash when module is unloaded if CONFIG_RSI_DEBUGSFS is not set.
	Fix: Debugfs entry removal moved inside CONFIG_RSI_DEBUGSFS flag in
             function rsi_mac80211_detach()
Memory leak found and fixed for below structures in function rsi_mac80211_detach()
	* channel list for each supported band
	* rsi debugfs info

Signed-off-by: Prameela Rani Garnepudi <prameela.j04cs@gmail.com>
---
 drivers/net/wireless/rsi/rsi_91x_mac80211.c | 11 +++++++++++
 1 file changed, 11 insertions(+)

Comments

Kalle Valo Oct. 13, 2016, 1:11 p.m. UTC | #1
Prameela Rani Garnepudi <prameela.j04cs@gmail.com> writes:

> Observed crash when module is unloaded if CONFIG_RSI_DEBUGSFS is not set.
> 	Fix: Debugfs entry removal moved inside CONFIG_RSI_DEBUGSFS flag in
>              function rsi_mac80211_detach()
> Memory leak found and fixed for below structures in function rsi_mac80211_detach()
> 	* channel list for each supported band
> 	* rsi debugfs info
>
> Signed-off-by: Prameela Rani Garnepudi <prameela.j04cs@gmail.com>

BTW, I don't see patch 2 in patchwork nor in linux-wireless, but I do
see it on my inbox. Either it's slow or there was a problem with the
delivery.
Kalle Valo Oct. 13, 2016, 2:26 p.m. UTC | #2
Kalle Valo <kvalo@codeaurora.org> writes:

> Prameela Rani Garnepudi <prameela.j04cs@gmail.com> writes:
>
>> Observed crash when module is unloaded if CONFIG_RSI_DEBUGSFS is not set.
>> 	Fix: Debugfs entry removal moved inside CONFIG_RSI_DEBUGSFS flag in
>>              function rsi_mac80211_detach()
>> Memory leak found and fixed for below structures in function rsi_mac80211_detach()
>> 	* channel list for each supported band
>> 	* rsi debugfs info
>>
>> Signed-off-by: Prameela Rani Garnepudi <prameela.j04cs@gmail.com>
>
> BTW, I don't see patch 2 in patchwork nor in linux-wireless, but I do
> see it on my inbox. Either it's slow or there was a problem with the
> delivery.

It was just slow, I see it now:

https://patchwork.kernel.org/patch/9374987/
Kalle Valo Oct. 26, 2016, 6:47 a.m. UTC | #3
Prameela Rani Garnepudi <prameela.garnepudi@redpinesignals.com> writes:

> On 10/13/2016 07:56 PM, Kalle Valo wrote: 
>> Kalle Valo <kvalo@codeaurora.org> writes: 
>> 
>>> Prameela Rani Garnepudi <prameela.j04cs@gmail.com> writes: 
>>> 
>>>> Observed crash when module is unloaded if CONFIG_RSI_DEBUGSFS is not set. 
>>>>     Fix: Debugfs entry removal moved inside CONFIG_RSI_DEBUGSFS flag in 
>>>>               function rsi_mac80211_detach() 
>>>> Memory leak found and fixed for below structures in function
> rsi_mac80211_detach() 
>>>>     * channel list for each supported band 
>>>>     * rsi debugfs info 
>>>> 
>>>> Signed-off-by: Prameela Rani Garnepudi <prameela.j04cs@gmail.com> 
>>> BTW, I don't see patch 2 in patchwork nor in linux-wireless, but I do 
>>> see it on my inbox. Either it's slow or there was a problem with the 
>>> delivery. 
>> It was just slow, I see it now: 
>> 
>> https://patchwork.kernel.org/patch/9374987/ 
>> 
> Hi, 
> Can you please review this patch. 

wireless-drivers-next is not open yet as I was on vacation last week,
hoping to open it today.

And instead of mailing me please check the status from patchwork:

https://wireless.wiki.kernel.org/en/developers/documentation/submittingpatches#checking_state_of_patches_from_patchwork

If you see lots of patches pending submitted around the same time as
yours it's a pretty good hint that I just haven't been able to go
through my queue:

https://patchwork.kernel.org/project/linux-wireless/list/?state=*&delegate=25621
Kalle Valo Nov. 17, 2016, 6:44 a.m. UTC | #4
Prameela Rani Garnepudi <prameela.j04cs@gmail.com> wrote:
> Observed crash when module is unloaded if CONFIG_RSI_DEBUGSFS is not set.
> 	Fix: Debugfs entry removal moved inside CONFIG_RSI_DEBUGSFS flag in
>              function rsi_mac80211_detach()
> Memory leak found and fixed for below structures in function rsi_mac80211_detach()
> 	* channel list for each supported band
> 	* rsi debugfs info
> 
> Signed-off-by: Prameela Rani Garnepudi <prameela.j04cs@gmail.com>

2 patches applied to wireless-drivers-next.git, thanks.

b022539db49a rsi: Fix memory leak in module unload
77364aae88d7 rsi: Host to device command frame vap_capabilites modified with new field vap status
diff mbox

Patch

diff --git a/drivers/net/wireless/rsi/rsi_91x_mac80211.c b/drivers/net/wireless/rsi/rsi_91x_mac80211.c
index dbb2389..58779c0 100644
--- a/drivers/net/wireless/rsi/rsi_91x_mac80211.c
+++ b/drivers/net/wireless/rsi/rsi_91x_mac80211.c
@@ -194,6 +194,7 @@  static void rsi_register_rates_channels(struct rsi_hw *adapter, int band)
 void rsi_mac80211_detach(struct rsi_hw *adapter)
 {
 	struct ieee80211_hw *hw = adapter->hw;
+	enum nl80211_band band;
 
 	if (hw) {
 		ieee80211_stop_queues(hw);
@@ -201,7 +202,17 @@  void rsi_mac80211_detach(struct rsi_hw *adapter)
 		ieee80211_free_hw(hw);
 	}
 
+	for (band = 0; band < NUM_NL80211_BANDS; band++) {
+		struct ieee80211_supported_band *sband =
+					&adapter->sbands[band];
+
+		kfree(sband->channels);
+	}
+
+#ifdef CONFIG_RSI_DEBUGFS
 	rsi_remove_dbgfs(adapter);
+	kfree(adapter->dfsentry);
+#endif
 }
 EXPORT_SYMBOL_GPL(rsi_mac80211_detach);