From: Johannes Berg Date: Tue, 28 Apr 2026 09:06:58 +0000 (+0200) Subject: wifi: cfg80211: ensure UHR ML-PM flag is consistent X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=793ccb743282f162598d3da51801e8c6dd234918;p=thirdparty%2Fkernel%2Flinux.git wifi: cfg80211: ensure UHR ML-PM flag is consistent We check that extended MLD capabilities and operations are consistent across APs in an AP MLD, but didn't check reserved fields since they could be defined to differ. Check bit 8 now since it's defined by UHR to be consistent. Link: https://patch.msgid.link/20260428110915.34158027395b.I9df13d3f2588d79294559fad64182acc9edf3f30@changeid Signed-off-by: Johannes Berg --- diff --git a/net/wireless/mlme.c b/net/wireless/mlme.c index 50ee462e5eac4..2a2c173058bac 100644 --- a/net/wireless/mlme.c +++ b/net/wireless/mlme.c @@ -361,17 +361,18 @@ cfg80211_mlme_check_mlo_compat(const struct ieee80211_multi_link_elem *mle_a, * reserved when included in a unicast Probe Response frame and may * also change when the AP adds/removes links. The BTM MLD * Recommendation For Multiple APs Support subfield is reserved when - * transmitted by an AP. All other bits are currently reserved. - * See IEEE P802.11be/D7.0, Table 9-417o. + * transmitted by an AP. */ if ((ieee80211_mle_get_ext_mld_capa_op((const u8 *)mle_a) & (IEEE80211_EHT_ML_EXT_MLD_CAPA_OP_PARAM_UPDATE | IEEE80211_EHT_ML_EXT_MLD_CAPA_NSTR_UPDATE | - IEEE80211_EHT_ML_EXT_MLD_CAPA_EMLSR_ENA_ON_ONE_LINK)) != + IEEE80211_EHT_ML_EXT_MLD_CAPA_EMLSR_ENA_ON_ONE_LINK | + IEEE80211_UHR_ML_EXT_MLD_CAPA_ML_PM)) != (ieee80211_mle_get_ext_mld_capa_op((const u8 *)mle_b) & (IEEE80211_EHT_ML_EXT_MLD_CAPA_OP_PARAM_UPDATE | IEEE80211_EHT_ML_EXT_MLD_CAPA_NSTR_UPDATE | - IEEE80211_EHT_ML_EXT_MLD_CAPA_EMLSR_ENA_ON_ONE_LINK))) { + IEEE80211_EHT_ML_EXT_MLD_CAPA_EMLSR_ENA_ON_ONE_LINK | + IEEE80211_UHR_ML_EXT_MLD_CAPA_ML_PM))) { NL_SET_ERR_MSG(extack, "extended link MLD capabilities/ops mismatch"); return -EINVAL;