mirror of
https://github.com/nxp-imx/linux-imx.git
synced 2025-07-10 11:25:18 +02:00
wifi: brcmfmac: cfg80211: Handle SSID based pmksa deletion
commit2ad4e1ada8
upstream. wpa_supplicant 2.11 sends since 1efdba5fdc2c ("Handle PMKSA flush in the driver for SAE/OWE offload cases") SSID based PMKSA del commands. brcmfmac is not prepared and tries to dereference the NULL bssid and pmkid pointers in cfg80211_pmksa. PMKID_V3 operations support SSID based updates so copy the SSID. Fixes:a96202acae
("wifi: brcmfmac: cfg80211: Add support for PMKID_V3 operations") Cc: stable@vger.kernel.org # 6.4.x Signed-off-by: Janne Grunau <j@jannau.net> Reviewed-by: Neal Gompa <neal@gompa.dev> Acked-by: Arend van Spriel <arend.vanspriel@broadcom.com> Signed-off-by: Kalle Valo <kvalo@kernel.org> Link: https://patch.msgid.link/20240803-brcmfmac_pmksa_del_ssid-v1-1-4e85f19135e1@jannau.net Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
This commit is contained in:
parent
221cf83217
commit
4291f94f8c
|
@ -4321,9 +4321,16 @@ brcmf_pmksa_v3_op(struct brcmf_if *ifp, struct cfg80211_pmksa *pmksa,
|
|||
/* Single PMK operation */
|
||||
pmk_op->count = cpu_to_le16(1);
|
||||
length += sizeof(struct brcmf_pmksa_v3);
|
||||
memcpy(pmk_op->pmk[0].bssid, pmksa->bssid, ETH_ALEN);
|
||||
memcpy(pmk_op->pmk[0].pmkid, pmksa->pmkid, WLAN_PMKID_LEN);
|
||||
pmk_op->pmk[0].pmkid_len = WLAN_PMKID_LEN;
|
||||
if (pmksa->bssid)
|
||||
memcpy(pmk_op->pmk[0].bssid, pmksa->bssid, ETH_ALEN);
|
||||
if (pmksa->pmkid) {
|
||||
memcpy(pmk_op->pmk[0].pmkid, pmksa->pmkid, WLAN_PMKID_LEN);
|
||||
pmk_op->pmk[0].pmkid_len = WLAN_PMKID_LEN;
|
||||
}
|
||||
if (pmksa->ssid && pmksa->ssid_len) {
|
||||
memcpy(pmk_op->pmk[0].ssid.SSID, pmksa->ssid, pmksa->ssid_len);
|
||||
pmk_op->pmk[0].ssid.SSID_len = pmksa->ssid_len;
|
||||
}
|
||||
pmk_op->pmk[0].time_left = cpu_to_le32(alive ? BRCMF_PMKSA_NO_EXPIRY : 0);
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in New Issue
Block a user