diff options
author | Johannes Berg <johannes.berg@intel.com> | 2016-09-13 17:08:23 +0200 |
---|---|---|
committer | Johannes Berg <johannes.berg@intel.com> | 2016-09-15 16:45:41 +0200 |
commit | f1c1f17ac52d22227c0074b3d661d7ed692b707a (patch) | |
tree | 39a551700fae54fc01846f2e8f093c33eded483c /net/wireless/wext-sme.c | |
parent | 89b706fb28e431fa7639348536c284fb375eb3c0 (diff) | |
download | blackbird-op-linux-f1c1f17ac52d22227c0074b3d661d7ed692b707a.tar.gz blackbird-op-linux-f1c1f17ac52d22227c0074b3d661d7ed692b707a.zip |
cfg80211: allow connect keys only with default (TX) key
There's no point in allowing connect keys when one of them
isn't also configured as the TX key, it would just confuse
drivers and probably cause them to pick something for TX.
Disallow this confusing and erroneous configuration.
As wpa_supplicant will always send NL80211_ATTR_KEYS, even
when there are no keys inside, allow that and treat it as
though the attribute isn't present at all.
Signed-off-by: Johannes Berg <johannes.berg@intel.com>
Diffstat (limited to 'net/wireless/wext-sme.c')
-rw-r--r-- | net/wireless/wext-sme.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/net/wireless/wext-sme.c b/net/wireless/wext-sme.c index f6523a4387cc..88f1f6931ab8 100644 --- a/net/wireless/wext-sme.c +++ b/net/wireless/wext-sme.c @@ -42,7 +42,7 @@ int cfg80211_mgd_wext_connect(struct cfg80211_registered_device *rdev, if (!wdev->wext.connect.ssid_len) return 0; - if (wdev->wext.keys) { + if (wdev->wext.keys && wdev->wext.keys->def != -1) { ck = kmemdup(wdev->wext.keys, sizeof(*ck), GFP_KERNEL); if (!ck) return -ENOMEM; |