]> git.ipfire.org Git - thirdparty/kernel/linux.git/commitdiff
wifi: nl80211: don't give key data to userspace
authorJohannes Berg <johannes.berg@intel.com>
Thu, 27 Jun 2024 08:44:11 +0000 (10:44 +0200)
committerJohannes Berg <johannes.berg@intel.com>
Fri, 28 Jun 2024 07:56:18 +0000 (09:56 +0200)
When a key is requested by userspace, there's really no need
to include the key data, the sequence counter is really what
userspace needs in this case. The fact that it's included is
just a historic quirk.

Remove the key data.

Reviewed-by: Miriam Rachel Korenblit <miriam.rachel.korenblit@intel.com>
Link: https://patch.msgid.link/20240627104411.b6a4f097e4ea.I7e6cc976cb9e8a80ef25a3351330f313373b4578@changeid
Signed-off-by: Johannes Berg <johannes.berg@intel.com>
net/wireless/nl80211.c

index 19d81200a2a2336c67976cd3139174636aa29f38..674368d028f38c388e10f5b39471db9e8317c8d6 100644 (file)
@@ -4487,10 +4487,7 @@ static void get_key_callback(void *c, struct key_params *params)
        struct nlattr *key;
        struct get_key_cookie *cookie = c;
 
-       if ((params->key &&
-            nla_put(cookie->msg, NL80211_ATTR_KEY_DATA,
-                    params->key_len, params->key)) ||
-           (params->seq &&
+       if ((params->seq &&
             nla_put(cookie->msg, NL80211_ATTR_KEY_SEQ,
                     params->seq_len, params->seq)) ||
            (params->cipher &&
@@ -4502,10 +4499,7 @@ static void get_key_callback(void *c, struct key_params *params)
        if (!key)
                goto nla_put_failure;
 
-       if ((params->key &&
-            nla_put(cookie->msg, NL80211_KEY_DATA,
-                    params->key_len, params->key)) ||
-           (params->seq &&
+       if ((params->seq &&
             nla_put(cookie->msg, NL80211_KEY_SEQ,
                     params->seq_len, params->seq)) ||
            (params->cipher &&