2016-10-13 12:22:24

by Prameela Rani Garnepudi

[permalink] [raw]
Subject: [PATCH 1/3] rsi: Fix memory leak in module unload

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 <[email protected]>
---
drivers/net/wireless/rsi/rsi_91x_mac80211.c | 11 +++++++++++
1 file changed, 11 insertions(+)

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);

--
2.4.11


2016-10-13 13:12:36

by Kalle Valo

[permalink] [raw]
Subject: Re: [PATCH 1/3] rsi: Fix memory leak in module unload

Prameela Rani Garnepudi <[email protected]> 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 <[email protected]>

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

2016-10-13 14:26:10

by Kalle Valo

[permalink] [raw]
Subject: Re: [PATCH 1/3] rsi: Fix memory leak in module unload

Kalle Valo <[email protected]> writes:

> Prameela Rani Garnepudi <[email protected]> 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 <[email protected]>
>
> 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

2016-11-17 06:44:23

by Kalle Valo

[permalink] [raw]
Subject: Re: [1/3] rsi: Fix memory leak in module unload

Prameela Rani Garnepudi <[email protected]> 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 <[email protected]>

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

--
https://patchwork.kernel.org/patch/9374919/

Documentation about submitting wireless patches and checking status
from patchwork:

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