diff options
Diffstat (limited to 'package/mac80211/patches/306-pending-rt2x00-zero-out-rx_status.patch')
-rw-r--r-- | package/mac80211/patches/306-pending-rt2x00-zero-out-rx_status.patch | 65 |
1 files changed, 0 insertions, 65 deletions
diff --git a/package/mac80211/patches/306-pending-rt2x00-zero-out-rx_status.patch b/package/mac80211/patches/306-pending-rt2x00-zero-out-rx_status.patch deleted file mode 100644 index 884b942802..0000000000 --- a/package/mac80211/patches/306-pending-rt2x00-zero-out-rx_status.patch +++ /dev/null @@ -1,65 +0,0 @@ -From e922d683ca8001ce9a6272d6ab12d74e72c36521 Mon Sep 17 00:00:00 2001 -From: Gabor Juhos <juhosg@openwrt.org> -Date: Tue, 11 Dec 2012 14:15:53 +0100 -Subject: [PATCH v2] rt2x00: zero-out rx_status - -In commit 'mac80211: support radiotap vendor namespace RX data' -new fields were added to 'struct ieee80211_rx_status' and those -fileds must be zeroed. However the rt2x00 driver stores driver -specific data in the cb array of the rx skbs, so the fields -might contain garbage and this can cause unexpected behaviour. - -The rt2x00 driver from the compat-wireless-2012-12-01 -tarball caused the following warning: - - WARNING: at - /devel/ramips/build_dir/target-mipsel_r2_uClibc-0.9.33.2/linux-ramips_rt305x/ - compat-wireless-2012-12-01/net/mac80211/rx.c:115 ieee80211_rx_irqsafe+0x274/0xbcc - [mac80211]() - Modules linked in: dwc_otg ledtrig_usbdev nf_nat_irc - nf_nat_ftp nf_conntrack_irc nf_conntrack_ftp ipt_MASQUERADE - iptable_nat nf_nat pppoe xt_conntrack xt_CT xt_NOTRACK iptable_raw - xt_state nf_conntrack_ipv4 nf_defrag_ipv4 nf_conntrack pppox - ipt_REJECT xt_TCPMSS xt_comment xt_multiport xt_mac xt_limit - iptable_mangle iptable_filter ip_tables xt_tcpudp x_tables ppp_async - ppp_generic slhc rt2800pci(O) rt2800lib(O) rt2x00soc(O) rt2x00pci(O) - rt2x00lib(O) mac80211(O) usbcore usb_common nls_base crc_itu_t - crc_ccitt eeprom_93cx6 cfg80211(O) compat(O) arc4 aes_generic - crypto_blkcipher cryptomgr aead crypto_hash crypto_algapi leds_gpio - button_hotplug(O) gpio_keys_polled input_polldev input_core - Call Trace: - [<801e96b4>] dump_stack+0x8/0x34 - [<80010a9c>] warn_slowpath_common+0x78/0xa4 - [<80010ae0>] warn_slowpath_null+0x18/0x24 - [<80a9710c>] ieee80211_rx_irqsafe+0x274/0xbcc [mac80211] - -The patch ensures that each field gets initialized with -zeroes. - -Cc: <users@rt2x00.serialmonkey.com> -Signed-off-by: Gabor Juhos <juhosg@openwrt.org> ---- -v2: - - update the commit message and add a comment to the code - - drop the ath5k and p54 patches ---- - drivers/net/wireless/rt2x00/rt2x00dev.c | 8 ++++++++ - 1 file changed, 8 insertions(+) - ---- a/drivers/net/wireless/rt2x00/rt2x00dev.c -+++ b/drivers/net/wireless/rt2x00/rt2x00dev.c -@@ -685,6 +685,14 @@ void rt2x00lib_rxdone(struct queue_entry - * to mac80211. - */ - rx_status = IEEE80211_SKB_RXCB(entry->skb); -+ -+ /* Ensure that all fields of rx_status are initialized -+ * properly. The skb->cb array was used for driver -+ * specific informations, so rx_status might contain -+ * garbage. -+ */ -+ memset(rx_status, 0, sizeof(*rx_status)); -+ - rx_status->mactime = rxdesc.timestamp; - rx_status->band = rt2x00dev->curr_band; - rx_status->freq = rt2x00dev->curr_freq; |