This (partially) reverts commits
-
838c7b8f1f27 ("wifi: nl80211: Avoid address calculations via out of bounds array indexing")
-
f1d3334d604c ("wifi: cfg80211: sme: init n_channels before channels[] access")
-
82bbe02b2500 ("wifi: mac80211: Set n_channels after allocating struct cfg80211_scan_request")
These commits all set the structure to be in an inconsistent
state, setting n_channels to some value before them actually
being filled in. That's fine for what the code does now, but
with the removal of __counted_by() in
444020f4bf06 ("wifi:
cfg80211: remove scan request n_channels counted_by") it's no
longer needed and it does leave a bit of a landmine there
since breaking out of some code to send the scan or something
would leave it wrong.
Remove the now superfluous n_channels settings.
Link: https://patch.msgid.link/20250718103237.59510b2384c5.Ied5ba9c5c49efc008f4491c8ca7a45858a83f064@changeid
Signed-off-by: Johannes Berg <johannes.berg@intel.com>
GFP_KERNEL);
if (!local->int_scan_req)
return -ENOMEM;
- local->int_scan_req->n_channels = channels;
eth_broadcast_addr(local->int_scan_req->bssid);
request = kzalloc(size, GFP_KERNEL);
if (!request)
return -ENOMEM;
- request->req.n_channels = n_channels;
if (n_ssids)
request->req.ssids = (void *)request + ssids_offset;
if (!request)
return -ENOMEM;
- request->req.n_channels = n_channels;
if (wdev->conn->params.channel) {
enum nl80211_band band = wdev->conn->params.channel->band;
struct ieee80211_supported_band *sband =