FAILED: patch "[PATCH] brcmfmac: fix pmksa->bssid usage" failed to apply to 4.4-stable tree
Subsystems (2)
[email protected]
maintainerThe patch below does not apply to the 4.4-stable tree.
If someone wants it applied there, or to any other stable or longterm tree, then please email the backport, including the original git commit id to <[email protected]>.
thanks,
greg k-h
------------------ original commit in Linus's tree ------------------
Quoted 1 line
From
7703773ef1d85b40433902a8da20167331597e4aMon Sep 17 00:00:00 2001
From: Nicolas Iooss <[email protected]>
Date: Tue, 23 Aug 2016 11:37:17 +0200
Subject: [PATCH] brcmfmac: fix pmksa->bssid usage
The struct cfg80211_pmksa defines its bssid field as:
const u8 *bssid;
contrary to struct brcmf_pmksa, which uses:
u8 bssid[ETH_ALEN];
Therefore in brcmf_cfg80211_del_pmksa(), &pmksa->bssid takes the address of this field (of type u8**), not the one of its content (which would be u8*). Remove the & operator to make brcmf_dbg("%pM") and memcmp() behave as expected.
This bug have been found using a custom static checker (which checks the usage of %p... attributes at build time). It has been introduced in commit 6c404f34f2bd ("brcmfmac: Cleanup pmksa cache handling code"), which replaced pmksa->bssid by &pmksa->bssid while refactoring the code, without modifying struct cfg80211_pmksa definition.
Replace &pmk[i].bssid with pmk[i].bssid too to make the code clearer, this change does not affect the semantic.
drivers/net/wireless/broadcom/brcm80211/brcmfmac/cfg80211.c +2 -2
@@ -3884,11 +3884,11 @@ brcmf_cfg80211_del_pmksa(struct wiphy *wiphy, struct net_device *ndev,if (!check_vif_up (ifp->vif))return -EIO ; -brcmf_dbg (CONN ,"del_pmksa - PMK bssid = %pM\n" , &pmksa->bssid); +brcmf_dbg (CONN ,"del_pmksa - PMK bssid = %pM\n" , pmksa->bssid); npmk =le32_to_cpu (cfg->pmk_list.npmk);for (i =0 ; i < npmk; i++) -if (!memcmp (&pmksa->bssid, &pmk[i].bssid,ETH_ALEN )) +if (!memcmp (pmksa->bssid, pmk[i].bssid,ETH_ALEN ))break ;if ((npmk >0 ) && (i < npmk)) {
Greg KH
maintainerQuoted 36 lines · On Thu, Oct 20, 2016 at 04:16:35PM +0200, [email protected] wrote:
The patch below does not apply to the 4.4-stable tree.
If someone wants it applied there, or to any other stable or longterm tree, then please email the backport, including the original git commit id to <[email protected]>.thanks,
greg k-h
------------------ original commit in Linus's tree ------------------
Quoted 1 line
From
7703773ef1d85b40433902a8da20167331597e4aMon Sep 17 00:00:00 2001From: Nicolas Iooss <[email protected]>
Date: Tue, 23 Aug 2016 11:37:17 +0200
Subject: [PATCH] brcmfmac: fixpmksa->bssidusageThe struct
cfg80211_pmksadefines its bssid field as:const u8 *bssid;contrary to struct
brcmf_pmksa, which uses:u8 bssid[ETH_ALEN];Therefore in
brcmf_cfg80211_del_pmksa(),&pmksa->bssidtakes the address of this field (of type u8**), not the one of its content (which would be u8*). Remove the & operator to makebrcmf_dbg("%pM")andmemcmp()behave as expected.This bug have been found using a custom static checker (which checks the usage of %p... attributes at build time). It has been introduced in commit
6c404f34f2bd("brcmfmac: Cleanup pmksa cache handling code"), which replacedpmksa->bssidby&pmksa->bssidwhile refactoring the code, without modifying structcfg80211_pmksadefinition.
Quoted 7 lines
Replace &pmk[i].bssid with pmk[i].bssid too to make the code clearer, this change does not affect the semantic.
Fixes 6c404f34f2bd ("brcmfmac: Cleanup pmksa cache handling code")Signed-off-by Nicolas Iooss <[email protected]>Signed-off-by Kalle Valo <[email protected]>
Nevermind, this wasn't for 4.4, sorry for the noise...