]> git.proxmox.com Git - mirror_ubuntu-jammy-kernel.git/blob - net/mac80211/key.c
[MAC80211]: remove krefs for keys
[mirror_ubuntu-jammy-kernel.git] / net / mac80211 / key.c
1 /*
2 * Copyright 2002-2005, Instant802 Networks, Inc.
3 * Copyright 2005-2006, Devicescape Software, Inc.
4 * Copyright 2006-2007 Jiri Benc <jbenc@suse.cz>
5 *
6 * This program is free software; you can redistribute it and/or modify
7 * it under the terms of the GNU General Public License version 2 as
8 * published by the Free Software Foundation.
9 */
10
11 #include <net/mac80211.h>
12 #include "ieee80211_i.h"
13 #include "debugfs_key.h"
14 #include "aes_ccm.h"
15
16 struct ieee80211_key *ieee80211_key_alloc(struct ieee80211_sub_if_data *sdata,
17 int idx, size_t key_len, gfp_t flags)
18 {
19 struct ieee80211_key *key;
20
21 key = kzalloc(sizeof(struct ieee80211_key) + key_len, flags);
22 if (!key)
23 return NULL;
24 return key;
25 }
26
27 void ieee80211_key_free(struct ieee80211_key *key)
28 {
29 if (!key)
30 return;
31
32 if (key->conf.alg == ALG_CCMP)
33 ieee80211_aes_key_free(key->u.ccmp.tfm);
34 ieee80211_debugfs_key_remove(key);
35 kfree(key);
36 }