]>
Commit | Line | Data |
---|---|---|
1f5a7e47 JB |
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 | ||
1f5a7e47 JB |
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; | |
1f5a7e47 JB |
24 | return key; |
25 | } | |
26 | ||
8f37171a | 27 | void ieee80211_key_free(struct ieee80211_key *key) |
1f5a7e47 | 28 | { |
8f37171a JB |
29 | if (!key) |
30 | return; | |
1f5a7e47 | 31 | |
8f20fc24 | 32 | if (key->conf.alg == ALG_CCMP) |
1f5a7e47 JB |
33 | ieee80211_aes_key_free(key->u.ccmp.tfm); |
34 | ieee80211_debugfs_key_remove(key); | |
35 | kfree(key); | |
36 | } |