cfg80211: fix potential connection work crash
authorJohannes Berg <johannes.berg@intel.com>
Wed, 20 Mar 2013 13:05:52 +0000 (14:05 +0100)
committerJohannes Berg <johannes.berg@intel.com>
Wed, 20 Mar 2013 13:07:26 +0000 (14:07 +0100)
If wpa_supplicant and iw/iwconfig are used together, very
rarely the system crashes. It seems to be related to the
connection parameters not being set up, but it's not all
clear to me how this happens. In any case, checking that
the conn pointer exists here is probably a good idea.

Signed-off-by: Johannes Berg <johannes.berg@intel.com>
net/wireless/sme.c

index bad4c4b..88fc9aa 100644 (file)
@@ -234,7 +234,7 @@ void cfg80211_conn_work(struct work_struct *work)
                        wdev_unlock(wdev);
                        continue;
                }
-               if (wdev->sme_state != CFG80211_SME_CONNECTING) {
+               if (wdev->sme_state != CFG80211_SME_CONNECTING || !wdev->conn) {
                        wdev_unlock(wdev);
                        continue;
                }