linux/drivers
Gabor Juhos 028014c81e 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>
Acked-by: Gertjan van Wingerde <gwingerde@gmail.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
2012-12-17 15:45:17 -05:00
..
accessibility
acpi Merge branch 'release' of git://git.kernel.org/pub/scm/linux/kernel/git/rzhang/linux 2012-12-12 07:57:13 -08:00
amba ARM: arm-soc: Cleanups on various subarchitectures 2012-12-12 11:51:39 -08:00
ata ARM: arm-soc: Header cleanups 2012-12-12 11:45:16 -08:00
atm solos-pci: fix double-free of TX skb in DMA mode 2012-12-12 00:16:47 -05:00
auxdisplay
base regmap: Updates for v3.8 2012-12-12 07:55:48 -08:00
bcma bcma: mips: fix clearing device IRQ 2012-12-10 15:49:53 -05:00
block mtip32xx: Fix padding issue 2012-11-23 14:32:55 +01:00
bluetooth Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-next 2012-12-12 18:07:07 -08:00
bus
cdrom
char ARM: arm-soc: Header cleanups 2012-12-12 11:45:16 -08:00
clk ARM: arm-soc: SoC updates for 3.8 2012-12-12 12:05:15 -08:00
clocksource ARM: arm-soc: SoC updates for 3.8 2012-12-12 12:05:15 -08:00
connector
cpufreq ACPI and power management updates for 3.8-rc1 2012-12-11 12:45:35 -08:00
cpuidle ARM: arm-soc: SoC updates for 3.8 2012-12-12 12:05:15 -08:00
crypto ARM: arm-soc: Cleanups on various subarchitectures 2012-12-12 11:51:39 -08:00
dca
devfreq Merge branch 'pm-devfreq' 2012-12-07 23:13:36 +01:00
dio
dma Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-next 2012-12-12 18:07:07 -08:00
edac Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/bp/bp 2012-12-11 11:28:43 -08:00
eisa
extcon extcon: remove use of __devexit_p 2012-11-26 15:57:24 -08:00
firewire Driver core updates for 3.8-rc1 2012-12-11 13:13:55 -08:00
firmware efi_pstore: Add a format check for an existing variable name at erasing time 2012-11-26 16:08:37 -08:00
gpio ARM: arm-soc: Cleanups on various subarchitectures 2012-12-12 11:51:39 -08:00
gpu Revert "revert "Revert "mm: remove __GFP_NO_KSWAPD""" and associated damage 2012-12-10 11:03:05 -08:00
hid
hsi
hv hv: hv_balloon: mark a function static 2012-11-21 12:46:40 -08:00
hwmon Driver core updates for 3.8-rc1 2012-12-11 13:13:55 -08:00
hwspinlock hwspinlock: remove use of __devexit 2012-11-28 11:41:36 -08:00
i2c ARM: arm-soc: Cleanups on various subarchitectures 2012-12-12 11:51:39 -08:00
ide
idle cpuidle: Measure idle state durations with monotonic clock 2012-11-27 14:17:58 +01:00
iio iio: imu: adis16480: remove duplicated include from adis16480.c 2012-11-30 13:11:46 +00:00
infiniband
input ARM: arm-soc: Header cleanups 2012-12-12 11:45:16 -08:00
iommu ARM: arm-soc: Header cleanups 2012-12-12 11:45:16 -08:00
ipack TTY/Serial merge for 3.8-rc1 2012-12-11 14:08:47 -08:00
irqchip Fixes in sunXi related drivers for 3.8 2012-12-07 16:29:05 -08:00
isdn Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-next 2012-12-12 18:07:07 -08:00
leds ARM: arm-soc: Board updates for 3.8 2012-12-12 12:14:06 -08:00
lguest
macintosh bootmem: fix wrong call parameter for free_bootmem() 2012-12-11 17:22:28 -08:00
md Single bugfix for raid1/raid10. 2012-12-02 16:24:31 -08:00
media ARM: arm-soc: SoC updates for 3.8 2012-12-12 12:05:15 -08:00
memory
memstick
message
mfd ARM: arm-soc: SoC updates for 3.8 2012-12-12 12:05:15 -08:00
misc TTY/Serial merge for 3.8-rc1 2012-12-11 14:08:47 -08:00
mmc ARM: arm-soc: Cleanups on various subarchitectures 2012-12-12 11:51:39 -08:00
mtd ARM: arm-soc: SoC updates for 3.8 2012-12-12 12:05:15 -08:00
net rt2x00: zero-out rx_status 2012-12-17 15:45:17 -05:00
nfc Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net 2012-11-25 12:49:17 -05:00
nubus
of Fix build when CONFIG_W1_MASTER_GPIO=m b exporting "allnodes" 2012-11-30 10:04:06 +00:00
oprofile
parisc
parport
pci Driver core updates for 3.8-rc1 2012-12-11 13:13:55 -08:00
pcmcia ARM: arm-soc: Header cleanups 2012-12-12 11:45:16 -08:00
pinctrl ARM: arm-soc: SoC updates for 3.8 2012-12-12 12:05:15 -08:00
platform
pnp Driver core updates for 3.8-rc1 2012-12-11 13:13:55 -08:00
power Merge branch 'release' of git://git.kernel.org/pub/scm/linux/kernel/git/rzhang/linux 2012-12-12 07:57:13 -08:00
pps
ps3
ptp Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-next 2012-12-12 18:07:07 -08:00
pwm pwm: remove use of __devexit 2012-11-28 12:23:41 -08:00
rapidio Driver core updates for 3.8-rc1 2012-12-11 13:13:55 -08:00
regulator
remoteproc remoteproc: fix error path of ->find_vqs 2012-11-29 10:05:09 +02:00
rpmsg
rtc ARM: arm-soc: Cleanups on various subarchitectures 2012-12-12 11:51:39 -08:00
s390 Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-next 2012-12-12 18:07:07 -08:00
sbus
scsi megaraid: fix BUG_ON() from incorrect use of delayed work 2012-12-04 07:29:47 -08:00
sfi
sh
sn
spi ARM: arm-soc: Header cleanups 2012-12-12 11:45:16 -08:00
ssb ssb: use WARN in main.c 2012-12-10 15:47:32 -05:00
staging Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/signal 2012-12-12 12:22:13 -08:00
target
tc
thermal Thermal: Fix DEFAULT_THERMAL_GOVERNOR 2012-12-12 15:34:48 +08:00
tty ARM: arm-soc: SoC updates for 3.8 2012-12-12 12:05:15 -08:00
uio ARM: arm-soc: SoC updates for 3.8 2012-12-12 12:05:15 -08:00
usb ARM: arm-soc: Cleanups on various subarchitectures 2012-12-12 11:51:39 -08:00
uwb uwb: fix uwb_dev_unlock() missed at an error path in uwb_rc_cmd_async() 2012-11-26 15:58:43 -08:00
vfio
vhost tcm_vhost: remove unused variable in vhost_scsi_allocate_cmd() 2012-12-06 17:09:19 +02:00
video ARM: arm-soc: SoC updates for 3.8 2012-12-12 12:05:15 -08:00
virt
virtio virtio_balloon: introduce migration primitives to balloon pages 2012-12-11 17:22:27 -08:00
vlynq
vme
w1 w1-gpio: Simplify & get rid of defines 2012-11-26 16:16:35 -08:00
watchdog ARM: arm-soc: Cleanups on various subarchitectures 2012-12-12 11:51:39 -08:00
xen Char/Misc driver merge for 3.8-rc1 2012-12-11 13:56:38 -08:00
zorro
Kconfig
Makefile