summaryrefslogtreecommitdiffstats
path: root/net/mac80211
diff options
context:
space:
mode:
authorJohannes Berg <johannes@sipsolutions.net>2013-07-08 10:43:31 +0200
committerJohannes Berg <johannes.berg@intel.com>2013-07-16 08:55:57 +0200
commite13bae4f807401729b3f27c7e882a96b8b292809 (patch)
tree684b6ea08bd952005d76debede813d71847d4cfa /net/mac80211
parentmac80211/minstrel_ht: fix cck rate sampling (diff)
downloadlinux-e13bae4f807401729b3f27c7e882a96b8b292809.tar.xz
linux-e13bae4f807401729b3f27c7e882a96b8b292809.zip
mac80211: fix ethtool stats for non-station interfaces
As reported in https://bugzilla.kernel.org/show_bug.cgi?id=60514, the station loop never initialises 'sinfo' and therefore adds up a stack values, leaking stack information (the number of times it adds values is easily obtained another way.) Fix this by initialising the sinfo for each station to add. Cc: stable@vger.kernel.org Signed-off-by: Johannes Berg <johannes@sipsolutions.net>
Diffstat (limited to 'net/mac80211')
-rw-r--r--net/mac80211/cfg.c2
1 files changed, 2 insertions, 0 deletions
diff --git a/net/mac80211/cfg.c b/net/mac80211/cfg.c
index 8184d121ff09..43dd7525bfcb 100644
--- a/net/mac80211/cfg.c
+++ b/net/mac80211/cfg.c
@@ -666,6 +666,8 @@ static void ieee80211_get_et_stats(struct wiphy *wiphy,
if (sta->sdata->dev != dev)
continue;
+ sinfo.filled = 0;
+ sta_set_sinfo(sta, &sinfo);
i = 0;
ADD_STA_STATS(sta);
}