linux/drivers/net/wireless
Michal Kazior 0a744d9274 ath10k: prevent sta pointer rcu violation
Station pointers are RCU protected so driver must
be extra careful if it tries to store them
internally for later use outside of the RCU
section it obtained it in.

It was possible for station teardown to race with
some htt events. The possible outcome could be a
use-after-free and a crash.

Only peer-flow-control capable firmware was
affected (so hardware-wise qca99x0 and qca4019).

This could be done in sta_state() itself via
explicit synchronize_net() call but there's
already a convenient sta_pre_rcu_remove() op that
can be hooked up to avoid extra rcu stall.

The peer->sta pointer itself can't be set to
NULL/ERR_PTR because it is later used in
sta_state() for extra sanity checks.

Signed-off-by: Michal Kazior <michal.kazior@tieto.com>
Signed-off-by: Kalle Valo <kvalo@qca.qualcomm.com>
2017-01-19 15:17:58 +02:00
..
admtek adm80211: return an error if adm8211_alloc_rings() fails 2016-12-30 13:29:21 +02:00
ath ath10k: prevent sta pointer rcu violation 2017-01-19 15:17:58 +02:00
atmel Replace <asm/uaccess.h> with <linux/uaccess.h> globally 2016-12-24 11:46:01 -08:00
broadcom wireless-drivers-next patches for 4.11 2017-01-02 15:23:34 -05:00
cisco net: use core MTU range checking in wireless drivers 2016-10-20 14:51:08 -04:00
intel wireless-drivers-next patches for 4.11 2017-01-02 15:23:34 -05:00
intersil wireless-drivers-next patches for 4.11 2017-01-02 15:23:34 -05:00
marvell libertas: constify cfg80211_ops structures 2016-12-30 15:56:07 +02:00
mediatek Makefile: drop -D__CHECK_ENDIAN__ from cflags 2016-12-16 00:13:43 +02:00
ralink wireless-drivers-next patches for 4.11 2017-01-02 15:23:34 -05:00
realtek wireless-drivers-next patches for 4.11 2017-01-02 15:23:34 -05:00
rsi rsi: Add support for 802.11d 2016-11-25 11:47:36 +02:00
st cw1200: fix bogus maybe-uninitialized warning 2016-11-17 08:47:58 +02:00
ti wireless-drivers-next patches for 4.11 2017-01-02 15:23:34 -05:00
zydas net: deprecate eth_change_mtu, remove usage 2016-10-13 09:36:57 -04:00
Kconfig wireless: deprecate WDS and disable by default 2016-10-27 09:08:43 +02:00
mac80211_hwsim.c Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net 2016-11-22 13:27:16 -05:00
mac80211_hwsim.h drivers/wireless: use nla_put_u64_64bit() 2016-04-26 12:00:48 -04:00
Makefile
ray_cs.c Replace <asm/uaccess.h> with <linux/uaccess.h> globally 2016-12-24 11:46:01 -08:00
ray_cs.h
rayctl.h
rndis_wlan.c nl80211: support beacon report scanning 2016-07-06 14:51:31 +02:00
wl3501_cs.c Replace <asm/uaccess.h> with <linux/uaccess.h> globally 2016-12-24 11:46:01 -08:00
wl3501.h