Commit 1d336944 authored by Johannes Berg's avatar Johannes Berg Committed by Miri Korenblit
Browse files

wifi: iwlwifi: uefi: check DSM item validity

The first array index is a bitmap indicating which of the
other values are valid. Check that bitmap before returning
a value.

Fixes: fc7214c3 ("wifi: iwlwifi: read DSM functions from UEFI")
Closes: https://bugzilla.kernel.org/show_bug.cgi?id=220085


Signed-off-by: default avatarJohannes Berg <johannes.berg@intel.com>
Signed-off-by: default avatarMiri Korenblit <miriam.rachel.korenblit@intel.com>
Link: https://patch.msgid.link/20250828095500.59ec52ff865e.I9e11f497a029eb38f481b2c90c43c0935285216d@changeid
parent 7bf2dfcc
Loading
Loading
Loading
Loading
+6 −0
Original line number Diff line number Diff line
@@ -747,6 +747,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];

	IWL_DEBUG_RADIO(fwrt,