linux/net/mac80211
Johannes Berg d0709a6518 mac80211: RCU-ify STA info structure access
This makes access to the STA hash table/list use RCU to protect
against freeing of items. However, it's not a true RCU, the
copy step is missing: whenever somebody changes a STA item it
is simply updated. This is an existing race condition that is
now somewhat understandable.

This patch also fixes the race key freeing vs. STA destruction
by making sure that sta_info_destroy() is always called under
RTNL and frees the key.

Signed-off-by: Johannes Berg <johannes@sipsolutions.net>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
2008-03-06 15:30:46 -05:00
..
aes_ccm.c
aes_ccm.h
cfg.c mac80211: RCU-ify STA info structure access 2008-03-06 15:30:46 -05:00
cfg.h
debugfs_key.c
debugfs_key.h
debugfs_netdev.c mac80211: mesh statistics and config through debugfs 2008-03-06 15:30:42 -05:00
debugfs_netdev.h
debugfs_sta.c mac80211: RCU-ify STA info structure access 2008-03-06 15:30:46 -05:00
debugfs_sta.h mac80211: RCU-ify STA info structure access 2008-03-06 15:30:46 -05:00
debugfs.c cfg80211 API for channels/bitrates, mac80211 and driver conversion 2008-02-29 15:19:32 -05:00
debugfs.h
event.c
ieee80211_i.h mac80211: RCU-ify STA info structure access 2008-03-06 15:30:46 -05:00
ieee80211_iface.c mac80211: RCU-ify STA info structure access 2008-03-06 15:30:46 -05:00
ieee80211_ioctl.c mac80211: RCU-ify STA info structure access 2008-03-06 15:30:46 -05:00
ieee80211_key.h mac80211: split ieee80211_key_alloc/free 2008-02-29 15:42:04 -05:00
ieee80211_led.c
ieee80211_led.h
ieee80211_rate.c mac80211: RCU-ify STA info structure access 2008-03-06 15:30:46 -05:00
ieee80211_rate.h mac80211: RCU-ify STA info structure access 2008-03-06 15:30:46 -05:00
ieee80211_sta.c mac80211: RCU-ify STA info structure access 2008-03-06 15:30:46 -05:00
ieee80211.c mac80211: RCU-ify STA info structure access 2008-03-06 15:30:46 -05:00
Kconfig mac80211: clarify mesh Kconfig 2008-03-06 15:30:44 -05:00
key.c mac80211: RCU-ify STA info structure access 2008-03-06 15:30:46 -05:00
Makefile mac80211: enable mesh in Kconfig 2008-03-06 15:30:43 -05:00
mesh_hwmp.c mac80211: RCU-ify STA info structure access 2008-03-06 15:30:46 -05:00
mesh_pathtbl.c mac80211: RCU-ify STA info structure access 2008-03-06 15:30:46 -05:00
mesh_plink.c mac80211: RCU-ify STA info structure access 2008-03-06 15:30:46 -05:00
mesh.c mac80211: RCU-ify STA info structure access 2008-03-06 15:30:46 -05:00
mesh.h mac80211: RCU-ify STA info structure access 2008-03-06 15:30:46 -05:00
michael.c
michael.h
rc80211_pid_algo.c mac80211: RCU-ify STA info structure access 2008-03-06 15:30:46 -05:00
rc80211_pid_debugfs.c
rc80211_pid.h
rc80211_simple.c mac80211: RCU-ify STA info structure access 2008-03-06 15:30:46 -05:00
rx.c mac80211: RCU-ify STA info structure access 2008-03-06 15:30:46 -05:00
sta_info.c mac80211: RCU-ify STA info structure access 2008-03-06 15:30:46 -05:00
sta_info.h mac80211: RCU-ify STA info structure access 2008-03-06 15:30:46 -05:00
tkip.c
tkip.h
tx.c mac80211: RCU-ify STA info structure access 2008-03-06 15:30:46 -05:00
util.c mac80211: split ieee80211_txrx_data 2008-03-06 15:30:46 -05:00
wep.c mac80211: split ieee80211_txrx_data 2008-03-06 15:30:46 -05:00
wep.h mac80211: split ieee80211_txrx_data 2008-03-06 15:30:46 -05:00
wme.c mac80211: RCU-ify STA info structure access 2008-03-06 15:30:46 -05:00
wme.h mac80211: A-MPDU Tx adding qdisc support 2008-02-29 15:19:17 -05:00
wpa.c mac80211: split ieee80211_txrx_data 2008-03-06 15:30:46 -05:00
wpa.h mac80211: split ieee80211_txrx_data 2008-03-06 15:30:46 -05:00