From 723f52df848418a2fd8d4b6a1279616a07a3110e Mon Sep 17 00:00:00 2001 From: JasonHuang Date: Mon, 6 Nov 2023 21:23:13 -0600 Subject: [PATCH 188/296] brcmfmac: Fix DUT is vulnerable to key reinstallation using random ANonce AP uses a random ANonce to resend M1 M3 during the 4-way handshake. Then, observed driver false detection as roming event. Add initial assoc reason check to avoid the false detection. Signed-off-by: JasonHuang --- drivers/net/wireless/broadcom/brcm80211/brcmfmac/cfg80211.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/drivers/net/wireless/broadcom/brcm80211/brcmfmac/cfg80211.c b/drivers/net/wireless/broadcom/brcm80211/brcmfmac/cfg80211.c index 97ca9ff49e43..6fa261b5a5a5 100644 --- a/drivers/net/wireless/broadcom/brcm80211/brcmfmac/cfg80211.c +++ b/drivers/net/wireless/broadcom/brcm80211/brcmfmac/cfg80211.c @@ -7320,7 +7320,8 @@ static bool brcmf_is_linkup(struct brcmf_cfg80211_vif *vif, set_bit(BRCMF_VIF_STATUS_EAP_SUCCESS, &vif->sme_state); if ((event == BRCMF_E_SET_SSID && status == BRCMF_E_STATUS_SUCCESS) || (event == BRCMF_E_LINK && status == BRCMF_E_STATUS_SUCCESS && - (e->flags & BRCMF_EVENT_MSG_LINK))) { + ((e->reason != BRCMF_E_REASON_INITIAL_ASSOC) && + (e->flags & BRCMF_EVENT_MSG_LINK)))) { brcmf_dbg(CONN, "Processing set ssid\n"); memcpy(vif->profile.bssid, e->addr, ETH_ALEN); if (vif->profile.use_fwsup != BRCMF_PROFILE_FWSUP_PSK && -- 2.25.1