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: <20260207110224.32755-1-dhyan19022009@gmail.com>
Date: Sat,  7 Feb 2026 16:32:24 +0530
From: Dhyan K Prajapati <dhyan19022009@...il.com>
To: Lachlan Hodges <lachlan.hodges@...semicro.com>,
	Johannes Berg <johannes@...solutions.net>
Cc: Krzysztof Kozlowski <krzk@...nel.org>,
	linux-wireless@...r.kernel.org,
	linux-kernel@...r.kernel.org,
	Dhyan K Prajapati <dhyan19022009@...il.com>,
	Dhyan K Prajapati <dhyan1902209@...il.com>
Subject: [PATCH wireless] wifi: mac80211: skip BSS_CHANGED_TXPOWER for monitor interfaces

Monitor mode interfaces do not maintain a BSS context, since a commit in
July 2025 monitor interfaces with WANT_MONITOR_VIF began receiving link
change notification duing ieee80211_add_vitual_monitor(), when
ieee_assign_link_chanctx() assigns a channel context, it triggers
ieee80211_recalc_txpower() this sends a bss_info_changed callback
receive link->conf as the bss_conf prameter, in monitor mode it isn't
initialised leading to NULL pointer dereference in drivers like iwldvm,
as BSS_CHANGED_TXPOWER is not applicable for monitor mode we can just
skip it.

Fixes: c57e5b9819df ("wifi: mac80211: fix WARN_ON for monitor mode on some devices")
Tested-by: Dhyan K Prajapati <dhyan1902209@...il.com>
Signed-off-by: Dhyan K Prajapati <dhyan19022009@...il.com>
---
 net/mac80211/iface.c | 5 +++--
 1 file changed, 3 insertions(+), 2 deletions(-)

diff --git a/net/mac80211/iface.c b/net/mac80211/iface.c
index 515384ca2..47f6bef0e 100644
--- a/net/mac80211/iface.c
+++ b/net/mac80211/iface.c
@@ -76,8 +76,9 @@ bool __ieee80211_recalc_txpower(struct ieee80211_link_data *link)
 void ieee80211_recalc_txpower(struct ieee80211_link_data *link,
 			      bool update_bss)
 {
-	if (__ieee80211_recalc_txpower(link) ||
-	    (update_bss && ieee80211_sdata_running(link->sdata)))
+	if (link->sdata->vif.type != NL80211_IFTYPE_MONITOR &&
+	    (__ieee80211_recalc_txpower(link) ||
+	     (update_bss && ieee80211_sdata_running(link->sdata))))
 		ieee80211_link_info_change_notify(link->sdata, link,
 						  BSS_CHANGED_TXPOWER);
 }
-- 
2.43.0


Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ