summaryrefslogtreecommitdiff
path: root/drivers/net/wireless/intel
diff options
context:
space:
mode:
authorJohannes Berg <johannes.berg@intel.com>2025-08-28 09:55:28 +0300
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>2025-09-09 18:58:07 +0200
commitc2e32ac3f107e6802a0ce78a3c071b9c18212b88 (patch)
tree203a9e59b189f39ec48acabac629077fad2422fb /drivers/net/wireless/intel
parent7614b00f16e53046e1104b667ac721ea78251576 (diff)
downloadlinux-c2e32ac3f107e6802a0ce78a3c071b9c18212b88.tar.gz
linux-c2e32ac3f107e6802a0ce78a3c071b9c18212b88.tar.bz2
linux-c2e32ac3f107e6802a0ce78a3c071b9c18212b88.zip
wifi: iwlwifi: uefi: check DSM item validity
[ Upstream commit 1d33694462fa7da451846c39d653585b61375992 ] The first array index is a bitmap indicating which of the other values are valid. Check that bitmap before returning a value. Fixes: fc7214c3c986 ("wifi: iwlwifi: read DSM functions from UEFI") Closes: https://bugzilla.kernel.org/show_bug.cgi?id=220085 Signed-off-by: Johannes Berg <johannes.berg@intel.com> Signed-off-by: Miri Korenblit <miriam.rachel.korenblit@intel.com> Link: https://patch.msgid.link/20250828095500.59ec52ff865e.I9e11f497a029eb38f481b2c90c43c0935285216d@changeid Signed-off-by: Sasha Levin <sashal@kernel.org>
Diffstat (limited to 'drivers/net/wireless/intel')
-rw-r--r--drivers/net/wireless/intel/iwlwifi/fw/uefi.c6
1 files changed, 6 insertions, 0 deletions
diff --git a/drivers/net/wireless/intel/iwlwifi/fw/uefi.c b/drivers/net/wireless/intel/iwlwifi/fw/uefi.c
index 86d6286a1537..e5fbb5fcc4ab 100644
--- a/drivers/net/wireless/intel/iwlwifi/fw/uefi.c
+++ b/drivers/net/wireless/intel/iwlwifi/fw/uefi.c
@@ -741,6 +741,12 @@ int iwl_uefi_get_dsm(struct iwl_fw_runtime *fwrt, enum iwl_dsm_funcs func,
goto out;
}
+ if (!(data->functions[DSM_FUNC_QUERY] & BIT(func))) {
+ IWL_DEBUG_RADIO(fwrt, "DSM func %d not in 0x%x\n",
+ func, data->functions[DSM_FUNC_QUERY]);
+ goto out;
+ }
+
*value = data->functions[func];
ret = 0;
out: