wifi: mac80211: Include Multi-Link in CRC calculation
authorIlan Peer <ilan.peer@intel.com>
Sun, 18 Jun 2023 18:49:44 +0000 (21:49 +0300)
committerJohannes Berg <johannes.berg@intel.com>
Mon, 19 Jun 2023 10:05:30 +0000 (12:05 +0200)
Include the Multi-Link elements found in beacon frames
in the CRC calculation, as these elements are intended
to reflect changes in the AP MLD state.

Signed-off-by: Ilan Peer <ilan.peer@intel.com>
Signed-off-by: Gregory Greenman <gregory.greenman@intel.com>
Link: https://lore.kernel.org/r/20230618214435.ae8246b93d85.Ia64b45198de90ff7f70abcc997841157f148ea40@changeid
Signed-off-by: Johannes Berg <johannes.berg@intel.com>
net/mac80211/util.c

index ef53d3b..6c52c59 100644 (file)
@@ -987,6 +987,10 @@ ieee80211_parse_extension_element(u32 *crc,
                        const struct ieee80211_multi_link_elem *mle =
                                (void *)data;
 
+                       if (crc)
+                               *crc = crc32_be(*crc, (void *)elem,
+                                               elem->datalen + 2);
+
                        switch (le16_get_bits(mle->control,
                                              IEEE80211_ML_CONTROL_TYPE)) {
                        case IEEE80211_ML_CONTROL_TYPE_BASIC: