“437db5903653f6a8a736e77ad5c21a296d74299b”上不存在“include/linux/sunxi_timer.h”
提交 256c374f 编写于 作者: H Hante Meuleman 提交者: John W. Linville

brcmfmac: return immediately error for out of range key_idx.

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: NArend Van Spriel <arend@broadcom.com>
Signed-off-by: NHante Meuleman <meuleman@broadcom.com>
Signed-off-by: NFranky Lin <frankyl@broadcom.com>
Signed-off-by: NJohn W. Linville <linville@tuxdriver.com>
上级 3f40b839
...@@ -1822,6 +1822,12 @@ brcmf_cfg80211_del_key(struct wiphy *wiphy, struct net_device *ndev, ...@@ -1822,6 +1822,12 @@ brcmf_cfg80211_del_key(struct wiphy *wiphy, struct net_device *ndev,
if (!check_vif_up(ifp->vif)) if (!check_vif_up(ifp->vif))
return -EIO; 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)); memset(&key, 0, sizeof(key));
key.index = (u32) key_idx; key.index = (u32) key_idx;
...@@ -1832,15 +1838,6 @@ brcmf_cfg80211_del_key(struct wiphy *wiphy, struct net_device *ndev, ...@@ -1832,15 +1838,6 @@ brcmf_cfg80211_del_key(struct wiphy *wiphy, struct net_device *ndev,
/* Set the new key/index */ /* Set the new key/index */
err = send_key_to_dongle(ndev, &key); 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"); WL_TRACE("Exit\n");
return err; return err;
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册