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 a804e02..0aee239 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;