diff options
| author | Emmanuel Grumbach <emmanuel.grumbach@intel.com> | 2019-07-22 12:47:27 +0300 | 
|---|---|---|
| committer | Johannes Berg <johannes.berg@intel.com> | 2019-07-30 19:34:32 +0300 | 
| commit | ba3224db78034435e9ff0247277cce7c7bb1756c (patch) | |
| tree | 9c3581a5df43e5b644e6dc494d50ab551b1da2e2 | |
| parent | 87e7e25aee6b59fef740856f4e86d4b60496c9e1 (diff) | |
| download | linux-ba3224db78034435e9ff0247277cce7c7bb1756c.tar.xz | |
iwlwifi: mvm: fix an out-of-bound access
The index for the elements of the ACPI object we dereference
was static. This means that if we called the function twice
we wouldn't start from 3 again, but rather from the latest
index we reached in the previous call.
This was dutifully reported by KASAN.
Fix this.
Cc: stable@vger.kernel.org
Fixes: 6996490501ed ("iwlwifi: mvm: add support for EWRD (Dynamic SAR) ACPI table")
Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@intel.com>
Signed-off-by: Johannes Berg <johannes.berg@intel.com>
| -rw-r--r-- | drivers/net/wireless/intel/iwlwifi/mvm/fw.c | 2 | 
1 files changed, 1 insertions, 1 deletions
diff --git a/drivers/net/wireless/intel/iwlwifi/mvm/fw.c b/drivers/net/wireless/intel/iwlwifi/mvm/fw.c index 00c89bcfdf6a..5de54d1559dd 100644 --- a/drivers/net/wireless/intel/iwlwifi/mvm/fw.c +++ b/drivers/net/wireless/intel/iwlwifi/mvm/fw.c @@ -755,7 +755,7 @@ static int iwl_mvm_sar_get_ewrd_table(struct iwl_mvm *mvm)  	for (i = 0; i < n_profiles; i++) {  		/* the tables start at element 3 */ -		static int pos = 3; +		int pos = 3;  		/* The EWRD profiles officially go from 2 to 4, but we  		 * save them in sar_profiles[1-3] (because we don't  | 
