aboutsummaryrefslogtreecommitdiffstats
path: root/package
diff options
context:
space:
mode:
authorFelix Fietkau <nbd@nbd.name>2020-01-13 19:43:20 +0100
committerFelix Fietkau <nbd@nbd.name>2020-01-15 12:23:46 +0100
commita3b6ffe01b4b14ce7ba95252890b52fac85e303c (patch)
tree07011fc67edd4c340ccbdc96c989daadeec2cb9c /package
parent25e1afb9e1884b262404e4f2c6d3ecc149052fe1 (diff)
downloadupstream-a3b6ffe01b4b14ce7ba95252890b52fac85e303c.tar.gz
upstream-a3b6ffe01b4b14ce7ba95252890b52fac85e303c.tar.bz2
upstream-a3b6ffe01b4b14ce7ba95252890b52fac85e303c.zip
mac80211: fix sta TID stats leak on a few nl80211 calls
Signed-off-by: Felix Fietkau <nbd@nbd.name> (cherry-picked from commit d5b3024139089e38f57bd1827273d7fba8497635)
Diffstat (limited to 'package')
-rw-r--r--package/kernel/mac80211/patches/subsys/369-cfg80211-fix-memory-leak-in-cfg80211_cqm_rssi_update.patch21
1 files changed, 21 insertions, 0 deletions
diff --git a/package/kernel/mac80211/patches/subsys/369-cfg80211-fix-memory-leak-in-cfg80211_cqm_rssi_update.patch b/package/kernel/mac80211/patches/subsys/369-cfg80211-fix-memory-leak-in-cfg80211_cqm_rssi_update.patch
new file mode 100644
index 0000000000..d205140783
--- /dev/null
+++ b/package/kernel/mac80211/patches/subsys/369-cfg80211-fix-memory-leak-in-cfg80211_cqm_rssi_update.patch
@@ -0,0 +1,21 @@
+From: Felix Fietkau <nbd@nbd.name>
+Date: Wed, 8 Jan 2020 18:03:04 +0100
+Subject: [PATCH] cfg80211: fix memory leak in cfg80211_cqm_rssi_update
+
+The per-tid statistics need to be released after the call to rdev_get_station
+
+Cc: stable@vger.kernel.org
+Fixes: 8689c051a201 ("cfg80211: dynamically allocate per-tid stats for station info")
+Signed-off-by: Felix Fietkau <nbd@nbd.name>
+---
+
+--- a/net/wireless/nl80211.c
++++ b/net/wireless/nl80211.c
+@@ -10346,6 +10346,7 @@ static int cfg80211_cqm_rssi_update(stru
+ if (err)
+ return err;
+
++ cfg80211_sinfo_release_content(&sinfo);
+ if (sinfo.filled & BIT_ULL(NL80211_STA_INFO_BEACON_SIGNAL_AVG))
+ wdev->cqm_config->last_rssi_event_value =
+ (s8) sinfo.rx_beacon_signal_avg;