ath9k: Clear key cache explicitly on disabling hardware
authorJouni Malinen <jouni@codeaurora.org>
Mon, 14 Dec 2020 17:21:15 +0000 (19:21 +0200)
committerSalvatore Bonaccorso <carnil@debian.org>
Thu, 23 Sep 2021 20:35:21 +0000 (21:35 +0100)
Origin: https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux-stable.git/commit?id=6566c207e5767deb37d283ed9f77b98439a1de4e
Bug-Debian-Security: https://security-tracker.debian.org/tracker/CVE-2020-3702

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>
Gbp-Pq: Topic bugfix/all
Gbp-Pq: Name ath9k-Clear-key-cache-explicitly-on-disabling-hardwa.patch

drivers/net/wireless/ath/ath9k/main.c

index 8dbf68b94228c8a96661bd0ec6129089cca8070a..638be322ea16bce3aef7b89b79ed2f6911c7d227 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;