[PATCH 3/3] Fix memory leakage
Eugene Krasnikov
k.eugene.e at gmail.com
Mon Jun 10 09:27:28 EDT 2013
Whenever skb is requested from mac80211 do not forget
to free it.
Signed-off-by: Eugene Krasnikov <k.eugene.e at gmail.com>
---
main.c | 4 ++++
smd.c | 2 --
2 files changed, 4 insertions(+), 2 deletions(-)
diff --git a/main.c b/main.c
index 6d28277..8c739b0 100644
--- a/main.c
+++ b/main.c
@@ -362,6 +362,8 @@ static void wcn36xx_bss_info_changed(struct ieee80211_hw *hw,
wcn36xx_dbg(WCN36XX_DBG_MAC, "mac bss changed ap probe resp");
skb = ieee80211_proberesp_get(hw, vif);
wcn36xx_smd_update_proberesp_tmpl(wcn, skb);
+ dev_kfree_skb(skb);
+ skb = NULL;
}
if (changed & BSS_CHANGED_BEACON_ENABLED) {
@@ -377,6 +379,8 @@ static void wcn36xx_bss_info_changed(struct ieee80211_hw *hw,
wcn->addresses[0].addr, false,
wcn->beacon_interval);
wcn36xx_smd_send_beacon(wcn, skb, tim_off, 0);
+ dev_kfree_skb(skb);
+ skb = NULL;
if (vif->type == NL80211_IFTYPE_ADHOC ||
vif->type == NL80211_IFTYPE_MESH_POINT)
diff --git a/smd.c b/smd.c
index a730ee4..c83481e 100644
--- a/smd.c
+++ b/smd.c
@@ -936,8 +936,6 @@ int wcn36xx_smd_update_proberesp_tmpl(struct wcn36xx *wcn, struct sk_buff *skb)
"hal update probe rsp len %d bssid %pM",
msg.probe_resp_template_len, msg.bssid);
- dev_kfree_skb(skb);
-
return wcn36xx_smd_send_and_wait(wcn, msg.header.len);
};
--
1.7.11.3
More information about the wcn36xx
mailing list