Skip to content

Commit

Permalink
mac80211: don't kmalloc 16 bytes
Browse files Browse the repository at this point in the history
Since this small buffer isn't used for DMA,
we can simply allocate it on the stack, it
just needs to be 16 bytes of which only 8
will be used for WEP40 keys.

Signed-off-by: Johannes Berg <johannes.berg@intel.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
  • Loading branch information
Johannes Berg authored and John W. Linville committed Oct 11, 2010
1 parent cc2858c commit 730bd83
Showing 1 changed file with 1 addition and 7 deletions.
8 changes: 1 addition & 7 deletions net/mac80211/wep.c
Original file line number Diff line number Diff line change
Expand Up @@ -222,7 +222,7 @@ static int ieee80211_wep_decrypt(struct ieee80211_local *local,
struct ieee80211_key *key)
{
u32 klen;
u8 *rc4key;
u8 rc4key[3 + WLAN_KEY_LEN_WEP104];
u8 keyidx;
struct ieee80211_hdr *hdr = (struct ieee80211_hdr *)skb->data;
unsigned int hdrlen;
Expand All @@ -245,10 +245,6 @@ static int ieee80211_wep_decrypt(struct ieee80211_local *local,

klen = 3 + key->conf.keylen;

rc4key = kmalloc(klen, GFP_ATOMIC);
if (!rc4key)
return -1;

/* Prepend 24-bit IV to RC4 key */
memcpy(rc4key, skb->data + hdrlen, 3);

Expand All @@ -260,8 +256,6 @@ static int ieee80211_wep_decrypt(struct ieee80211_local *local,
len))
ret = -1;

kfree(rc4key);

/* Trim ICV */
skb_trim(skb, skb->len - WEP_ICV_LEN);

Expand Down

0 comments on commit 730bd83

Please sign in to comment.