summaryrefslogtreecommitdiff
path: root/net
diff options
context:
space:
mode:
authorSudip Mukherjee <sudip@vectorindia.org>2016-02-02 13:21:14 +0530
committerBen Hutchings <ben@decadent.org.uk>2016-05-01 00:05:15 +0200
commit214bc320f8846c3b065d19ae8a66dc0c522c69f8 (patch)
tree18f1936cd40e440323888e771d9163bba2cb07e2 /net
parenteefa363eb2e49f371f6fc2cd4f4def4de5943fc1 (diff)
mac80211: fix memory leak
commit ea32f065bd3e3e09f0bcb3042f1664caf6b3e233 upstream. On error we jumped to the error label and returned the error code but we missed releasing sinfo. Fixes: 5fe74014172d ("mac80211: avoid excessive stack usage in sta_info") Reviewed-by: Julian Calaby <julian.calaby@gmail.com> Signed-off-by: Sudip Mukherjee <sudip@vectorindia.org> Signed-off-by: Johannes Berg <johannes.berg@intel.com> [bwh: Backported to 3.2: there's no out_err label but there is another error case that would leak sinfo] Signed-off-by: Ben Hutchings <ben@decadent.org.uk>
Diffstat (limited to 'net')
-rw-r--r--net/mac80211/sta_info.c4
1 files changed, 3 insertions, 1 deletions
diff --git a/net/mac80211/sta_info.c b/net/mac80211/sta_info.c
index 6dcb080246a0..feb7e67413c2 100644
--- a/net/mac80211/sta_info.c
+++ b/net/mac80211/sta_info.c
@@ -362,8 +362,10 @@ static int sta_info_finish_insert(struct sta_info *sta,
u.ap);
err = drv_sta_add(local, sdata, &sta->sta);
if (err) {
- if (!async)
+ if (!async) {
+ kfree(sinfo);
return err;
+ }
printk(KERN_DEBUG "%s: failed to add IBSS STA %pM to "
"driver (%d) - keeping it anyway.\n",
sdata->name, sta->sta.addr, err);