ath9k: Clear key cache explicitly on disabling hardware
authorJouni Malinen <jouni@codeaurora.org>
Mon, 14 Dec 2020 17:21:15 +0000 (19:21 +0200)
committerSasha Levin <sashal@kernel.org>
Thu, 26 Aug 2021 12:35:32 +0000 (08:35 -0400)
commit 73488cb2fa3bb1ef9f6cf0d757f76958bd4deaca upstream.

Now that ath/key.c may not be explicitly clearing keys from the key
cache, clear all key cache entries when disabling hardware to make sure
no keys are left behind beyond this point.

Signed-off-by: Jouni Malinen <jouni@codeaurora.org>
Signed-off-by: Kalle Valo <kvalo@codeaurora.org>
Link: https://lore.kernel.org/r/20201214172118.18100-3-jouni@codeaurora.org
Cc: Pali Rohár <pali@kernel.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/net/wireless/ath/ath9k/main.c

index ac805f56627ab90b30fb74ce9dac74f8f824d8e9..7d933fd8e5bbec0589626966210c536d22ae3523 100644 (file)
@@ -899,6 +899,11 @@ static void ath9k_stop(struct ieee80211_hw *hw)
 
        spin_unlock_bh(&sc->sc_pcu_lock);
 
+       /* Clear key cache entries explicitly to get rid of any potentially
+        * remaining keys.
+        */
+       ath9k_cmn_init_crypto(sc->sc_ah);
+
        ath9k_ps_restore(sc);
 
        sc->ps_idle = prev_idle;