mac80211: fix sta TID stats leak on a few nl80211 calls
authorFelix Fietkau <nbd@nbd.name>
Mon, 13 Jan 2020 18:43:20 +0000 (19:43 +0100)
committerFelix Fietkau <nbd@nbd.name>
Wed, 15 Jan 2020 11:23:46 +0000 (12:23 +0100)
Signed-off-by: Felix Fietkau <nbd@nbd.name>
(cherry-picked from commit d5b3024139089e38f57bd1827273d7fba8497635)

package/kernel/mac80211/patches/subsys/369-cfg80211-fix-memory-leak-in-cfg80211_cqm_rssi_update.patch [new file with mode: 0644]

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 (file)
index 0000000..d205140
--- /dev/null
@@ -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;