diff options
author | sam <sam@FreeBSD.org> | 2009-02-10 19:27:50 +0000 |
---|---|---|
committer | sam <sam@FreeBSD.org> | 2009-02-10 19:27:50 +0000 |
commit | 50792711b6cbefd6bddaf1d78592e30d9b5056c1 (patch) | |
tree | 54cbe869c13881e3d9e96dd76147db090dd6dc08 /sys/dev/ath | |
parent | 80e7762b02c8c49ab3eb24ad765e567f8f7eb572 (diff) | |
download | FreeBSD-src-50792711b6cbefd6bddaf1d78592e30d9b5056c1.zip FreeBSD-src-50792711b6cbefd6bddaf1d78592e30d9b5056c1.tar.gz |
mark the CLR key installed for open auth stations such that it is reclaimed
when net80211 tears down station state; without this we leak keycache slots
Diffstat (limited to 'sys/dev/ath')
-rw-r--r-- | sys/dev/ath/if_ath.c | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/sys/dev/ath/if_ath.c b/sys/dev/ath/if_ath.c index dc981c4..1925216 100644 --- a/sys/dev/ath/if_ath.c +++ b/sys/dev/ath/if_ath.c @@ -6093,6 +6093,8 @@ ath_setup_stationkey(struct ieee80211_node *ni) /* XXX locking? */ ni->ni_ucastkey.wk_keyix = keyix; ni->ni_ucastkey.wk_rxkeyix = rxkeyix; + /* NB: must mark device key to get called back on delete */ + ni->ni_ucastkey.wk_flags |= IEEE80211_KEY_DEVKEY; IEEE80211_ADDR_COPY(ni->ni_ucastkey.wk_macaddr, ni->ni_macaddr); /* NB: this will create a pass-thru key entry */ ath_keyset(sc, &ni->ni_ucastkey, vap->iv_bss); |