mirror of https://gitee.com/openkylin/linux.git
iwlwifi: mvm: validate tid and sta_id in ba_notif
These are coming from the FW and are used to access arrays. Bad values can cause an out of bounds access so discard such ba_notifs and warn. CC: <stable@vger.kernel.org> [3.10+] Signed-off-by: Eyal Shapira <eyalx.shapira@intel.com> Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@intel.com>
This commit is contained in:
parent
90ea15c114
commit
2cee4762c5
|
@ -930,6 +930,11 @@ int iwl_mvm_rx_ba_notif(struct iwl_mvm *mvm, struct iwl_rx_cmd_buffer *rxb,
|
||||||
sta_id = ba_notif->sta_id;
|
sta_id = ba_notif->sta_id;
|
||||||
tid = ba_notif->tid;
|
tid = ba_notif->tid;
|
||||||
|
|
||||||
|
if (WARN_ONCE(sta_id >= IWL_MVM_STATION_COUNT ||
|
||||||
|
tid >= IWL_MAX_TID_COUNT,
|
||||||
|
"sta_id %d tid %d", sta_id, tid))
|
||||||
|
return 0;
|
||||||
|
|
||||||
rcu_read_lock();
|
rcu_read_lock();
|
||||||
|
|
||||||
sta = rcu_dereference(mvm->fw_id_to_mac_id[sta_id]);
|
sta = rcu_dereference(mvm->fw_id_to_mac_id[sta_id]);
|
||||||
|
|
Loading…
Reference in New Issue