wifi: mac80211: don't parse multi-BSSID in assoc resp
authorJohannes Berg <johannes.berg@intel.com>
Fri, 14 Oct 2022 16:56:11 +0000 (18:56 +0200)
committerJohannes Berg <johannes.berg@intel.com>
Thu, 1 Dec 2022 14:09:10 +0000 (15:09 +0100)
It's not valid to have the multiple BSSID element in the
association response (per 802.11 REVme D1.0), so don't
try to parse it there, but only in the fallback beacon
elements if needed.

The other case that was parsing association requests was
already changed in a previous commit.

Change-Id: I659d2ef1253e079cc71c46a017044e116e31c024
Signed-off-by: Johannes Berg <johannes.berg@intel.com>
net/mac80211/mlme.c

index a804e0220ed7456f5540361357bbd329183a9b7f..0aee2392dd292ba3e9896fa717f18b0a4de6ab13 100644 (file)
@@ -3932,7 +3932,6 @@ static bool ieee80211_assoc_config_link(struct ieee80211_link_data *link,
        struct ieee80211_elems_parse_params parse_params = {
                .start = elem_start,
                .len = elem_len,
-               .bss = cbss,
                .link_id = link_id == assoc_data->assoc_link_id ? -1 : link_id,
                .from_ap = true,
        };
@@ -4017,6 +4016,7 @@ static bool ieee80211_assoc_config_link(struct ieee80211_link_data *link,
 
                parse_params.start = bss_ies->data;
                parse_params.len = bss_ies->len;
+               parse_params.bss = cbss;
                bss_elems = ieee802_11_parse_elems_full(&parse_params);
                if (!bss_elems) {
                        ret = false;