kernel-ark/net/mac80211
Johannes Berg db4d1169d0 mac80211: split ieee80211_key_alloc/free
In order to RCU-ify sta_info, we need to be able to allocate
a key without linking it to an sdata/sta structure (because
allocation cannot be done in an rcu critical section). This
patch splits up ieee80211_key_alloc() and updates all users
appropriately.

While at it, this patch fixes a number of race conditions
such as finally making key replacement atomic, unfortunately
at the expense of more complex code.

Note that this patch documents /existing/ bugs with sta info
and key interaction, there is currently a race condition
when a sta info is freed without holding the RTNL. This will
finally be fixed by a followup patch.

Signed-off-by: Johannes Berg <johannes@sipsolutions.net>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
2008-02-29 15:42:04 -05:00
..
aes_ccm.c cleanup asm/scatterlist.h includes 2007-11-02 08:47:06 +01:00
aes_ccm.h
cfg.c mac80211: split ieee80211_key_alloc/free 2008-02-29 15:42:04 -05:00
cfg.h [MAC80211]: rename ieee80211_cfg.h to cfg.h 2007-10-10 16:52:34 -07:00
debugfs_key.c [NET]: Introduce and use print_mac() and DECLARE_MAC_BUF() 2007-10-10 16:51:42 -07:00
debugfs_key.h [MAC80211]: Add debugfs attributes. 2007-05-05 11:46:38 -07:00
debugfs_netdev.c mac80211: remove port control enable switch, clean up sta flags 2008-02-29 15:19:33 -05:00
debugfs_netdev.h [MAC80211]: Add debugfs attributes. 2007-05-05 11:46:38 -07:00
debugfs_sta.c mac80211: remove STA infos last_ack stuff 2008-02-29 15:42:02 -05:00
debugfs_sta.h [MAC80211]: Add debugfs attributes. 2007-05-05 11:46:38 -07:00
debugfs.c cfg80211 API for channels/bitrates, mac80211 and driver conversion 2008-02-29 15:19:32 -05:00
debugfs.h [MAC80211]: Add debugfs attributes. 2007-05-05 11:46:38 -07:00
event.c [NET]: Introduce and use print_mac() and DECLARE_MAC_BUF() 2007-10-10 16:51:42 -07:00
ieee80211_i.h mac80211: consolidate TIM handling code 2008-02-29 15:37:26 -05:00
ieee80211_iface.c mac80211: safely free beacon in ieee80211_if_reinit 2008-02-29 15:42:00 -05:00
ieee80211_ioctl.c mac80211: split ieee80211_key_alloc/free 2008-02-29 15:42:04 -05:00
ieee80211_key.h mac80211: split ieee80211_key_alloc/free 2008-02-29 15:42:04 -05:00
ieee80211_led.c mac80211: Add radio led trigger 2008-01-28 15:01:04 -08:00
ieee80211_led.h mac80211: Add radio led trigger 2008-01-28 15:01:04 -08:00
ieee80211_rate.c cfg80211 API for channels/bitrates, mac80211 and driver conversion 2008-02-29 15:19:32 -05:00
ieee80211_rate.h cfg80211 API for channels/bitrates, mac80211 and driver conversion 2008-02-29 15:19:32 -05:00
ieee80211_sta.c mac80211: fix IBSS code 2008-02-29 15:41:41 -05:00
ieee80211.c mac80211: Disallow concurrent IBSS/STA mode interfaces 2008-02-29 15:41:36 -05:00
Kconfig mac80211: Is not EXPERIMENTAL anymore 2008-02-05 14:35:47 -05:00
key.c mac80211: split ieee80211_key_alloc/free 2008-02-29 15:42:04 -05:00
Makefile cfg80211 API for channels/bitrates, mac80211 and driver conversion 2008-02-29 15:19:32 -05:00
michael.c
michael.h
rc80211_pid_algo.c mac80211: remove STA infos last_ack stuff 2008-02-29 15:42:02 -05:00
rc80211_pid_debugfs.c mac80211: make rc_pid_fop_events static 2008-01-28 15:00:56 -08:00
rc80211_pid.h rc80211-pid: fix definition of rate control interval 2008-01-28 15:00:55 -08:00
rc80211_simple.c mac80211: remove STA infos last_ack stuff 2008-02-29 15:42:02 -05:00
rx.c mac80211: consolidate TIM handling code 2008-02-29 15:37:26 -05:00
sta_info.c mac80211: split ieee80211_key_alloc/free 2008-02-29 15:42:04 -05:00
sta_info.h mac80211: remove STA infos last_ack stuff 2008-02-29 15:42:02 -05:00
tkip.c [PATCH] mac80211: fix TKIP IV update 2007-10-10 16:53:16 -07:00
tkip.h [PATCH] mac80211: fix TKIP IV update 2007-10-10 16:53:16 -07:00
tx.c mac80211: rework TX filtered frame code 2008-02-29 15:41:32 -05:00
util.c cfg80211 API for channels/bitrates, mac80211 and driver conversion 2008-02-29 15:19:32 -05:00
wep.c mac80211: split RX_DROP 2008-02-29 15:37:02 -05:00
wep.h mac80211: split ieee80211_txrx_result 2008-02-29 15:37:01 -05:00
wme.c mac80211: adjustable number of bits for qdisc pool 2008-02-29 15:37:05 -05:00
wme.h mac80211: A-MPDU Tx adding qdisc support 2008-02-29 15:19:17 -05:00
wpa.c mac80211: split RX_DROP 2008-02-29 15:37:02 -05:00
wpa.h mac80211: split ieee80211_txrx_result 2008-02-29 15:37:01 -05:00