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)
committerJohannes Berg <johannes.berg@intel.com>
Wed, 17 Dec 2014 13:00:17 +0000 (14:00 +0100)
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.

Cc: stable@vger.kernel.org
Fixes: e31b82136d1a ("cfg80211/mac80211: allow per-station GTKs")
Signed-off-by: Johannes Berg <johannes.berg@intel.com>
net/mac80211/key.c

index 434a91ad12c88dabcc2674413e86d08386c3b37d..0bb7038121ac5557ba90114b706f8cbc0e404af2 100644 (file)
@@ -656,7 +656,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;