public inbox for linux-wireless@vger.kernel.org
 help / color / mirror / Atom feed
* [PATCH] iwlwifi: dvm: fix NULL pointer dereference in rxon
@ 2026-02-04 11:38 dhyaan19022009-hue
  0 siblings, 0 replies; 7+ messages in thread
From: dhyaan19022009-hue @ 2026-02-04 11:38 UTC (permalink / raw)
  To: Kalle Valo; +Cc: linux-wireless, linux-kernel, dhyaan19022009-hue

Signed-off-by: dhyaan19022009-hue <dhyaan19022009@gmail.com>
---
 drivers/net/wireless/intel/iwlwifi/dvm/rxon.c | 5 +++++
 1 file changed, 5 insertions(+)

diff --git a/drivers/net/wireless/intel/iwlwifi/dvm/rxon.c b/drivers/net/wireless/intel/iwlwifi/dvm/rxon.c
index e08e44cae..2d480b1d1 100644
--- a/drivers/net/wireless/intel/iwlwifi/dvm/rxon.c
+++ b/drivers/net/wireless/intel/iwlwifi/dvm/rxon.c
@@ -1392,6 +1392,11 @@ void iwlagn_bss_info_changed(struct ieee80211_hw *hw,
 
 	mutex_lock(&priv->mutex);
 
+
+        if (!bss_conf) {
+		mutex_unlock(&priv->mutex);
+		return;
+	}
 	if (changes & BSS_CHANGED_IDLE && vif->cfg.idle) {
 		/*
 		 * If we go idle, then clearly no "passive-no-rx"
-- 
2.43.0


^ permalink raw reply related	[flat|nested] 7+ messages in thread

* [PATCH] iwlwifi: dvm: fix NULL pointer dereference in rxon
@ 2026-02-04 12:01 dhyaan19022009-hue
  2026-02-04 12:25 ` Johannes Berg
  0 siblings, 1 reply; 7+ messages in thread
From: dhyaan19022009-hue @ 2026-02-04 12:01 UTC (permalink / raw)
  To: kvalo; +Cc: linux-wireless, linux-kernel, Dhyan K Prajapati

From: Dhyan K Prajapati <dhyan19022009@gmail.com>

When bringing up the wireless interface via virtual monitor mode,
iwlagn_bss_info_changed() can be called with a NULL bss_conf pointer
during ieee80211_add_virtual_monitor() -> ieee80211_do_open() sequence.

This causes a NULL pointer dereference when the function attempts to
access bss_conf fields at offset +0x10.

Crash signature:
  BUG: kernel NULL pointer dereference, address: 0000000000000000
  RIP: 0010:iwlagn_bss_info_changed+0x19d/0x640 [iwldvm]
  Call Trace:
   drv_link_info_changed+0x2b5/0x2c0 [mac80211]
   ieee80211_link_info_change_notify+0x13d/0x160 [mac80211]
   ieee80211_recalc_txpower+0x5c/0x60 [mac80211]
   ieee80211_assign_link_chanctx+0x182/0x410 [mac80211]
   ieee80211_add_virtual_monitor+0x17c/0x2b0 [mac80211]
   ieee80211_do_open+0x6d8/0x740 [mac80211]

Add an early NULL check for bss_conf before accessing its members.

Hardware: Dell Latitude E6430
WiFi: Intel Centrino Advanced-N 6205 [8086:0085]
Kernel: 6.18.7-061807-generic

Signed-off-by: Dhyan K Prajapati <dhyan19022009@gmail.com>
---
 drivers/net/wireless/intel/iwlwifi/dvm/rxon.c | 5 +++++
 1 file changed, 5 insertions(+)

diff --git a/drivers/net/wireless/intel/iwlwifi/dvm/rxon.c b/drivers/net/wireless/intel/iwlwifi/dvm/rxon.c
index e08e44cae..2d480b1d1 100644
--- a/drivers/net/wireless/intel/iwlwifi/dvm/rxon.c
+++ b/drivers/net/wireless/intel/iwlwifi/dvm/rxon.c
@@ -1392,6 +1392,11 @@ void iwlagn_bss_info_changed(struct ieee80211_hw *hw,
 
 	mutex_lock(&priv->mutex);
 
+	if (!bss_conf) {
+		mutex_unlock(&priv->mutex);
+		return;
+	}
+
 	if (changes & BSS_CHANGED_IDLE && vif->cfg.idle) {
 		/*
 		 * If we go idle, then clearly no "passive-no-rx"
-- 
2.43.0

^ permalink raw reply related	[flat|nested] 7+ messages in thread

* [PATCH] iwlwifi: dvm: fix NULL pointer dereference in rxon
  2026-02-04 12:13 [PATCH] git commit --amend ``` dhyaan19022009-hue
@ 2026-02-04 12:13 ` dhyaan19022009-hue
  0 siblings, 0 replies; 7+ messages in thread
From: dhyaan19022009-hue @ 2026-02-04 12:13 UTC (permalink / raw)
  To: kvalo; +Cc: linux-wireless, linux-kernel, dhyaan19022009-hue

Signed-off-by: dhyaan19022009-hue <dhyaan19022009@gmail.com>
---
 drivers/net/wireless/intel/iwlwifi/dvm/rxon.c | 5 +++++
 1 file changed, 5 insertions(+)

diff --git a/drivers/net/wireless/intel/iwlwifi/dvm/rxon.c b/drivers/net/wireless/intel/iwlwifi/dvm/rxon.c
index e08e44cae..2d480b1d1 100644
--- a/drivers/net/wireless/intel/iwlwifi/dvm/rxon.c
+++ b/drivers/net/wireless/intel/iwlwifi/dvm/rxon.c
@@ -1392,6 +1392,11 @@ void iwlagn_bss_info_changed(struct ieee80211_hw *hw,
 
 	mutex_lock(&priv->mutex);
 
+
+        if (!bss_conf) {
+		mutex_unlock(&priv->mutex);
+		return;
+	}
 	if (changes & BSS_CHANGED_IDLE && vif->cfg.idle) {
 		/*
 		 * If we go idle, then clearly no "passive-no-rx"
-- 
2.43.0


^ permalink raw reply related	[flat|nested] 7+ messages in thread

* [PATCH] iwlwifi: dvm: fix NULL pointer dereference in rxon
@ 2026-02-04 12:23 dhyaan19022009-hue
  0 siblings, 0 replies; 7+ messages in thread
From: dhyaan19022009-hue @ 2026-02-04 12:23 UTC (permalink / raw)
  To: kvalo; +Cc: linux-wireless, linux-kernel, dhyaan19022009-hue

When bringing up the wireless interface via virtual monitor mode,
iwlagn_bss_info_changed() can be called with a NULL bss_conf pointer
during ieee80211_add_virtual_monitor() -> ieee80211_do_open() sequence.

This causes a NULL pointer dereference when the function attempts to
access bss_conf fields at offset +0x10.

Crash signature:
  BUG: kernel NULL pointer dereference, address: 0000000000000000
  RIP: 0010:iwlagn_bss_info_changed+0x19d/0x640 [iwldvm]
  Call Trace:
   drv_link_info_changed+0x2b5/0x2c0 [mac80211]
   ieee80211_link_info_change_notify+0x13d/0x160 [mac80211]
   ieee80211_recalc_txpower+0x5c/0x60 [mac80211]
   ieee80211_assign_link_chanctx+0x182/0x410 [mac80211]
   ieee80211_add_virtual_monitor+0x17c/0x2b0 [mac80211]
   ieee80211_do_open+0x6d8/0x740 [mac80211]

Add an early NULL check for bss_conf before accessing its members.

Hardware: Dell Latitude E6430
WiFi: Intel Centrino Advanced-N 6205 [8086:0085]
Kernel: 6.18.7-061807-generic

Signed-off-by: Dhyan K Prajapati <dhyaan19022009@gmail.com>
---
 drivers/net/wireless/intel/iwlwifi/dvm/rxon.c | 5 +++++
 1 file changed, 5 insertions(+)

diff --git a/drivers/net/wireless/intel/iwlwifi/dvm/rxon.c b/drivers/net/wireless/intel/iwlwifi/dvm/rxon.c
index e08e44cae..2d480b1d1 100644
--- a/drivers/net/wireless/intel/iwlwifi/dvm/rxon.c
+++ b/drivers/net/wireless/intel/iwlwifi/dvm/rxon.c
@@ -1392,6 +1392,11 @@ void iwlagn_bss_info_changed(struct ieee80211_hw *hw,
 
 	mutex_lock(&priv->mutex);
 
+
+        if (!bss_conf) {
+		mutex_unlock(&priv->mutex);
+		return;
+	}
 	if (changes & BSS_CHANGED_IDLE && vif->cfg.idle) {
 		/*
 		 * If we go idle, then clearly no "passive-no-rx"
-- 
2.43.0


^ permalink raw reply related	[flat|nested] 7+ messages in thread

* Re: [PATCH] iwlwifi: dvm: fix NULL pointer dereference in rxon
  2026-02-04 12:01 dhyaan19022009-hue
@ 2026-02-04 12:25 ` Johannes Berg
  0 siblings, 0 replies; 7+ messages in thread
From: Johannes Berg @ 2026-02-04 12:25 UTC (permalink / raw)
  To: dhyaan19022009-hue, kvalo; +Cc: linux-wireless, linux-kernel

On Wed, 2026-02-04 at 17:31 +0530, dhyaan19022009-hue wrote:
> From: Dhyan K Prajapati <dhyan19022009@gmail.com>
> 
> When bringing up the wireless interface via virtual monitor mode,
> iwlagn_bss_info_changed() can be called with a NULL bss_conf pointer
> during ieee80211_add_virtual_monitor() -> ieee80211_do_open() sequence.
> 
> This causes a NULL pointer dereference when the function attempts to
> access bss_conf fields at offset +0x10.
> 
> Crash signature:
>   BUG: kernel NULL pointer dereference, address: 0000000000000000
>   RIP: 0010:iwlagn_bss_info_changed+0x19d/0x640 [iwldvm]
>   Call Trace:
>    drv_link_info_changed+0x2b5/0x2c0 [mac80211]
>    ieee80211_link_info_change_notify+0x13d/0x160 [mac80211]
>    ieee80211_recalc_txpower+0x5c/0x60 [mac80211]
>    ieee80211_assign_link_chanctx+0x182/0x410 [mac80211]
>    ieee80211_add_virtual_monitor+0x17c/0x2b0 [mac80211]
>    ieee80211_do_open+0x6d8/0x740 [mac80211]
> 
> Add an early NULL check for bss_conf before accessing its members.

If that really can happen, that'd be a mac80211 bug, not to be fixed in
a random driver. I see the crash above, but you've not even described it
correctly, it seems more likely to me that iwl_rxon_ctx_from_vif()
returned NULL.

johannes

^ permalink raw reply	[flat|nested] 7+ messages in thread

* [PATCH] iwlwifi: dvm: fix NULL pointer dereference in rxon
@ 2026-02-04 12:53 dhyaan19022009-hue
  2026-02-04 13:07 ` Johannes Berg
  0 siblings, 1 reply; 7+ messages in thread
From: dhyaan19022009-hue @ 2026-02-04 12:53 UTC (permalink / raw)
  To: johannes
  Cc: kvalo, linux-wireless, linux-kernel, dhyaan19022009-hue,
	Dhyan K Prajapati

When bringing up the wireless interface via virtual monitor mode,
iwlagn_bss_info_changed() can be called with a vif that has no
associated rxon context. This occurs during the
ieee80211_add_virtual_monitor() -> ieee80211_do_open() sequence.

The function iwl_rxon_ctx_from_vif() returns NULL for virtual monitor
interfaces, causing a NULL pointer dereference when the code attempts
to access ctx fields at offset +0x10.

Crash signature:
  BUG: kernel NULL pointer dereference, address: 0000000000000000
  RIP: 0010:iwlagn_bss_info_changed+0x19d/0x640 [iwldvm]
  Call Trace:
   drv_link_info_changed+0x2b5/0x2c0 [mac80211]
   ieee80211_link_info_change_notify+0x13d/0x160 [mac80211]
   ieee80211_recalc_txpower+0x5c/0x60 [mac80211]
   ieee80211_assign_link_chanctx+0x182/0x410 [mac80211]
   ieee80211_add_virtual_monitor+0x17c/0x2b0 [mac80211]
   ieee80211_do_open+0x6d8/0x740 [mac80211]

Add an early NULL check for ctx before accessing its members.

Hardware: Dell Latitude E6430
WiFi: Intel Centrino Advanced-N 6205 [8086:0085]
Kernel: 6.18.7-061807-generic

Reported-by: Johannes Berg <johannes@sipsolutions.net>
Signed-off-by: Dhyan K Prajapati <dhyan19022009@gmail.com>
---
 drivers/net/wireless/intel/iwlwifi/dvm/rxon.c | 5 +++++
 1 file changed, 5 insertions(+)

diff --git a/drivers/net/wireless/intel/iwlwifi/dvm/rxon.c b/drivers/net/wireless/intel/iwlwifi/dvm/rxon.c
index e08e44cae..91dcf18b1 100644
--- a/drivers/net/wireless/intel/iwlwifi/dvm/rxon.c
+++ b/drivers/net/wireless/intel/iwlwifi/dvm/rxon.c
@@ -1392,6 +1392,11 @@ void iwlagn_bss_info_changed(struct ieee80211_hw *hw,
 
 	mutex_lock(&priv->mutex);
 
+
+        if (!ctx) {
+		mutex_unlock(&priv->mutex);
+		return;
+	}
 	if (changes & BSS_CHANGED_IDLE && vif->cfg.idle) {
 		/*
 		 * If we go idle, then clearly no "passive-no-rx"
-- 
2.43.0


^ permalink raw reply related	[flat|nested] 7+ messages in thread

* Re: [PATCH] iwlwifi: dvm: fix NULL pointer dereference in rxon
  2026-02-04 12:53 dhyaan19022009-hue
@ 2026-02-04 13:07 ` Johannes Berg
  0 siblings, 0 replies; 7+ messages in thread
From: Johannes Berg @ 2026-02-04 13:07 UTC (permalink / raw)
  To: dhyaan19022009-hue
  Cc: kvalo, linux-wireless, linux-kernel, dhyaan19022009-hue

On Wed, 2026-02-04 at 18:23 +0530, dhyaan19022009-hue wrote:
> When bringing up the wireless interface via virtual monitor mode,
> iwlagn_bss_info_changed() can be called with a vif that has no
> associated rxon context. This occurs during the
> ieee80211_add_virtual_monitor() -> ieee80211_do_open() sequence.
> 
> The function iwl_rxon_ctx_from_vif() returns NULL for virtual monitor
> interfaces, causing a NULL pointer dereference when the code attempts
> to access ctx fields at offset +0x10.
> 
> Crash signature:
>   BUG: kernel NULL pointer dereference, address: 0000000000000000
>   RIP: 0010:iwlagn_bss_info_changed+0x19d/0x640 [iwldvm]
>   Call Trace:
>    drv_link_info_changed+0x2b5/0x2c0 [mac80211]
>    ieee80211_link_info_change_notify+0x13d/0x160 [mac80211]
>    ieee80211_recalc_txpower+0x5c/0x60 [mac80211]
>    ieee80211_assign_link_chanctx+0x182/0x410 [mac80211]
>    ieee80211_add_virtual_monitor+0x17c/0x2b0 [mac80211]
>    ieee80211_do_open+0x6d8/0x740 [mac80211]
> 
> Add an early NULL check for ctx before accessing its members.
> 
> Hardware: Dell Latitude E6430
> WiFi: Intel Centrino Advanced-N 6205 [8086:0085]
> Kernel: 6.18.7-061807-generic
> 
> Reported-by: Johannes Berg <johannes@sipsolutions.net>

Yeah, no. Please find someone who's willing to teach you first.

johannes

^ permalink raw reply	[flat|nested] 7+ messages in thread

end of thread, other threads:[~2026-02-04 13:07 UTC | newest]

Thread overview: 7+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2026-02-04 12:23 [PATCH] iwlwifi: dvm: fix NULL pointer dereference in rxon dhyaan19022009-hue
  -- strict thread matches above, loose matches on Subject: below --
2026-02-04 12:53 dhyaan19022009-hue
2026-02-04 13:07 ` Johannes Berg
2026-02-04 12:13 [PATCH] git commit --amend ``` dhyaan19022009-hue
2026-02-04 12:13 ` [PATCH] iwlwifi: dvm: fix NULL pointer dereference in rxon dhyaan19022009-hue
2026-02-04 12:01 dhyaan19022009-hue
2026-02-04 12:25 ` Johannes Berg
2026-02-04 11:38 dhyaan19022009-hue

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox