Skip to contentSkip to conversation

Patch "brcmfmac: fix memory leak in brcmf_fill_bss_param" has been added to the 4.8-stable tree

PATCH [email protected] 1 participant 1 message Oct 20, 2016

Subsystems (2)
lore
Share & tools
lore

[email protected]

author maintainer Applied
#0 lore raw

This is a note to let you know that I've just added the patch titled

brcmfmac: fix memory leak in brcmf_fill_bss_param

to the 4.8-stable tree which can be found at:
http://www.kernel.org/git/?p=linux/kernel/git/stable/stable-queue.git;a=summary

The filename of the patch is:
brcmfmac-fix-memory-leak-in-brcmf_fill_bss_param.patch
and it can be found in the queue-4.8 subdirectory.

If you, or anyone else, feels it should not be added to the stable tree, please let <[email protected]> know about it.

Quoted 1 line

From 23e9c128adb2038c27a424a5f91136e7fa3e0dc6 Mon Sep 17 00:00:00 2001

From: =?UTF-8?q?Rafa=C5=82=20Mi=C5=82ecki?= <[email protected]>
Date: Wed, 21 Sep 2016 08:23:24 +0200
Subject: brcmfmac: fix memory leak in brcmf_fill_bss_param
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

From: Rafał Miłecki <[email protected]>

commit 23e9c128adb2038c27a424a5f91136e7fa3e0dc6 upstream.

This function is called from get_station callback which means that every time user space was getting/dumping station(s) we were leaking 2 KiB.

Fixes 1f0dc59a6de ("brcmfmac: rework .get_station() callback")
---
 drivers/net/wireless/broadcom/brcm80211/brcmfmac/cfg80211.c |    5 ++++-
 1 file changed, 4 insertions(+), 1 deletion(-)
drivers/net/wireless/broadcom/brcm80211/brcmfmac/cfg80211.c +4 -1
@@ -2533,7 +2533,7 @@ static void brcmf_fill_bss_param(struct
 				     WL_BSS_INFO_MAX);
 	if (err) {
 		brcmf_err("Failed to get bss info (%d)\n", err);
-		return;
+		goto out_kfree;
 	}
 	si->filled |= BIT(NL80211_STA_INFO_BSS_PARAM);
 	si->bss_param.beacon_interval = le16_to_cpu(buf->bss_le.beacon_period);
@@ -2545,6 +2545,9 @@ static void brcmf_fill_bss_param(struct
 		si->bss_param.flags |= BSS_PARAM_FLAGS_SHORT_PREAMBLE;
 	if (capability & WLAN_CAPABILITY_SHORT_SLOT_TIME)
 		si->bss_param.flags |= BSS_PARAM_FLAGS_SHORT_SLOT_TIME;
+
+out_kfree:
+	kfree(buf);
 }
 
 static s32

Patches currently in stable-queue which might be from [email protected] are

queue-4.8/brcmfmac-use-correct-skb-freeing-helper-when-deleting-flowring.patch queue-4.8/brcmfmac-fix-memory-leak-in-brcmf_fill_bss_param.patch