mac80211: fix auth/assoc data & timer leak
authorJohannes Berg <johannes.berg@intel.com>
Sat, 25 Feb 2012 20:48:08 +0000 (21:48 +0100)
committerJohn W. Linville <linville@tuxdriver.com>
Mon, 27 Feb 2012 19:06:42 +0000 (14:06 -0500)
commit54e4ffb2abb3c086637cbc75a2bfe55a8ce987c8
tree85ffa4a2295970bb5b1ea7601544fa03a2fc2f4b
parentfda82417884eecd9f2c8b4e6bb2039def0da7ec4
mac80211: fix auth/assoc data & timer leak

When removing an interface while it is in the
process of authenticating or associating, we
leak the auth_data or assoc_data, and leave
the timer pending. The timer then crashes the
system when it fires as its data is gone.

Fix this by explicitly deleting all the data
when the interface is removed. This uncovered
another bug -- this problem should have been
detected by the sta_info_flush() warning but
that function doesn't ever return non-zero,
I'll fix that in a separate patch.

Reported-by: Hieu Nguyen <hieux.c.nguyen@intel.com>
Signed-off-by: Johannes Berg <johannes.berg@intel.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
net/mac80211/ieee80211_i.h
net/mac80211/iface.c
net/mac80211/mlme.c