From: Johannes Berg Date: Fri, 31 Jan 2020 11:12:58 +0000 (+0200) Subject: mac80211: consider WLAN_EID_EXT_HE_OPERATION for parsing CRC X-Git-Tag: v5.7-rc1~146^2~113^2~7 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=660d81dae895a61da5774bc70f43ef30fb878f64;p=thirdparty%2Fkernel%2Flinux.git mac80211: consider WLAN_EID_EXT_HE_OPERATION for parsing CRC We use the parsing CRC for checking if the beacon changed, and if the WLAN_EID_EXT_HE_OPERATION extended element changes we need to track it so we can react to that. Include it in the CRC calculation. Link: https://lore.kernel.org/r/20200131111300.891737-22-luca@coelho.fi Signed-off-by: Johannes Berg --- diff --git a/net/mac80211/util.c b/net/mac80211/util.c index ea7d277a8c453..20436c86b9bf0 100644 --- a/net/mac80211/util.c +++ b/net/mac80211/util.c @@ -912,8 +912,12 @@ static void ieee80211_parse_extension_element(u32 *crc, break; case WLAN_EID_EXT_HE_OPERATION: if (len >= sizeof(*elems->he_operation) && - len == ieee80211_he_oper_size(data) - 1) + len == ieee80211_he_oper_size(data) - 1) { + if (crc) + *crc = crc32_be(*crc, (void *)elem, + elem->datalen + 2); elems->he_operation = data; + } break; case WLAN_EID_EXT_UORA: if (len == 1)