1ebebea8e8
The put routine first decrements the users counter and then (if it is zero) locks the sta_bss_lock and removes one from the list and the hash. Thus, any of ieee80211_sta_config_auth, ieee80211_rx_bss_get or ieee80211_rx_mesh_bss_get can race with it by finding a bss that is about to get kfree-ed. Using atomic_dec_and_lock in ieee80211_rx_bss_put takes care of this race. Signed-off-by: Pavel Emelyanov <xemul@openvz.org> Signed-off-by: John W. Linville <linville@tuxdriver.com> |
||
---|---|---|
.. | ||
aes_ccm.c | ||
aes_ccm.h | ||
cfg.c | ||
cfg.h | ||
debugfs_key.c | ||
debugfs_key.h | ||
debugfs_netdev.c | ||
debugfs_netdev.h | ||
debugfs_sta.c | ||
debugfs_sta.h | ||
debugfs.c | ||
debugfs.h | ||
event.c | ||
ieee80211_i.h | ||
iface.c | ||
Kconfig | ||
key.c | ||
key.h | ||
led.c | ||
led.h | ||
main.c | ||
Makefile | ||
mesh_hwmp.c | ||
mesh_pathtbl.c | ||
mesh_plink.c | ||
mesh.c | ||
mesh.h | ||
michael.c | ||
michael.h | ||
mlme.c | ||
rate.c | ||
rate.h | ||
rc80211_pid_algo.c | ||
rc80211_pid_debugfs.c | ||
rc80211_pid.h | ||
rx.c | ||
sta_info.c | ||
sta_info.h | ||
tkip.c | ||
tkip.h | ||
tx.c | ||
util.c | ||
wep.c | ||
wep.h | ||
wext.c | ||
wme.c | ||
wme.h | ||
wpa.c | ||
wpa.h |