]> git.itanic.dy.fi Git - linux-stable/commit
wifi: iwlwifi: mvm: don't trust firmware n_channels
authorJohannes Berg <johannes.berg@intel.com>
Sun, 14 May 2023 09:15:53 +0000 (12:15 +0300)
committerJohannes Berg <johannes.berg@intel.com>
Tue, 16 May 2023 17:27:05 +0000 (10:27 -0700)
commit682b6dc29d98e857e6ca4bbc077c7dc2899b7473
tree426ab17ed5fdff5ac7a761a637ffad9dc87d2261
parentd0246a0e49efee0f8649d0e4f2350614cdfe6565
wifi: iwlwifi: mvm: don't trust firmware n_channels

If the firmware sends us a corrupted MCC response with
n_channels much larger than the command response can be,
we might copy far too much (uninitialized) memory and
even crash if the n_channels is large enough to make it
run out of the one page allocated for the FW response.

Fix that by checking the lengths. Doing a < comparison
would be sufficient, but the firmware should be doing
it correctly, so check more strictly.

Fixes: dcaf9f5ecb6f ("iwlwifi: mvm: add MCC update FW API")
Signed-off-by: Johannes Berg <johannes.berg@intel.com>
Signed-off-by: Gregory Greenman <gregory.greenman@intel.com>
Link: https://lore.kernel.org/r/20230514120631.d7b233139eb4.I51fd319df8e9d41881fc8450e83d78049518a79a@changeid
Signed-off-by: Johannes Berg <johannes.berg@intel.com>
drivers/net/wireless/intel/iwlwifi/mvm/nvm.c