[PATCH 3.12 098/170] mac80211: fix a memory leak on sta rate selection table

Jiri Slaby
2014-07-18T13:16:44Z

From: Felix Fietkau <nbd@openwrt.org>

3.12-stable review patch. If anyone has any objections, please let me know.

===============

commit 53d045258ee2e38b1e882617cb0799a04d05f5fa upstream.

If the rate control algorithm uses a selection table, it
is leaked when the station is destroyed - fix that.

Signed-off-by: Felix Fietkau <nbd@openwrt.org>
Reported-by: Christophe Prévotaux <cprevotaux@nltinc.com>
Fixes: 0d528d85c519 ("mac80211: improve the rate control API")
[add commit log entry, remove pointless NULL check]
Signed-off-by: Johannes Berg <johannes.berg@intel.com>
Signed-off-by: Jiri Slaby <jslaby@suse.cz>
---
net/mac80211/sta_info.c | 1 +
1 file changed, 1 insertion(+)

diff --git a/net/mac80211/sta_info.c b/net/mac80211/sta_info.c
index db41c190e76d..37025725c369 100644
--- a/net/mac80211/sta_info.c
+++ b/net/mac80211/sta_info.c
@@ -271,6 +271,7 @@ void sta_info_free(struct ieee80211_local *local, struct sta_info *sta)

sta_dbg(sta->sdata, "Destroyed STA %pM\n", sta->sta.addr);

+ kfree(rcu_dereference_raw(sta->sta.rates));
kfree(sta);
}

--
2.0.0