From 18716efa4030a17b45a65137c216dcfca1aec9c0 Mon Sep 17 00:00:00 2001 From: Srinivas Dasari Date: Thu, 3 May 2018 18:47:11 +0800 Subject: [PATCH] nl80211: Allow SAE Authentication for NL80211_CMD_CONNECT This commit allows SAE Authentication for NL80211_CMD_CONNECT interface, provided host driver advertises the support. Host drivers may offload the SAE authentication to user space through NL80211_CMD_EXTERNAL_AUTH interface and thus expect the user space to advertise support to handle offload through NL80211_ATTR_EXTERNAL_AUTH_SUPPORT in NL80211_CMD_CONNECT request. Such drivers should reject the connect request on no offload support from user space. Signed-off-by: Srinivas Dasari Signed-off-by: Jouni Malinen Signed-off-by: Johannes Berg Git-commit: 10773a7c09b327d02144c7d181e6544b7015ffc7 Git-repo: git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git CRs-Fixed: 2468738 Change-Id: I41b49228e88b32a35323c4dc8fa98e507a8a971d Signed-off-by: Srinivas Dasari Signed-off-by: Jiachao Wu Signed-off-by: Min Liu Signed-off-by: stonez --- net/wireless/nl80211.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/net/wireless/nl80211.c b/net/wireless/nl80211.c index 33851e9b2bb8..3d531fcfecf8 100644 --- a/net/wireless/nl80211.c +++ b/net/wireless/nl80211.c @@ -3678,8 +3678,8 @@ static bool nl80211_valid_auth_type(struct cfg80211_registered_device *rdev, return false; return true; case NL80211_CMD_CONNECT: - /* SAE not supported yet */ - if (auth_type == NL80211_AUTHTYPE_SAE) + if (!(rdev->wiphy.features & NL80211_FEATURE_SAE) && + auth_type == NL80211_AUTHTYPE_SAE) return false; /* FILS with SK PFS or PK not supported yet */ if (auth_type == NL80211_AUTHTYPE_FILS_SK_PFS ||