mac80211: fix non RCU-safe sta_list manipulation
authorArik Nemtsov <arik@wizery.com>
Sun, 3 Jun 2012 20:32:32 +0000 (23:32 +0300)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Sun, 17 Jun 2012 18:21:25 +0000 (11:21 -0700)
commit073e100877a39f36163398cde868e98fa6d3f0a1
treedef5d17b06e3a4fd0688783568fc82d4dfd6c855
parentd4bb7f49f4d5ea7a287899178df55b4725bb32d2
mac80211: fix non RCU-safe sta_list manipulation

commit 794454ce72a298de6f4536ade597bdcc7dcde7c7 upstream.

sta_info_cleanup locks the sta_list using rcu_read_lock however
the delete operation isn't rcu safe. A race between sta_info_cleanup
timer being called and a STA being removed can occur which leads
to a panic while traversing sta_list. Fix this by switching to the
RCU-safe versions.

Reported-by: Eyal Shapira <eyal@wizery.com>
Signed-off-by: Arik Nemtsov <arik@wizery.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
net/mac80211/sta_info.c