[02/75] mac80211: fix ethtool stats for non-station interfaces

Message ID 1376476624-10011-3-git-send-email-luis.henriques@canonical.com
State New
Headers show

Commit Message

Luis Henriques Aug. 14, 2013, 10:35 a.m. -stable review patch.  If anyone has any objections, please let me know.


From: Johannes Berg <johannes@sipsolutions.net>

commit e13bae4f807401729b3f27c7e882a96b8b292809 upstream.

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.

Signed-off-by: Johannes Berg <johannes@sipsolutions.net>
Signed-off-by: Luis Henriques <luis.henriques@canonical.com>
 net/mac80211/cfg.c | 2 ++
 1 file changed, 2 insertions(+)


diff --git a/net/mac80211/cfg.c b/net/mac80211/cfg.c
index 56386f1..0042e61 100644
--- a/net/mac80211/cfg.c
+++ b/net/mac80211/cfg.c
@@ -561,6 +561,8 @@  static void ieee80211_get_et_stats(struct wiphy *wiphy,
 			if (sta->sdata->dev != dev)
+			sinfo.filled = 0;
+			sta_set_sinfo(sta, &sinfo);
 			i = 0;