mac80211: add interface list lock
Using only the RTNL has a number of problems, most notably that ieee80211_iterate_active_interfaces() and other interface list traversals cannot be done from the internal workqueue because it needs to be flushed under the RTNL. This patch introduces a new mutex that protects the interface list against modifications. A more detailed explanation is part of the code change. Signed-off-by: Johannes Berg <johannes@sipsolutions.net> Signed-off-by: John W. Linville <linville@tuxdriver.com>
This commit is contained in:
committed by
John W. Linville
parent
506d03f97d
commit
c771c9d8da
@@ -643,7 +643,9 @@ struct ieee80211_local {
|
||||
struct crypto_blkcipher *wep_rx_tfm;
|
||||
u32 wep_iv;
|
||||
|
||||
/* see iface.c */
|
||||
struct list_head interfaces;
|
||||
struct mutex iflist_mtx;
|
||||
|
||||
/*
|
||||
* Key lock, protects sdata's key_list and sta_info's
|
||||
|
Reference in New Issue
Block a user