mac80211: Fix null dereference in ieee80211_key_link()
authorBen Hutchings <ben@decadent.org.uk>
Wed, 22 Nov 2017 02:04:29 +0000 (02:04 +0000)
committerBen Hutchings <ben@decadent.org.uk>
Sun, 26 Nov 2017 13:51:11 +0000 (13:51 +0000)
Commit ef810e7c3d2a ("mac80211: accept key reinstall without changing
anything") moved the initialisation of key->sdata later in
ieee80211_key_link().  In the upstream commit fdf7cb4185b6 this was
fine, but in this version of the function there is additional code
which relies on key->sdata.  Change this to use the value that will be
(conditionally) assigned to it later.

Cc: Johannes Berg <johannes.berg@intel.com>
Signed-off-by: Ben Hutchings <ben@decadent.org.uk>
net/mac80211/key.c

index 01c64f4..bef5111 100644 (file)
@@ -508,7 +508,7 @@ int ieee80211_key_link(struct ieee80211_key *key,
                         */
 
                        /* same here, the AP could be using QoS */
-                       ap = sta_info_get(key->sdata, key->sdata->u.mgd.bssid);
+                       ap = sta_info_get(sdata, sdata->u.mgd.bssid);
                        if (ap) {
                                if (test_sta_flag(ap, WLAN_STA_WME))
                                        key->conf.flags |=