diff options
author | Johannes Berg <johannes@sipsolutions.net> | 2013-07-08 10:43:31 +0200 |
---|---|---|
committer | Johannes Berg <johannes.berg@intel.com> | 2013-07-16 09:55:57 +0300 |
commit | e13bae4f807401729b3f27c7e882a96b8b292809 (patch) | |
tree | 684b6ea08bd952005d76debede813d71847d4cfa | |
parent | 1cd158573951f737fbc878a35cb5eb47bf9af3d5 (diff) | |
download | linux-stable-e13bae4f807401729b3f27c7e882a96b8b292809.tar.gz linux-stable-e13bae4f807401729b3f27c7e882a96b8b292809.tar.bz2 linux-stable-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>
-rw-r--r-- | net/mac80211/cfg.c | 2 |
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); } |