aboutsummaryrefslogtreecommitdiffstats
path: root/net/wireless
diff options
context:
space:
mode:
authorKees Cook <kees@kernel.org>2024-12-30 10:36:14 -0800
committerJohannes Berg <johannes.berg@intel.com>2025-01-13 15:34:06 +0100
commit3a0168626c138734490bc52c4105ce8e79d2f923 (patch)
treec10f71c0fbb16f8e9b2b2c03abf19d485e01612b /net/wireless
parentwifi: mac80211: prohibit deactivating all links (diff)
downloadlinux-rng-3a0168626c138734490bc52c4105ce8e79d2f923.tar.xz
linux-rng-3a0168626c138734490bc52c4105ce8e79d2f923.zip
wifi: cfg80211: Move cfg80211_scan_req_add_chan() n_channels increment earlier
Since adding __counted_by(n_channels) to struct cfg80211_scan_request, anything adding to the channels array must increment n_channels first. Move n_channels increment earlier. Reported-by: John Rowley <lkml@johnrowley.me> Closes: https://lore.kernel.org/stable/1815535c709ba9d9.156c6a5c9cdf6e59.b249b6b6a5ee4634@localhost.localdomain/ Fixes: aa4ec06c455d ("wifi: cfg80211: use __counted_by where appropriate") Signed-off-by: Kees Cook <kees@kernel.org> Reviewed-by: Gustavo A. R. Silva <gustavoars@kernel.org> Link: https://patch.msgid.link/20241230183610.work.680-kees@kernel.org Signed-off-by: Johannes Berg <johannes.berg@intel.com>
Diffstat (limited to 'net/wireless')
-rw-r--r--net/wireless/scan.c3
1 files changed, 1 insertions, 2 deletions
diff --git a/net/wireless/scan.c b/net/wireless/scan.c
index a180f21b3d28..bc77cfede492 100644
--- a/net/wireless/scan.c
+++ b/net/wireless/scan.c
@@ -799,12 +799,11 @@ static void cfg80211_scan_req_add_chan(struct cfg80211_scan_request *request,
}
}
+ request->n_channels++;
request->channels[n_channels] = chan;
if (add_to_6ghz)
request->scan_6ghz_params[request->n_6ghz_params].channel_idx =
n_channels;
-
- request->n_channels++;
}
static bool cfg80211_find_ssid_match(struct cfg80211_colocated_ap *ap,