kernel-hacking-2024-linux-s.../net/mac80211
Johannes Berg 43ba7e958f mac80211: atomically check whether STA exists already
When a STA structure is added, it is often checked whether it
already exists before adding it. This, however, isn't done
atomically so there is a race condition that could lead to two
STA structures being added with the same MAC address. This
patch changes sta_info_add() to return an ERR_PTR in case
of failure and adds the failure mode -EEXIST when the STA
already exists.

Signed-off-by: Johannes Berg <johannes@sipsolutions.net>
Cc: Luis Carlos Cobo <luisca@cozybit.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
2008-02-29 15:41:34 -05:00
..
aes_ccm.c
aes_ccm.h
cfg.c mac80211: atomically check whether STA exists already 2008-02-29 15:41:34 -05:00
cfg.h
debugfs.c cfg80211 API for channels/bitrates, mac80211 and driver conversion 2008-02-29 15:19:32 -05:00
debugfs.h
debugfs_key.c
debugfs_key.h
debugfs_netdev.c mac80211: remove port control enable switch, clean up sta flags 2008-02-29 15:19:33 -05:00
debugfs_netdev.h
debugfs_sta.c mac80211: remove sta TIM flag, fix expiry TIM handling 2008-02-29 15:37:26 -05:00
debugfs_sta.h
event.c
ieee80211.c mac80211: atomically check whether STA exists already 2008-02-29 15:41:34 -05:00
ieee80211_i.h mac80211: consolidate TIM handling code 2008-02-29 15:37:26 -05:00
ieee80211_iface.c mac80211: Use monitor configuration flags 2008-02-29 15:37:02 -05:00
ieee80211_ioctl.c cfg80211 API for channels/bitrates, mac80211 and driver conversion 2008-02-29 15:19:32 -05:00
ieee80211_key.h
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: atomically check whether STA exists already 2008-02-29 15:41:34 -05:00
Kconfig mac80211: Is not EXPERIMENTAL anymore 2008-02-05 14:35:47 -05:00
key.c mac80211: move interface type to vif structure 2008-01-28 15:09:37 -08: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.h rc80211-pid: fix definition of rate control interval 2008-01-28 15:00:55 -08:00
rc80211_pid_algo.c rc80211-pid: fix rate adjustment 2008-02-29 15:19:33 -05:00
rc80211_pid_debugfs.c mac80211: make rc_pid_fop_events static 2008-01-28 15:00:56 -08:00
rc80211_simple.c net/mac80211/: Use time_* macros 2008-02-29 15:37:10 -05:00
rx.c mac80211: consolidate TIM handling code 2008-02-29 15:37:26 -05:00
sta_info.c mac80211: atomically check whether STA exists already 2008-02-29 15:41:34 -05:00
sta_info.h mac80211: atomically check whether STA exists already 2008-02-29 15:41:34 -05:00
tkip.c
tkip.h
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