lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-Id: <20200409082849.27372-1-madhuparnabhowmik10@gmail.com>
Date:   Thu,  9 Apr 2020 13:58:49 +0530
From:   madhuparnabhowmik10@...il.com
To:     johannes@...solutions.net, davem@...emloft.net, kuba@...nel.org
Cc:     linux-wireless@...r.kernel.org, netdev@...r.kernel.org,
        linux-kernel@...r.kernel.org, frextrite@...il.com,
        joel@...lfernandes.org, paulmck@...nel.org,
        linux-kernel-mentees@...ts.linuxfoundation.org,
        Madhuparna Bhowmik <madhuparnabhowmik10@...il.com>
Subject: [PATCH 2/4] net: mac80211: scan.c: Fix RCU list related warnings.

From: Madhuparna Bhowmik <madhuparnabhowmik10@...il.com>

This patch fixes the following warning:

WARNING: suspicious RCU usage
[   84.530619] 5.6.0+ #4 Not tainted
[   84.530637] -----------------------------
[   84.530658] net/mac80211/scan.c:454 RCU-list traversed in non-reader section!!

As local->mtx is held in __ieee80211_scan_completed(), no need to use
list_for_each_entry_rcu() (use list_for_each_entry() instead.).

Signed-off-by: Madhuparna Bhowmik <madhuparnabhowmik10@...il.com>
---
 net/mac80211/scan.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/net/mac80211/scan.c b/net/mac80211/scan.c
index fdac8192a519..0860f028ab2a 100644
--- a/net/mac80211/scan.c
+++ b/net/mac80211/scan.c
@@ -451,7 +451,7 @@ static void __ieee80211_scan_completed(struct ieee80211_hw *hw, bool aborted)
 	 * the scan was in progress; if there was none this will
 	 * just be a no-op for the particular interface.
 	 */
-	list_for_each_entry_rcu(sdata, &local->interfaces, list) {
+	list_for_each_entry(sdata, &local->interfaces, list) {
 		if (ieee80211_sdata_running(sdata))
 			ieee80211_queue_work(&sdata->local->hw, &sdata->work);
 	}
-- 
2.17.1

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ