Skip to content

Commit

Permalink
brcmfmac: return immediately error for out of range key_idx.
Browse files Browse the repository at this point in the history
when brcmf_cfg80211_del_key was called with out of range key index
then firmware would return error. Checking was added to
brcmf_cfg80211_del_key to immediately return error.

Reviewed-by: Arend Van Spriel <arend@broadcom.com>
Signed-off-by: Hante Meuleman <meuleman@broadcom.com>
Signed-off-by: Franky Lin <frankyl@broadcom.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
  • Loading branch information
Hante Meuleman authored and John W. Linville committed Nov 14, 2012
1 parent 3f40b83 commit 256c374
Showing 1 changed file with 6 additions and 9 deletions.
15 changes: 6 additions & 9 deletions drivers/net/wireless/brcm80211/brcmfmac/wl_cfg80211.c
Original file line number Diff line number Diff line change
Expand Up @@ -1822,6 +1822,12 @@ brcmf_cfg80211_del_key(struct wiphy *wiphy, struct net_device *ndev,
if (!check_vif_up(ifp->vif))
return -EIO;

if (key_idx >= DOT11_MAX_DEFAULT_KEYS) {
/* we ignore this key index in this case */
WL_ERR("invalid key index (%d)\n", key_idx);
return -EINVAL;
}

memset(&key, 0, sizeof(key));

key.index = (u32) key_idx;
Expand All @@ -1832,15 +1838,6 @@ brcmf_cfg80211_del_key(struct wiphy *wiphy, struct net_device *ndev,

/* Set the new key/index */
err = send_key_to_dongle(ndev, &key);
if (err) {
if (err == -EINVAL) {
if (key.index >= DOT11_MAX_DEFAULT_KEYS)
/* we ignore this key index in this case */
WL_ERR("invalid key index (%d)\n", key_idx);
}
/* Ignore this error, may happen during DISASSOC */
err = -EAGAIN;
}

WL_TRACE("Exit\n");
return err;
Expand Down

0 comments on commit 256c374

Please sign in to comment.