]> git.ipfire.org Git - thirdparty/hostap.git/commitdiff
AP: Check a STA is HE before copying EHT/6 GHz capabilities
authorPablo Martin-Gomez <pmartin-gomez@freebox.fr>
Wed, 11 Jun 2025 18:38:08 +0000 (20:38 +0200)
committerJouni Malinen <j@w1.fi>
Mon, 29 Sep 2025 11:05:25 +0000 (14:05 +0300)
A EHT STA and/or a 6 GHz capable STA is a HE STA. If a STA has an
invalid HE capabilities, the HE capability of the STA is deactivated but
the EHT/6 GHz capability is still activated and their elements copied.

Deactivate the EHT/6 GHz capability of a STA if it is not a HE STA.

Signed-off-by: Pablo Martin-Gomez <pmartin-gomez@freebox.fr>
src/ap/ieee802_11_eht.c
src/ap/ieee802_11_he.c

index 243e50b9f39adc969ec13d2767667f079c7b432e..ac36c9c48cb8f4730f13a83276763997e64b4fe4 100644 (file)
@@ -382,7 +382,8 @@ u16 copy_sta_eht_capab(struct hostapd_data *hapd, struct sta_info *sta,
            ieee80211_invalid_eht_cap_size(mode, hapd->iconf->op_class,
                                           he_capab, eht_capab,
                                           eht_capab_len) ||
-           !check_valid_eht_mcs(hapd, eht_capab, opmode)) {
+           !check_valid_eht_mcs(hapd, eht_capab, opmode) ||
+           !(sta->flags & WLAN_STA_HE)) {
                sta->flags &= ~WLAN_STA_EHT;
                os_free(sta->eht_capab);
                sta->eht_capab = NULL;
index e072fb831acac9bf83f434532decbfc600417d36..01bcd75cf25b0518e781e891e3ba164022d2eabf 100644 (file)
@@ -500,7 +500,8 @@ u16 copy_sta_he_6ghz_capab(struct hostapd_data *hapd, struct sta_info *sta,
 {
        if (!he_6ghz_capab || !hapd->iconf->ieee80211ax ||
            hapd->conf->disable_11ax ||
-           !is_6ghz_op_class(hapd->iconf->op_class)) {
+           !is_6ghz_op_class(hapd->iconf->op_class) ||
+           !(sta->flags & WLAN_STA_HE)) {
                sta->flags &= ~WLAN_STA_6GHZ;
                os_free(sta->he_6ghz_capab);
                sta->he_6ghz_capab = NULL;