mirror of https://lore.kernel.org/lkml/
 help / color / mirror / Atom feed
From: Zhao Li <enderaoelyther@gmail.com>
To: Johannes Berg <johannes@sipsolutions.net>
Cc: "Sebastian Krzyszkowiak" <sebastian.krzyszkowiak@puri.sm>,
	"Arend van Spriel" <arend.vanspriel@broadcom.com>,
	"Ville Nummela" <ville.nummela@kempower.com>,
	"Jiangshan Yi" <yijiangshan@kylinos.cn>,
	"Marek Vasut" <marex@nabladev.com>,
	"Toke Høiland-Jørgensen" <toke@toke.dk>,
	"Stefan Hansson" <newbyte@postmarketos.org>,
	"Ping-Ke Shih" <pkshih@realtek.com>,
	"Jakub Kicinski" <kuba@kernel.org>,
	"Ethan Nelson-Moore" <enelsonmoore@gmail.com>,
	"Pengpeng Hou" <pengpeng@iscas.ac.cn>,
	"Prameela Rani Garnepudi" <prameela.j04cs@gmail.com>,
	"Siva Rebbagondla" <siva.rebbagondla@redpinesignals.com>,
	"Kalle Valo" <kvalo@kernel.org>,
	linux-wireless@vger.kernel.org, linux-kernel@vger.kernel.org,
	stable@vger.kernel.org
Subject: [PATCH 1/3] wifi: rsi: initialize background scan completion data
Date: Wed, 28 Oct 2026 22:19:25 +0800	[thread overview]
Message-ID: <20261028141927.9306-2-enderaoelyther@gmail.com> (raw)
In-Reply-To: <20261028141927.9306-1-enderaoelyther@gmail.com>

Background scan completion can expose uninitialized timestamp and BSSID
fields to userspace, while cancellation is reported as a successful scan.

Both completion paths allocate cfg80211_scan_info on the stack but set
only aborted. mac80211 copies the other fields, and nl80211 can emit the
14 uninitialized bytes when the stack value interpreted as TSF is nonzero.

Zero-initialize the result and mark cancellation aborted.

LLM assistance was used to find the bug and review.

Fixes: 7fdcb8e12660 ("rsi: add support for hardware scan offload")
Cc: stable@vger.kernel.org
Signed-off-by: Zhao Li <enderaoelyther@gmail.com>
---
Validation: W=1 module builds with MODPOST passed with CONFIG_RSI_COEX
enabled and disabled. Not reproduced; RS9113/RS9116 hardware was
unavailable.
Sparse C=2 passed. Targeted Smatch introduced no new diagnostics.

 drivers/net/wireless/rsi/rsi_91x_mac80211.c | 5 +++--
 drivers/net/wireless/rsi/rsi_91x_mgmt.c     | 3 +--
 2 files changed, 4 insertions(+), 4 deletions(-)

diff --git a/drivers/net/wireless/rsi/rsi_91x_mac80211.c b/drivers/net/wireless/rsi/rsi_91x_mac80211.c
index 3faf2235728b..27bfdb6affaf 100644
--- a/drivers/net/wireless/rsi/rsi_91x_mac80211.c
+++ b/drivers/net/wireless/rsi/rsi_91x_mac80211.c
@@ -276,7 +276,9 @@ static void rsi_mac80211_cancel_hw_scan(struct ieee80211_hw *hw,
 {
 	struct rsi_hw *adapter = hw->priv;
 	struct rsi_common *common = adapter->priv;
-	struct cfg80211_scan_info info;
+	struct cfg80211_scan_info info = {
+		.aborted = true,
+	};
 
 	rsi_dbg(INFO_ZONE, "***** Hardware scan stop *****\n");
 	mutex_lock(&common->mutex);
@@ -284,7 +286,6 @@ static void rsi_mac80211_cancel_hw_scan(struct ieee80211_hw *hw,
 	if (common->bgscan_en) {
 		if (!rsi_send_bgscan_params(common, RSI_STOP_BGSCAN))
 			common->bgscan_en = false;
-		info.aborted = false;
 		ieee80211_scan_completed(adapter->hw, &info);
 		rsi_dbg(INFO_ZONE, "Back ground scan cancelled\n");
 	}
diff --git a/drivers/net/wireless/rsi/rsi_91x_mgmt.c b/drivers/net/wireless/rsi/rsi_91x_mgmt.c
index d9dcbb255317..9ceb6cba3546 100644
--- a/drivers/net/wireless/rsi/rsi_91x_mgmt.c
+++ b/drivers/net/wireless/rsi/rsi_91x_mgmt.c
@@ -2107,11 +2107,10 @@ static int rsi_handle_ta_confirm_type(struct rsi_common *common,
 	case BG_SCAN_PROBE_REQ:
 		rsi_dbg(INFO_ZONE, "BG scan complete event\n");
 		if (common->bgscan_en) {
-			struct cfg80211_scan_info info;
+			struct cfg80211_scan_info info = {};
 
 			if (!rsi_send_bgscan_params(common, RSI_STOP_BGSCAN))
 				common->bgscan_en = 0;
-			info.aborted = false;
 			ieee80211_scan_completed(adapter->hw, &info);
 		}
 		rsi_dbg(INFO_ZONE, "Background scan completed\n");
-- 
2.56.0


  reply	other threads:[~2026-10-28 14:19 UTC|newest]

Thread overview: 4+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2026-10-28 14:19 [PATCH 0/3] wifi: rsi: fix background scan result and state lifetime Zhao Li
2026-10-28 14:19 ` Zhao Li [this message]
2026-10-28 14:19 ` [PATCH 2/3] wifi: rsi: report background scan start failures Zhao Li
2026-10-28 14:19 ` [PATCH 3/3] wifi: rsi: serialize background scan state Zhao Li

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20261028141927.9306-2-enderaoelyther@gmail.com \
    --to=enderaoelyther@gmail.com \
    --cc=arend.vanspriel@broadcom.com \
    --cc=enelsonmoore@gmail.com \
    --cc=johannes@sipsolutions.net \
    --cc=kuba@kernel.org \
    --cc=kvalo@kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-wireless@vger.kernel.org \
    --cc=marex@nabladev.com \
    --cc=newbyte@postmarketos.org \
    --cc=pengpeng@iscas.ac.cn \
    --cc=pkshih@realtek.com \
    --cc=prameela.j04cs@gmail.com \
    --cc=sebastian.krzyszkowiak@puri.sm \
    --cc=siva.rebbagondla@redpinesignals.com \
    --cc=stable@vger.kernel.org \
    --cc=toke@toke.dk \
    --cc=ville.nummela@kempower.com \
    --cc=yijiangshan@kylinos.cn \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox

all inboxes | Powered by JetHome®