]> git.proxmox.com Git - mirror_ubuntu-bionic-kernel.git/commitdiff
nl80211: Fix possible Spectre-v1 for NL80211_TXRATE_HT
authorMasashi Honma <masashi.honma@gmail.com>
Tue, 25 Sep 2018 02:15:00 +0000 (11:15 +0900)
committerStefan Bader <stefan.bader@canonical.com>
Wed, 24 Apr 2019 08:09:09 +0000 (10:09 +0200)
Use array_index_nospec() to sanitize ridx with respect to speculation.

Signed-off-by: Masashi Honma <masashi.honma@gmail.com>
Signed-off-by: Johannes Berg <johannes.berg@intel.com>
CVE-2017-5753

(cherry picked from commit 30fe6d50eb088783c8729c7d930f65296b2b3fa7)
Signed-off-by: Juerg Haefliger <juergh@canonical.com>
Acked-by: Stefan Bader <stefan.bader@canonical.com>
Acked-by: Kleber Sacilotto de Souza <kleber.souza@canonical.com>
Signed-off-by: Stefan Bader <stefan.bader@canonical.com>
net/wireless/nl80211.c

index 4bbcfc1e2d4314865ca834b24ab0f1fa5f1abf48..66509123c3a69d72b094b44fbe93d433c6161a19 100644 (file)
@@ -3516,6 +3516,7 @@ static bool ht_rateset_to_mask(struct ieee80211_supported_band *sband,
                        return false;
 
                /* check availability */
+               ridx = array_index_nospec(ridx, IEEE80211_HT_MCS_MASK_LEN);
                if (sband->ht_cap.mcs.rx_mask[ridx] & rbit)
                        mcs[ridx] |= rbit;
                else