]> git.ipfire.org Git - thirdparty/kernel/stable.git/commitdiff
mac80211: free management frame keys when removing station
authorJohannes Berg <johannes.berg@intel.com>
Wed, 17 Dec 2014 12:55:49 +0000 (13:55 +0100)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Thu, 8 Jan 2015 18:27:47 +0000 (10:27 -0800)
commit 28a9bc68124c319b2b3dc861e80828a8865fd1ba upstream.

When writing the code to allow per-station GTKs, I neglected to
take into account the management frame keys (index 4 and 5) when
freeing the station and only added code to free the first four
data frame keys.

Fix this by iterating the array of keys over the right length.

Fixes: e31b82136d1a ("cfg80211/mac80211: allow per-station GTKs")
Signed-off-by: Johannes Berg <johannes.berg@intel.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
net/mac80211/key.c

index d808cff8015374ddfb927d5695a3d3973bcc0428..f7afc0ac3b78c30a6ed537f091b34434f09d34b7 100644 (file)
@@ -650,7 +650,7 @@ void ieee80211_free_sta_keys(struct ieee80211_local *local,
        int i;
 
        mutex_lock(&local->key_mtx);
-       for (i = 0; i < NUM_DEFAULT_KEYS; i++) {
+       for (i = 0; i < ARRAY_SIZE(sta->gtk); i++) {
                key = key_mtx_dereference(local, sta->gtk[i]);
                if (!key)
                        continue;