[PATCH 6/7] fils: Ensure capability checks are consistent

Denis Kenzior
2024-08-05T14:07:29Z

iwd supports FILS only on softmac drivers. Ensure the capability check
is consistent between wiphy and netdev, both the softmac and the
relevant EXT_FEATURE bit must be checked.

CMD_EXTERNAL_AUTH could potentially be used for FILS for FullMAC cards,
but no hardware supporting this has been identified yet.
---
src/netdev.c | 3 ++-
src/wiphy.c | 1 +
2 files changed, 3 insertions(+), 1 deletion(-)

diff --git a/src/netdev.c b/src/netdev.c
index 50e60c5d0c98..fb095fdca561 100644
--- a/src/netdev.c
+++ b/src/netdev.c
@@ -3776,7 +3776,8 @@ static int netdev_handshake_state_setup_connection_type(
case IE_RSN_AKM_SUITE_FT_OVER_FILS_SHA256:
case IE_RSN_AKM_SUITE_FT_OVER_FILS_SHA384:
/* FILS has no offload in any upstream driver */
- if (softmac)
+ if (softmac && wiphy_has_ext_feature(wiphy,
+ NL80211_EXT_FEATURE_FILS_STA))
goto softmac;

return -ENOTSUP;
diff --git a/src/wiphy.c b/src/wiphy.c
index 6b755ff8201d..13d498a5cd0c 100644
--- a/src/wiphy.c
+++ b/src/wiphy.c
@@ -277,6 +277,7 @@ enum ie_rsn_akm_suite wiphy_select_akm(struct wiphy *wiphy,
*/
if (security == SECURITY_8021X) {
if (wiphy_has_ext_feature(wiphy, NL80211_EXT_FEATURE_FILS_STA) &&
+ wiphy->support_cmds_auth_assoc &&
fils_capable_hint) {
if ((info->akm_suites &
IE_RSN_AKM_SUITE_FT_OVER_FILS_SHA384) &&
--
2.45.2