From ad0b19113e44ced97ef26bcea5abd44d170959a2 Mon Sep 17 00:00:00 2001 From: Greg Kroah-Hartman Date: Tue, 23 Jul 2013 08:21:05 -0700 Subject: [PATCH] remove broken mac80211 patch --- ...-interfaces-before-unregistering-all.patch | 46 ------------------- queue-3.0/series | 1 - ...-interfaces-before-unregistering-all.patch | 46 ------------------- queue-3.4/series | 1 - 4 files changed, 94 deletions(-) delete mode 100644 queue-3.0/mac80211-close-ap_vlan-interfaces-before-unregistering-all.patch delete mode 100644 queue-3.4/mac80211-close-ap_vlan-interfaces-before-unregistering-all.patch diff --git a/queue-3.0/mac80211-close-ap_vlan-interfaces-before-unregistering-all.patch b/queue-3.0/mac80211-close-ap_vlan-interfaces-before-unregistering-all.patch deleted file mode 100644 index d608ba05969..00000000000 --- a/queue-3.0/mac80211-close-ap_vlan-interfaces-before-unregistering-all.patch +++ /dev/null @@ -1,46 +0,0 @@ -From 4c8a9d4bfaf7dbc7d2168494904d79d22cc01db7 Mon Sep 17 00:00:00 2001 -From: Johannes Berg -Date: Fri, 24 May 2013 01:06:09 +0200 -Subject: mac80211: close AP_VLAN interfaces before unregistering all - -From: Johannes Berg - -commit 4c8a9d4bfaf7dbc7d2168494904d79d22cc01db7 upstream. - -Since Eric's commit efe117ab8 ("Speedup ieee80211_remove_interfaces") -there's a bug in mac80211 when it unregisters with AP_VLAN interfaces -up. If the AP_VLAN interface was registered after the AP it belongs -to (which is the typical case) and then we get into this code path, -unregister_netdevice_many() will crash because it isn't prepared to -deal with interfaces being closed in the middle of it. Exactly this -happens though, because we iterate the list, find the AP master this -AP_VLAN belongs to and dev_close() the dependent VLANs. After this, -unregister_netdevice_many() won't pick up the fact that the AP_VLAN -is already down and will do it again, causing a crash. - -Signed-off-by: Johannes Berg -Cc: Eric Dumazet -Signed-off-by: Greg Kroah-Hartman - ---- - net/mac80211/iface.c | 9 +++++++++ - 1 file changed, 9 insertions(+) - ---- a/net/mac80211/iface.c -+++ b/net/mac80211/iface.c -@@ -1380,6 +1380,15 @@ void ieee80211_recalc_idle(struct ieee80 - { - u32 chg; - -+ /* -+ * Close all AP_VLAN interfaces first, as otherwise they -+ * might be closed while the AP interface they belong to -+ * is closed, causing unregister_netdevice_many() to crash. -+ */ -+ list_for_each_entry(sdata, &local->interfaces, list) -+ if (sdata->vif.type == NL80211_IFTYPE_AP_VLAN) -+ dev_close(sdata->dev); -+ - mutex_lock(&local->iflist_mtx); - chg = __ieee80211_recalc_idle(local); - mutex_unlock(&local->iflist_mtx); diff --git a/queue-3.0/series b/queue-3.0/series index e2b5e259d0a..901f9c9b7f0 100644 --- a/queue-3.0/series +++ b/queue-3.0/series @@ -3,4 +3,3 @@ asoc-sglt5000-fix-sgtl5000_pll_frac_div_mask.patch rt2x00-read-5ghz-tx-power-values-from-the-correct-offset.patch scsi-zfcp-fix-adapter-re-open-recovery-while-link-to-san-is-down.patch scsi-mpt2sas-fix-firmware-failure-with-wrong-task-attribute.patch -mac80211-close-ap_vlan-interfaces-before-unregistering-all.patch diff --git a/queue-3.4/mac80211-close-ap_vlan-interfaces-before-unregistering-all.patch b/queue-3.4/mac80211-close-ap_vlan-interfaces-before-unregistering-all.patch deleted file mode 100644 index 5ca1cb93de5..00000000000 --- a/queue-3.4/mac80211-close-ap_vlan-interfaces-before-unregistering-all.patch +++ /dev/null @@ -1,46 +0,0 @@ -From 4c8a9d4bfaf7dbc7d2168494904d79d22cc01db7 Mon Sep 17 00:00:00 2001 -From: Johannes Berg -Date: Fri, 24 May 2013 01:06:09 +0200 -Subject: mac80211: close AP_VLAN interfaces before unregistering all - -From: Johannes Berg - -commit 4c8a9d4bfaf7dbc7d2168494904d79d22cc01db7 upstream. - -Since Eric's commit efe117ab8 ("Speedup ieee80211_remove_interfaces") -there's a bug in mac80211 when it unregisters with AP_VLAN interfaces -up. If the AP_VLAN interface was registered after the AP it belongs -to (which is the typical case) and then we get into this code path, -unregister_netdevice_many() will crash because it isn't prepared to -deal with interfaces being closed in the middle of it. Exactly this -happens though, because we iterate the list, find the AP master this -AP_VLAN belongs to and dev_close() the dependent VLANs. After this, -unregister_netdevice_many() won't pick up the fact that the AP_VLAN -is already down and will do it again, causing a crash. - -Signed-off-by: Johannes Berg -Cc: Eric Dumazet -Signed-off-by: Greg Kroah-Hartman - ---- - net/mac80211/iface.c | 9 +++++++++ - 1 file changed, 9 insertions(+) - ---- a/net/mac80211/iface.c -+++ b/net/mac80211/iface.c -@@ -1405,6 +1405,15 @@ void ieee80211_recalc_idle(struct ieee80 - { - u32 chg; - -+ /* -+ * Close all AP_VLAN interfaces first, as otherwise they -+ * might be closed while the AP interface they belong to -+ * is closed, causing unregister_netdevice_many() to crash. -+ */ -+ list_for_each_entry(sdata, &local->interfaces, list) -+ if (sdata->vif.type == NL80211_IFTYPE_AP_VLAN) -+ dev_close(sdata->dev); -+ - mutex_lock(&local->iflist_mtx); - chg = __ieee80211_recalc_idle(local); - mutex_unlock(&local->iflist_mtx); diff --git a/queue-3.4/series b/queue-3.4/series index 00ea908943d..5ab56662ced 100644 --- a/queue-3.4/series +++ b/queue-3.4/series @@ -8,4 +8,3 @@ ath9k-do-not-assign-noise-for-null-caldata.patch scsi-zfcp-fix-adapter-re-open-recovery-while-link-to-san-is-down.patch scsi-mpt2sas-fix-firmware-failure-with-wrong-task-attribute.patch sunrpc-pipefs-mount-notification-optimization-for-dying-clients.patch -mac80211-close-ap_vlan-interfaces-before-unregistering-all.patch -- 2.47.3