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>
Tue, 14 Jan 2020 13:56:54 +0000 (14:56 +0100)
Signed-off-by: Felix Fietkau <nbd@nbd.name>
package/kernel/mac80211/patches/subsys/350-cfg80211-fix-memory-leak-in-nl80211_probe_mesh_link.patch [new file with mode: 0644]
package/kernel/mac80211/patches/subsys/351-cfg80211-fix-memory-leak-in-cfg80211_cqm_rssi_update.patch [new file with mode: 0644]

diff --git a/package/kernel/mac80211/patches/subsys/350-cfg80211-fix-memory-leak-in-nl80211_probe_mesh_link.patch b/package/kernel/mac80211/patches/subsys/350-cfg80211-fix-memory-leak-in-nl80211_probe_mesh_link.patch
new file mode 100644 (file)
index 0000000..aea1c89
--- /dev/null
@@ -0,0 +1,22 @@
+From: Felix Fietkau <nbd@nbd.name>
+Date: Wed, 8 Jan 2020 18:00:41 +0100
+Subject: [PATCH] cfg80211: fix memory leak in nl80211_probe_mesh_link
+
+The per-tid statistics need to be released after the call to rdev_get_station
+
+Cc: stable@vger.kernel.org
+Fixes: 5ab92e7fe49a ("cfg80211: add support to probe unexercised mesh link")
+Signed-off-by: Felix Fietkau <nbd@nbd.name>
+---
+
+--- a/net/wireless/nl80211.c
++++ b/net/wireless/nl80211.c
+@@ -13808,6 +13808,8 @@ static int nl80211_probe_mesh_link(struc
+       if (err)
+               return err;
++      cfg80211_sinfo_release_content(&sinfo);
++
+       return rdev_probe_mesh_link(rdev, dev, dest, buf, len);
+ }
diff --git a/package/kernel/mac80211/patches/subsys/351-cfg80211-fix-memory-leak-in-cfg80211_cqm_rssi_update.patch b/package/kernel/mac80211/patches/subsys/351-cfg80211-fix-memory-leak-in-cfg80211_cqm_rssi_update.patch
new file mode 100644 (file)
index 0000000..77f5f8b
--- /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
+@@ -10847,6 +10847,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;