WSL2-Linux-Kernel/net
Yogesh Ashok Powar 42624d4913 mac80211: Purge A-MPDU TX queues before station destructions
When a station leaves suddenly while ampdu traffic to that station is still
running, there is a possibility that the ampdu pending queues are not freed due
to a race condition leading to memory leaks. In '__sta_info_destroy' when we
attempt to destroy the ampdu sessions in 'ieee80211_sta_tear_down_BA_sessions',
the driver calls 'ieee80211_stop_tx_ba_cb_irqsafe' to delete the ampdu
structures (tid_tx) and splice the pending queues and this job gets queued in
sdata workqueue. However, the sta entry can get destroyed before the above work
gets scheduled and hence the race.

Purging the queues and freeing the tid_tx to avoid the leak. The better solution
would be to fix the race, but that can be taken up in a separate patch.

Signed-off-by: Nishant Sarmukadam <nishants@marvell.com>
Signed-off-by: Yogesh Ashok Powar <yogeshp@marvell.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
2011-12-13 15:30:33 -05:00
..
9p
802
8021q
appletalk
atm
ax25
batman-adv
bluetooth Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/padovan/bluetooth-next 2011-12-06 16:02:05 -05:00
bridge
caif
can
ceph
core Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux 2011-11-22 14:05:46 -05:00
dcb
dccp
decnet
dns_resolver
dsa
econet
ethernet
ieee802154
ipv4
ipv6
ipx
irda
iucv
key
l2tp
lapb
llc
mac80211 mac80211: Purge A-MPDU TX queues before station destructions 2011-12-13 15:30:33 -05:00
netfilter
netlabel
netlink
netrom
nfc nfc: Remove function tracer like entry messages 2011-11-30 15:08:38 -05:00
packet
phonet
rds
rfkill net: rfkill: convert net/rfkill/* to use module_platform_driver() 2011-11-30 15:08:27 -05:00
rose
rxrpc
sched
sctp
sunrpc
tipc
unix
wanrouter
wimax
wireless cfg80211: Fix race in bss timeout 2011-12-13 15:30:28 -05:00
x25
xfrm
Kconfig
Makefile
compat.c
nonet.c
socket.c net: add wireless TX status socket option 2011-11-09 16:01:02 -05:00
sysctl_net.c