wifi: iwlwifi: mvm: check n_ssids before accessing the ssids
[ Upstream commit 60d62757df30b74bf397a2847a6db7385c6ee281 ]
In some versions of cfg80211, the ssids poinet might be a valid one even
though n_ssids is 0. Accessing the pointer in this case will cuase an
out-of-bound access. Fix this by checking n_ssids first.
Fixes: c1a7515393
("iwlwifi: mvm: add adaptive dwell support")
Signed-off-by: Miri Korenblit <miriam.rachel.korenblit@intel.com>
Reviewed-by: Ilan Peer <ilan.peer@intel.com>
Reviewed-by: Johannes Berg <johannes.berg@intel.com>
Link: https://msgid.link/20240513132416.6e4d1762bf0d.I5a0e6cc8f02050a766db704d15594c61fe583d45@changeid
Signed-off-by: Johannes Berg <johannes.berg@intel.com>
Signed-off-by: Sasha Levin <sashal@kernel.org>
This commit is contained in:
Родитель
ab4cd503fd
Коммит
f777792952
|
@ -1312,7 +1312,7 @@ static void iwl_mvm_scan_umac_dwell(struct iwl_mvm *mvm,
|
||||||
if (IWL_MVM_ADWELL_MAX_BUDGET)
|
if (IWL_MVM_ADWELL_MAX_BUDGET)
|
||||||
cmd->v7.adwell_max_budget =
|
cmd->v7.adwell_max_budget =
|
||||||
cpu_to_le16(IWL_MVM_ADWELL_MAX_BUDGET);
|
cpu_to_le16(IWL_MVM_ADWELL_MAX_BUDGET);
|
||||||
else if (params->ssids && params->ssids[0].ssid_len)
|
else if (params->n_ssids && params->ssids[0].ssid_len)
|
||||||
cmd->v7.adwell_max_budget =
|
cmd->v7.adwell_max_budget =
|
||||||
cpu_to_le16(IWL_SCAN_ADWELL_MAX_BUDGET_DIRECTED_SCAN);
|
cpu_to_le16(IWL_SCAN_ADWELL_MAX_BUDGET_DIRECTED_SCAN);
|
||||||
else
|
else
|
||||||
|
@ -1414,7 +1414,7 @@ iwl_mvm_scan_umac_dwell_v10(struct iwl_mvm *mvm,
|
||||||
if (IWL_MVM_ADWELL_MAX_BUDGET)
|
if (IWL_MVM_ADWELL_MAX_BUDGET)
|
||||||
general_params->adwell_max_budget =
|
general_params->adwell_max_budget =
|
||||||
cpu_to_le16(IWL_MVM_ADWELL_MAX_BUDGET);
|
cpu_to_le16(IWL_MVM_ADWELL_MAX_BUDGET);
|
||||||
else if (params->ssids && params->ssids[0].ssid_len)
|
else if (params->n_ssids && params->ssids[0].ssid_len)
|
||||||
general_params->adwell_max_budget =
|
general_params->adwell_max_budget =
|
||||||
cpu_to_le16(IWL_SCAN_ADWELL_MAX_BUDGET_DIRECTED_SCAN);
|
cpu_to_le16(IWL_SCAN_ADWELL_MAX_BUDGET_DIRECTED_SCAN);
|
||||||
else
|
else
|
||||||
|
|
Загрузка…
Ссылка в новой задаче