mac80211: fix basic rate bitmap calculation
authorJohannes Berg <johannes@sipsolutions.net>
Sun, 19 Apr 2009 11:22:11 +0000 (13:22 +0200)
committerJohn W. Linville <linville@tuxdriver.com>
Mon, 20 Apr 2009 20:36:26 +0000 (16:36 -0400)
"mac80211: fix basic rates setting from association response"
introduced a copy/paste error.

Unfortunately, this not just leads to wrong data being passed
to the driver but is remotely exploitable for some hardware or
driver combinations.

Signed-off-by: Johannes Berg <johannes@sipsolutions.net>
Cc: stable@kernel.org [2.6.29]
Signed-off-by: John W. Linville <linville@tuxdriver.com>
net/mac80211/mlme.c

index ccfc21aa0b610fe006b8552e8ca326e8654a181a..132938b073dc061327e8e3e47e00a8919119481e 100644 (file)
@@ -1366,7 +1366,7 @@ static void ieee80211_rx_mgmt_assoc_resp(struct ieee80211_sub_if_data *sdata,
 
        for (i = 0; i < elems.ext_supp_rates_len; i++) {
                int rate = (elems.ext_supp_rates[i] & 0x7f) * 5;
-               bool is_basic = !!(elems.supp_rates[i] & 0x80);
+               bool is_basic = !!(elems.ext_supp_rates[i] & 0x80);
 
                if (rate > 110)
                        have_higher_than_11mbit = true;