mac80211: Fix null pointer dereference with iTXQ support
authorChunho Lee <handera@gmail.com>
Sat, 8 Jul 2017 00:03:14 +0000 (17:03 -0700)
committerJohannes Berg <johannes.berg@intel.com>
Tue, 5 Sep 2017 09:28:51 +0000 (11:28 +0200)
This change adds null pointer check before dereferencing pointer dev on
netif_tx_start_all_queues() when an interface is added.
With iTXQ support, netif_tx_start_all_queues() is always called while
an interface is added. however, the netdev queues are not associated
and dev is null when the interface is either NL80211_IFTYPE_P2P_DEVICE
or NL80211_IFTYPE_NAN.

Signed-off-by: Chunho Lee <ch.lee@newracom.com>
Signed-off-by: Johannes Berg <johannes.berg@intel.com>
net/mac80211/iface.c

index 44399322f356b007f2e7d60f6605ba4762eb379c..f75029abf7286d54708b1739ee5faa89a43fe2ff 100644 (file)
@@ -731,7 +731,8 @@ int ieee80211_do_open(struct wireless_dev *wdev, bool coming_up)
            sdata->vif.type == NL80211_IFTYPE_AP_VLAN ||
            local->ops->wake_tx_queue) {
                /* XXX: for AP_VLAN, actually track AP queues */
-               netif_tx_start_all_queues(dev);
+               if (dev)
+                       netif_tx_start_all_queues(dev);
        } else if (dev) {
                unsigned long flags;
                int n_acs = IEEE80211_NUM_ACS;