summaryrefslogtreecommitdiffstats
path: root/net/wireless/nl80211.c
diff options
context:
space:
mode:
authorArend van Spriel <aspriel@gmail.com>2018-05-10 13:50:12 +0200
committerJohannes Berg <johannes.berg@intel.com>2018-05-18 11:14:34 +0200
commit8689c051a20195b228e19acb155c7d6e48a86753 (patch)
tree15878e8e0e09da70f2e468dc5f9274c90e3bccf5 /net/wireless/nl80211.c
parent57c6cb81717f957fb741f2e4c79bd0e2f4f55910 (diff)
downloadop-kernel-dev-8689c051a20195b228e19acb155c7d6e48a86753.zip
op-kernel-dev-8689c051a20195b228e19acb155c7d6e48a86753.tar.gz
cfg80211: dynamically allocate per-tid stats for station info
With the addition of TXQ stats in the per-tid statistics the struct station_info grew significantly. This resulted in stack size warnings due to the structure itself being above the limit for the warnings. Add an allocation function that those who want to provide per-tid stats should use to allocate the tid array, i.e. struct station_info::pertid. Cc: Toke Høiland-Jørgensen <toke@toke.dk> Fixes: 52539ca89f36 ("cfg80211: Expose TXQ stats and parameters to userspace") Signed-off-by: Arend van Spriel <aspriel@gmail.com> [johannes: fix missing BIT() and logic by removing] Signed-off-by: Johannes Berg <johannes.berg@intel.com>
Diffstat (limited to 'net/wireless/nl80211.c')
-rw-r--r--net/wireless/nl80211.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/net/wireless/nl80211.c b/net/wireless/nl80211.c
index f7715b8..3d638f1 100644
--- a/net/wireless/nl80211.c
+++ b/net/wireless/nl80211.c
@@ -4658,7 +4658,7 @@ static int nl80211_send_station(struct sk_buff *msg, u32 cmd, u32 portid,
#undef PUT_SINFO
#undef PUT_SINFO_U64
- if (sinfo->filled & BIT(NL80211_STA_INFO_TID_STATS)) {
+ if (sinfo->pertid) {
struct nlattr *tidsattr;
int tid;
@@ -4702,6 +4702,7 @@ static int nl80211_send_station(struct sk_buff *msg, u32 cmd, u32 portid,
}
nla_nest_end(msg, tidsattr);
+ kfree(sinfo->pertid);
}
nla_nest_end(msg, sinfoattr);
OpenPOWER on IntegriCloud