mac80211: add atomic uploaded keys iterator
authorEliad Peller <eliad@wizery.com>
Tue, 17 Nov 2015 08:24:37 +0000 (10:24 +0200)
committerJohannes Berg <johannes.berg@intel.com>
Fri, 4 Dec 2015 13:43:32 +0000 (14:43 +0100)
commitef044763a3ca6b9e0bb65a9ce0cb38c0eca62756
tree0c2f3c99895e58135693548cd44c9f1ed880c302
parent0ead2510f8cec11ce96308d79a1b4ee272fb5238
mac80211: add atomic uploaded keys iterator

add ieee80211_iter_keys_rcu() to iterate over uploaded
keys in atomic context (when rcu is locked)

The station removal code removes the keys only after
calling synchronize_net(), so it's not safe to iterate
the keys at this point (and postponing the actual key
deletion with call_rcu() might result in some
badly-ordered ops calls).

Add a flag to indicate a station is being removed,
and skip the configured keys if it's set.

Signed-off-by: Eliad Peller <eliadx.peller@intel.com>
Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@intel.com>
Signed-off-by: Johannes Berg <johannes.berg@intel.com>
include/net/mac80211.h
net/mac80211/key.c
net/mac80211/sta_info.c
net/mac80211/sta_info.h