brcmfmac: reject too long PSK
authorJohannes Berg <johannes.berg@intel.com>
Mon, 19 Feb 2018 12:30:45 +0000 (13:30 +0100)
committerKalle Valo <kvalo@codeaurora.org>
Tue, 27 Feb 2018 16:23:54 +0000 (18:23 +0200)
nl80211 already allows specifying 48 bytes, but brcmfmac
only supports 32. Reject keys that are too long.

Signed-off-by: Johannes Berg <johannes.berg@intel.com>
Acked-by: Arend van Spriel <arend.vanspriel@broadcom.com>
Signed-off-by: Kalle Valo <kvalo@codeaurora.org>
drivers/net/wireless/broadcom/brcm80211/brcmfmac/cfg80211.c

index 15fa00d..74a8302 100644 (file)
@@ -5124,6 +5124,9 @@ static int brcmf_cfg80211_set_pmk(struct wiphy *wiphy, struct net_device *dev,
        if (WARN_ON(ifp->vif->profile.use_fwsup != BRCMF_PROFILE_FWSUP_1X))
                return -EINVAL;
 
+       if (conf->pmk_len > BRCMF_WSEC_MAX_PSK_LEN)
+               return -ERANGE;
+
        return brcmf_set_pmk(ifp, conf->pmk, conf->pmk_len);
 }