mirror of
https://github.com/Fishwaldo/Star64_linux.git
synced 2025-06-21 06:01:23 +00:00
mac80211: support separate default keys
Add support for split default keys (unicast and multicast) in mac80211. Signed-off-by: Johannes Berg <johannes.berg@intel.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
This commit is contained in:
parent
dbd2fd656f
commit
f7e0104c1a
8 changed files with 62 additions and 47 deletions
|
@ -274,7 +274,8 @@ void ieee80211_debugfs_key_remove(struct ieee80211_key *key)
|
|||
debugfs_remove_recursive(key->debugfs.dir);
|
||||
key->debugfs.dir = NULL;
|
||||
}
|
||||
void ieee80211_debugfs_key_add_default(struct ieee80211_sub_if_data *sdata)
|
||||
|
||||
void ieee80211_debugfs_key_update_default(struct ieee80211_sub_if_data *sdata)
|
||||
{
|
||||
char buf[50];
|
||||
struct ieee80211_key *key;
|
||||
|
@ -282,25 +283,29 @@ void ieee80211_debugfs_key_add_default(struct ieee80211_sub_if_data *sdata)
|
|||
if (!sdata->debugfs.dir)
|
||||
return;
|
||||
|
||||
/* this is running under the key lock */
|
||||
lockdep_assert_held(&sdata->local->key_mtx);
|
||||
|
||||
key = sdata->default_key;
|
||||
if (key) {
|
||||
if (sdata->default_unicast_key) {
|
||||
key = sdata->default_unicast_key;
|
||||
sprintf(buf, "../keys/%d", key->debugfs.cnt);
|
||||
sdata->debugfs.default_key =
|
||||
debugfs_create_symlink("default_key",
|
||||
sdata->debugfs.default_unicast_key =
|
||||
debugfs_create_symlink("default_unicast_key",
|
||||
sdata->debugfs.dir, buf);
|
||||
} else
|
||||
ieee80211_debugfs_key_remove_default(sdata);
|
||||
}
|
||||
} else {
|
||||
debugfs_remove(sdata->debugfs.default_unicast_key);
|
||||
sdata->debugfs.default_unicast_key = NULL;
|
||||
}
|
||||
|
||||
void ieee80211_debugfs_key_remove_default(struct ieee80211_sub_if_data *sdata)
|
||||
{
|
||||
if (!sdata)
|
||||
return;
|
||||
|
||||
debugfs_remove(sdata->debugfs.default_key);
|
||||
sdata->debugfs.default_key = NULL;
|
||||
if (sdata->default_multicast_key) {
|
||||
key = sdata->default_multicast_key;
|
||||
sprintf(buf, "../keys/%d", key->debugfs.cnt);
|
||||
sdata->debugfs.default_multicast_key =
|
||||
debugfs_create_symlink("default_multicast_key",
|
||||
sdata->debugfs.dir, buf);
|
||||
} else {
|
||||
debugfs_remove(sdata->debugfs.default_multicast_key);
|
||||
sdata->debugfs.default_multicast_key = NULL;
|
||||
}
|
||||
}
|
||||
|
||||
void ieee80211_debugfs_key_add_mgmt_default(struct ieee80211_sub_if_data *sdata)
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue