drivers/net/wireless/broadcom/brcm80211/brcmfmac/cyw/core.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-)
Zero out auth_status on initialization. Otherwise, garbage will
leak from the stack to the firmware (when ssid is less than 32 bytes
and/or when params->pmkid is set). Then, pass the params->pmkid to the
firmware (without it, the firmware caches a garbage PMKID on successful
authentication and denies a subsequent association request that includes
the PMKID).
Fixes: 66f909308a7c ("wifi: brcmfmac: cyw: support external SAE authentication in station mode")
Signed-off-by: Bogdan Nicolae <bogdan.nicolae@gmail.com>
Acked-by: Arend van Spriel <arend.vanspriel@broadcom.com>
---
v6: Fixed diff line number
v5: Fixed line length > 80 chars
v4: Fixed indentation
v3: Added Fixes, Cc: stable, and Acked-by tags
v2: Split into a separate patch
drivers/net/wireless/broadcom/brcm80211/brcmfmac/cyw/core.c | 4 +++-
1 file changed, 3 insertions(+), 1 deletion(-)
diff --git a/drivers/net/wireless/broadcom/brcm80211/brcmfmac/cyw/core.c b/drivers/net/wireless/broadcom/brcm80211/brcmfmac/cyw/core.c
index 873754be5..2c59b5e57 100644
--- a/drivers/net/wireless/broadcom/brcm80211/brcmfmac/cyw/core.c
+++ b/drivers/net/wireless/broadcom/brcm80211/brcmfmac/cyw/core.c
@@ -200,7 +200,7 @@ brcmf_cyw_external_auth(struct wiphy *wiphy, struct net_device *dev,
{
struct brcmf_if *ifp;
struct brcmf_pub *drvr;
- struct brcmf_auth_req_status_le auth_status;
+ struct brcmf_auth_req_status_le auth_status = {};
int ret = 0;
brcmf_dbg(TRACE, "Enter\n");
@@ -208,6 +208,9 @@ brcmf_cyw_external_auth(struct wiphy *wiphy, struct net_device *dev,
ifp = netdev_priv(dev);
drvr = ifp->drvr;
if (params->status == WLAN_STATUS_SUCCESS) {
+ if (params->pmkid)
+ memcpy(auth_status.pmkid, params->pmkid,
+ WLAN_PMKID_LEN);
auth_status.flags = cpu_to_le16(BRCMF_EXTAUTH_SUCCESS);
} else {
bphy_err(drvr, "External authentication failed: status=%d\n",
--
2.55.0
Op 7 augustus 2026 18:37:48 schreef Bogdan Nicolae <bogdan.nicolae@gmail.com>:
> Zero out auth_status on initialization. Otherwise, garbage will
> leak from the stack to the firmware (when ssid is less than 32 bytes
> and/or when params->pmkid is set). Then, pass the params->pmkid to the
> firmware (without it, the firmware caches a garbage PMKID on successful
> authentication and denies a subsequent association request that includes
> the PMKID).
>
> Fixes: 66f909308a7c ("wifi: brcmfmac: cyw: support external SAE
> authentication in station mode")
> Signed-off-by: Bogdan Nicolae <bogdan.nicolae@gmail.com>
> Acked-by: Arend van Spriel <arend.vanspriel@broadcom.com>
Hi Bogdan,
Looks good so my Acked-by: still stands. Thanks for going with the flow.
Regards,
Arend
> ---
> v6: Fixed diff line number
> v5: Fixed line length > 80 chars
> v4: Fixed indentation
> v3: Added Fixes, Cc: stable, and Acked-by tags
> v2: Split into a separate patch
>
> drivers/net/wireless/broadcom/brcm80211/brcmfmac/cyw/core.c | 4 +++-
> 1 file changed, 3 insertions(+), 1 deletion(-)
Sure!
Best,
Bogdan
On Fri, Aug 7, 2026 at 11:52 AM Arend van Spriel
<arend.vanspriel@broadcom.com> wrote:
>
> Op 7 augustus 2026 18:37:48 schreef Bogdan Nicolae <bogdan.nicolae@gmail.com>:
>
> > Zero out auth_status on initialization. Otherwise, garbage will
> > leak from the stack to the firmware (when ssid is less than 32 bytes
> > and/or when params->pmkid is set). Then, pass the params->pmkid to the
> > firmware (without it, the firmware caches a garbage PMKID on successful
> > authentication and denies a subsequent association request that includes
> > the PMKID).
> >
> > Fixes: 66f909308a7c ("wifi: brcmfmac: cyw: support external SAE
> > authentication in station mode")
> > Signed-off-by: Bogdan Nicolae <bogdan.nicolae@gmail.com>
> > Acked-by: Arend van Spriel <arend.vanspriel@broadcom.com>
>
> Hi Bogdan,
>
> Looks good so my Acked-by: still stands. Thanks for going with the flow.
>
> Regards,
> Arend
>
> > ---
> > v6: Fixed diff line number
> > v5: Fixed line length > 80 chars
> > v4: Fixed indentation
> > v3: Added Fixes, Cc: stable, and Acked-by tags
> > v2: Split into a separate patch
> >
> > drivers/net/wireless/broadcom/brcm80211/brcmfmac/cyw/core.c | 4 +++-
> > 1 file changed, 3 insertions(+), 1 deletion(-)
>
>
>
© 2016 - 2026 Red Hat, Inc.