Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 4619194a authored by Johannes Berg's avatar Johannes Berg
Browse files

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: default avatarJohannes Berg <johannes.berg@intel.com>
parent 02219b3a
Loading
Loading
Loading
Loading
+10 −1
Original line number Diff line number Diff line
@@ -94,8 +94,17 @@ static int ieee80211_key_enable_hw_accel(struct ieee80211_key *key)

	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;
	}

	if (!key->local->ops->set_key)
		goto out_unsupported;