ath9k: Clear key cache explicitly on disabling hardware
authorJouni Malinen <jouni@codeaurora.org>
Mon, 14 Dec 2020 17:21:15 +0000 (19:21 +0200)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Wed, 22 Sep 2021 09:42:56 +0000 (11:42 +0200)
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
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/net/wireless/ath/ath9k/main.c

index 454bf16d6b304c82d4c627f69ead6215bbf52909..d814b8504ec28107c9e4feb601847df8814a8e12 100644 (file)
@@ -894,6 +894,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;