]> git.ipfire.org Git - thirdparty/kernel/stable.git/commitdiff
Add get_unaligned to ieee80211_get_radiotap_len
authorAndy Green <andy@warmcat.com>
Wed, 10 Oct 2007 02:46:33 +0000 (22:46 -0400)
committerGreg Kroah-Hartman <gregkh@suse.de>
Fri, 2 Nov 2007 15:44:12 +0000 (08:44 -0700)
patch dfe6e81deaa79c85086c0cc8d85b229e444ab97f in mainline.

ieee80211_get_radiotap_len() tries to dereference radiotap length without
taking care that it is completely unaligned and get_unaligned()
is required.

Signed-off-by: Andy Green <andy@warmcat.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
net/mac80211/ieee80211.c

index 42725e1cf7d34c0b7510cdf0f4a10d103964e2b0..b9f25070c6beeaeab5f184d5adadb349693e1f5e 100644 (file)
@@ -24,6 +24,7 @@
 #include <linux/compiler.h>
 #include <linux/bitmap.h>
 #include <net/cfg80211.h>
+#include <asm/unaligned.h>
 
 #include "ieee80211_common.h"
 #include "ieee80211_i.h"
@@ -338,7 +339,7 @@ static int ieee80211_get_radiotap_len(struct sk_buff *skb)
        struct ieee80211_radiotap_header *hdr =
                (struct ieee80211_radiotap_header *) skb->data;
 
-       return le16_to_cpu(hdr->it_len);
+       return le16_to_cpu(get_unaligned(&hdr->it_len));
 }
 
 #ifdef CONFIG_MAC80211_LOWTX_FRAME_DUMP