Revert "wifi: mac80211: fix RCU list iterations"

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



From: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx>

This reverts commit b0b2dc1eaa7ec509e07a78c9974097168ae565b7 which is
commit ac35180032fbc5d80b29af00ba4881815ceefcb6 upstream.

It should not have been backported here due to lack of other rcu
changes in the stable branches.

Cc: Johannes Berg <johannes@xxxxxxxxxxxxxxxx>
Cc: Miriam Rachel Korenblit <miriam.rachel.korenblit@xxxxxxxxx>
Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx>
---
 net/mac80211/chan.c |    4 +---
 net/mac80211/mlme.c |    2 +-
 net/mac80211/scan.c |    2 +-
 net/mac80211/util.c |    4 +---
 4 files changed, 4 insertions(+), 8 deletions(-)

--- a/net/mac80211/chan.c
+++ b/net/mac80211/chan.c
@@ -245,9 +245,7 @@ ieee80211_get_max_required_bw(struct iee
 	enum nl80211_chan_width max_bw = NL80211_CHAN_WIDTH_20_NOHT;
 	struct sta_info *sta;
 
-	lockdep_assert_wiphy(sdata->local->hw.wiphy);
-
-	list_for_each_entry(sta, &sdata->local->sta_list, list) {
+	list_for_each_entry_rcu(sta, &sdata->local->sta_list, list) {
 		if (sdata != sta->sdata &&
 		    !(sta->sdata->bss && sta->sdata->bss == sdata->bss))
 			continue;
--- a/net/mac80211/mlme.c
+++ b/net/mac80211/mlme.c
@@ -660,7 +660,7 @@ static bool ieee80211_add_vht_ie(struct
 		bool disable_mu_mimo = false;
 		struct ieee80211_sub_if_data *other;
 
-		list_for_each_entry(other, &local->interfaces, list) {
+		list_for_each_entry_rcu(other, &local->interfaces, list) {
 			if (other->vif.bss_conf.mu_mimo_owner) {
 				disable_mu_mimo = true;
 				break;
--- a/net/mac80211/scan.c
+++ b/net/mac80211/scan.c
@@ -501,7 +501,7 @@ static void __ieee80211_scan_completed(s
 	 * the scan was in progress; if there was none this will
 	 * just be a no-op for the particular interface.
 	 */
-	list_for_each_entry(sdata, &local->interfaces, list) {
+	list_for_each_entry_rcu(sdata, &local->interfaces, list) {
 		if (ieee80211_sdata_running(sdata))
 			ieee80211_queue_work(&sdata->local->hw, &sdata->work);
 	}
--- a/net/mac80211/util.c
+++ b/net/mac80211/util.c
@@ -767,9 +767,7 @@ static void __iterate_interfaces(struct
 	struct ieee80211_sub_if_data *sdata;
 	bool active_only = iter_flags & IEEE80211_IFACE_ITER_ACTIVE;
 
-	list_for_each_entry_rcu(sdata, &local->interfaces, list,
-				lockdep_is_held(&local->iflist_mtx) ||
-				lockdep_is_held(&local->hw.wiphy->mtx)) {
+	list_for_each_entry_rcu(sdata, &local->interfaces, list) {
 		switch (sdata->vif.type) {
 		case NL80211_IFTYPE_MONITOR:
 			if (!(sdata->u.mntr.flags & MONITOR_FLAG_ACTIVE))


Patches currently in stable-queue which might be from gregkh@xxxxxxxxxxxxxxxxxxx are

queue-6.1/arm64-kconfig-make-sme-depend-on-broken-for-now.patch
queue-6.1/media-cx24116-prevent-overflows-on-snr-calculus.patch
queue-6.1/ksmbd-fix-slab-use-after-free-in-ksmbd_smb2_session_create.patch
queue-6.1/net-vertexcom-mse102x-fix-possible-double-free-of-tx-skb.patch
queue-6.1/dm-cache-fix-flushing-uninitialized-delayed_work-on-cache_ctr-error.patch
queue-6.1/nfs-fix-kmsan-warning-in-decode_getfattr_attrs.patch
queue-6.1/bnxt_re-avoid-shift-undefined-behavior-in-bnxt_qplib_alloc_init_hwq.patch
queue-6.1/dm-unstriped-cast-an-operand-to-sector_t-to-prevent-potential-uint32_t-overflow.patch
queue-6.1/alsa-usb-audio-add-quirk-for-hp-320-fhd-webcam.patch
queue-6.1/mptcp-use-sock_kfree_s-instead-of-kfree.patch
queue-6.1/net-wwan-t7xx-fix-off-by-one-error-in-t7xx_dpmaif_rx_buf_alloc.patch
queue-6.1/media-pulse8-cec-fix-data-timestamp-at-pulse8_setup.patch
queue-6.1/btrfs-reinitialize-delayed-ref-list-after-deleting-it-from-the-list.patch
queue-6.1/ksmbd-fix-the-missing-xa_store-error-check.patch
queue-6.1/drm-amdgpu-add-missing-size-check-in-amdgpu_debugfs_gprwave_read.patch
queue-6.1/dm-cache-correct-the-number-of-origin-blocks-to-match-the-target-length.patch
queue-6.1/drm-amdgpu-prevent-null-pointer-dereference-if-atif-is-not-supported.patch
queue-6.1/media-v4l2-ctrls-api-fix-error-handling-for-v4l2_g_ctrl.patch
queue-6.1/riscv-purgatory-align-riscv_kernel_entry.patch
queue-6.1/dm-cache-fix-potential-out-of-bounds-access-on-the-first-resume.patch
queue-6.1/can-mcp251xfd-mcp251xfd_get_tef_len-fix-length-calculation.patch
queue-6.1/dm-cache-optimize-dirty-bit-checking-with-find_next_bit-when-resizing.patch
queue-6.1/can-mcp251xfd-mcp251xfd_ring_alloc-fix-coalescing-configuration-when-switching-can-modes.patch
queue-6.1/thermal-drivers-qcom-lmh-remove-false-lockdep-backtrace.patch
queue-6.1/net-do-not-delay-dst_entries_add-in-dst_release.patch
queue-6.1/dm-cache-fix-out-of-bounds-access-to-the-dirty-bitset-when-resizing.patch
queue-6.1/media-v4l2-tpg-prevent-the-risk-of-a-division-by-zero.patch
queue-6.1/pwm-imx-tpm-use-correct-modulo-value-for-epwm-mode.patch
queue-6.1/drm-amdgpu-adjust-debugfs-eviction-and-ib-access-permissions.patch
queue-6.1/media-ar0521-don-t-overflow-when-checking-pll-values.patch
queue-6.1/ksmbd-fix-slab-use-after-free-in-smb3_preauth_hash_rsp.patch
queue-6.1/revert-wifi-mac80211-fix-rcu-list-iterations.patch
queue-6.1/media-s5p-jpeg-prevent-buffer-overflows.patch
queue-6.1/alsa-hda-realtek-fix-headset-mic-on-tuxedo-gemini-17-gen3.patch
queue-6.1/media-uvcvideo-skip-parsing-frames-of-type-uvc_vs_undefined-in-uvc_parse_format.patch
queue-6.1/media-stb0899_algo-initialize-cfr-before-using-it.patch
queue-6.1/kselftest-arm64-initialise-current-at-build-time-in-signal-tests.patch
queue-6.1/revert-alsa-hda-conexant-mute-speakers-at-suspend-shutdown.patch




[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Index of Archives]     [Linux USB Devel]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux