summaryrefslogtreecommitdiffstats
path: root/net/mac80211/chan.c
diff options
context:
space:
mode:
authorJohannes Berg <johannes.berg@intel.com>2013-03-25 11:51:14 +0100
committerJohannes Berg <johannes.berg@intel.com>2013-03-25 13:50:33 +0100
commit3fbd45ca8d1c98f3c2582ef8bc70ade42f70947b (patch)
treee19f4ad8aeda39090f26643c2063fc1050300391 /net/mac80211/chan.c
parent370bd005937c0e00f9104a602f9fe1dd6b21b54b (diff)
downloadlinux-3fbd45ca8d1c98f3c2582ef8bc70ade42f70947b.tar.bz2
mac80211: fix remain-on-channel cancel crash
If a ROC item is canceled just as it expires, the work struct may be scheduled while it is running (and waiting for the mutex). This results in it being run after being freed, which obviously crashes. To fix this don't free it when aborting is requested but instead mark it as "to be freed", which makes the work a no-op and allows freeing it outside. Cc: stable@vger.kernel.org [3.6+] Reported-by: Jouni Malinen <j@w1.fi> Tested-by: Jouni Malinen <j@w1.fi> Signed-off-by: Johannes Berg <johannes.berg@intel.com>
Diffstat (limited to 'net/mac80211/chan.c')
0 files changed, 0 insertions, 0 deletions