提交 4619194a 编写于 作者: J Johannes Berg

mac80211: don't remove tainted keys after not programming

When a key is tainted during resume, it is no longer programmed
into the device; however, it's uploaded flag may (will) be set.
Clear the flag when not programming it because it's tainted to
avoid attempting to remove it again later.
Signed-off-by: NJohannes Berg <johannes.berg@intel.com>
上级 02219b3a
...@@ -94,8 +94,17 @@ static int ieee80211_key_enable_hw_accel(struct ieee80211_key *key) ...@@ -94,8 +94,17 @@ static int ieee80211_key_enable_hw_accel(struct ieee80211_key *key)
might_sleep(); might_sleep();
if (key->flags & KEY_FLAG_TAINTED) if (key->flags & KEY_FLAG_TAINTED) {
/* If we get here, it's during resume and the key is
* tainted so shouldn't be used/programmed any more.
* However, its flags may still indicate that it was
* programmed into the device (since we're in resume)
* so clear that flag now to avoid trying to remove
* it again later.
*/
key->flags &= ~KEY_FLAG_UPLOADED_TO_HARDWARE;
return -EINVAL; return -EINVAL;
}
if (!key->local->ops->set_key) if (!key->local->ops->set_key)
goto out_unsupported; goto out_unsupported;
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册