aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/net/wireless/intel/iwlwifi/fw/runtime.h
diff options
context:
space:
mode:
authorMiri Korenblit <[email protected]>2024-01-28 06:53:59 +0000
committerJohannes Berg <[email protected]>2024-02-02 12:50:34 +0000
commitebe8f41319fabee020736220942d79c1644bea85 (patch)
tree1168254b15371ee71e1d63b52f59c1f3198bc2e1 /drivers/net/wireless/intel/iwlwifi/fw/runtime.h
parentwifi: iwlwifi: mvm: initialize rates in FW earlier (diff)
downloadkernel-ebe8f41319fabee020736220942d79c1644bea85.tar.gz
kernel-ebe8f41319fabee020736220942d79c1644bea85.zip
wifi: iwlwifi: implement GLAI ACPI table loading
All the regulatory tables from BIOS are going to be loaded (preferably) from the UEFI instead of the ACPI. There is a security issue with the fact that anyone can add these UEFI variables. The solution for that is to have a lock for all WIFI GUID UEFI variables, and only if the UEFI variables are locked then we can read it. The status of the lock (unlocked, locked, test mode) is indicated in a ACPI table: Guid Lock ACPI Indicator. Load this table so the driver knows whether to read from UEFI or not Signed-off-by: Miri Korenblit <[email protected]> Reviewed-by: Gregory Greenman <[email protected]> Link: https://msgid.link/20240128084842.53994809fbdd.I1bd10aafc387bc04f375e386861ee2bcb82f0a61@changeid Signed-off-by: Johannes Berg <[email protected]>
Diffstat (limited to 'drivers/net/wireless/intel/iwlwifi/fw/runtime.h')
-rw-r--r--drivers/net/wireless/intel/iwlwifi/fw/runtime.h4
1 files changed, 4 insertions, 0 deletions
diff --git a/drivers/net/wireless/intel/iwlwifi/fw/runtime.h b/drivers/net/wireless/intel/iwlwifi/fw/runtime.h
index 357727774db9..1ec2bcdf92b8 100644
--- a/drivers/net/wireless/intel/iwlwifi/fw/runtime.h
+++ b/drivers/net/wireless/intel/iwlwifi/fw/runtime.h
@@ -100,6 +100,9 @@ struct iwl_txf_iter_data {
* @dump: debug dump data
* @uats_enabled: VLP or AFC AP is enabled
* @uats_table: AP type table
+ * @uefi_tables_lock_status: The status of the WIFI GUID UEFI variables lock:
+ * 0: Unlocked, 1 and 2: Locked.
+ * Only read the UEFI variables if locked.
*/
struct iwl_fw_runtime {
struct iwl_trans *trans;
@@ -175,6 +178,7 @@ struct iwl_fw_runtime {
u8 reduced_power_flags;
bool uats_enabled;
struct iwl_uats_table_cmd uats_table;
+ u8 uefi_tables_lock_status;
#endif
};