summaryrefslogtreecommitdiff
path: root/mok.c
diff options
context:
space:
mode:
authorPeter Jones <pjones@redhat.com>2024-06-27 12:20:44 -0400
committerPeter Jones <pjones@redhat.com>2025-02-24 15:26:20 -0500
commitfc0cface403b72cc13cb94e3cdb1f439af69ea89 (patch)
treefab4106797776ce6cb9c7674fb37c28e22ae5fea /mok.c
parentb216543d691050d6cdd37c3500571cf67882f1bc (diff)
downloadefi-boot-shim-fc0cface403b72cc13cb94e3cdb1f439af69ea89.tar.gz
efi-boot-shim-fc0cface403b72cc13cb94e3cdb1f439af69ea89.zip
Mirror some more efi variables to mok-variables
Some machines have EFI Boot Services variables but not Runtime variables, and thus it can be quite difficult to figure out what's going on once the system is booted. This changes mok variable mirroring to also mirror the following variables to the mok variable config table: AuditMode BootOrder BootCurrent BootNext Boot0000 Boot0001 Boot0002 Boot0003 Boot0004 Boot0005 Boot0006 DeployedMode SecureBoot SetupMode SignatureSupport Timeout PK KEK db dbx Kernel_SkuSiStatus There's no attempt to do anything involving creating runtime or boot-services only variables, it just mirrors them into the config table so they'll be exposed there. Signed-off-by: Peter Jones <pjones@redhat.com>
Diffstat (limited to 'mok.c')
-rw-r--r--mok.c147
1 files changed, 147 insertions, 0 deletions
diff --git a/mok.c b/mok.c
index f98e36de..97d4a0eb 100644
--- a/mok.c
+++ b/mok.c
@@ -262,6 +262,153 @@ struct mok_state_variable mok_state_variable_data[] = {
.flags = MOK_VARIABLE_CONFIG_ONLY,
.format = format_hsi_status,
},
+ {.name = L"AuditMode",
+ .name8 = "AuditMode",
+ .rtname = L"AuditMode",
+ .rtname8 = "AuditMode",
+ .guid = &GV_GUID,
+ .flags = MOK_VARIABLE_CONFIG_ONLY,
+ },
+ {.name = L"BootOrder",
+ .name8 = "BootOrder",
+ .rtname = L"BootOrder",
+ .rtname8 = "BootOrder",
+ .guid = &GV_GUID,
+ .flags = MOK_VARIABLE_CONFIG_ONLY,
+ },
+ {.name = L"BootCurrent",
+ .name8 = "BootCurrent",
+ .rtname = L"BootCurrent",
+ .rtname8 = "BootCurrent",
+ .guid = &GV_GUID,
+ .flags = MOK_VARIABLE_CONFIG_ONLY,
+ },
+ {.name = L"BootNext",
+ .name8 = "BootNext",
+ .rtname = L"BootNext",
+ .rtname8 = "BootNext",
+ .guid = &GV_GUID,
+ .flags = MOK_VARIABLE_CONFIG_ONLY,
+ },
+ {.name = L"Boot0000",
+ .name8 = "Boot0000",
+ .rtname = L"Boot0000",
+ .rtname8 = "Boot0000",
+ .guid = &GV_GUID,
+ .flags = MOK_VARIABLE_CONFIG_ONLY,
+ },
+ {.name = L"Boot0001",
+ .name8 = "Boot0001",
+ .rtname = L"Boot0001",
+ .rtname8 = "Boot0001",
+ .guid = &GV_GUID,
+ .flags = MOK_VARIABLE_CONFIG_ONLY,
+ },
+ {.name = L"Boot0002",
+ .name8 = "Boot0002",
+ .rtname = L"Boot0002",
+ .rtname8 = "Boot0002",
+ .guid = &GV_GUID,
+ .flags = MOK_VARIABLE_CONFIG_ONLY,
+ },
+ {.name = L"Boot0003",
+ .name8 = "Boot0003",
+ .rtname = L"Boot0003",
+ .rtname8 = "Boot0003",
+ .guid = &GV_GUID,
+ .flags = MOK_VARIABLE_CONFIG_ONLY,
+ },
+ {.name = L"Boot0004",
+ .name8 = "Boot0004",
+ .rtname = L"Boot0004",
+ .rtname8 = "Boot0004",
+ .guid = &GV_GUID,
+ .flags = MOK_VARIABLE_CONFIG_ONLY,
+ },
+ {.name = L"Boot0005",
+ .name8 = "Boot0005",
+ .rtname = L"Boot0005",
+ .rtname8 = "Boot0005",
+ .guid = &GV_GUID,
+ .flags = MOK_VARIABLE_CONFIG_ONLY,
+ },
+ {.name = L"Boot0006",
+ .name8 = "Boot0006",
+ .rtname = L"Boot0006",
+ .rtname8 = "Boot0006",
+ .guid = &GV_GUID,
+ .flags = MOK_VARIABLE_CONFIG_ONLY,
+ },
+ {.name = L"DeployedMode",
+ .name8 = "DeployedMode",
+ .rtname = L"DeployedMode",
+ .rtname8 = "DeployedMode",
+ .guid = &GV_GUID,
+ .flags = MOK_VARIABLE_CONFIG_ONLY,
+ },
+ {.name = L"SecureBoot",
+ .name8 = "SecureBoot",
+ .rtname = L"SecureBoot",
+ .rtname8 = "SecureBoot",
+ .guid = &GV_GUID,
+ .flags = MOK_VARIABLE_CONFIG_ONLY,
+ },
+ {.name = L"SetupMode",
+ .name8 = "SetupMode",
+ .rtname = L"SetupMode",
+ .rtname8 = "SetupMode",
+ .guid = &GV_GUID,
+ .flags = MOK_VARIABLE_CONFIG_ONLY,
+ },
+ {.name = L"SignatureSupport",
+ .name8 = "SignatureSupport",
+ .rtname = L"SignatureSupport",
+ .rtname8 = "SignatureSupport",
+ .guid = &GV_GUID,
+ .flags = MOK_VARIABLE_CONFIG_ONLY,
+ },
+ {.name = L"Timeout",
+ .name8 = "Timeout",
+ .rtname = L"Timeout",
+ .rtname8 = "Timeout",
+ .guid = &GV_GUID,
+ .flags = MOK_VARIABLE_CONFIG_ONLY,
+ },
+ {.name = L"PK",
+ .name8 = "PK",
+ .rtname = L"PK",
+ .rtname8 = "PK",
+ .guid = &GV_GUID,
+ .flags = MOK_VARIABLE_CONFIG_ONLY,
+ },
+ {.name = L"KEK",
+ .name8 = "KEK",
+ .rtname = L"KEK",
+ .rtname8 = "KEK",
+ .guid = &GV_GUID,
+ .flags = MOK_VARIABLE_CONFIG_ONLY,
+ },
+ {.name = L"db",
+ .name8 = "db",
+ .rtname = L"db",
+ .rtname8 = "db",
+ .guid = &SIG_DB,
+ .flags = MOK_VARIABLE_CONFIG_ONLY,
+ },
+ {.name = L"dbx",
+ .name8 = "dbx",
+ .rtname = L"dbx",
+ .rtname8 = "dbx",
+ .guid = &SIG_DB,
+ .flags = MOK_VARIABLE_CONFIG_ONLY,
+ },
+ {.name = L"Kernel_SkuSiStatus",
+ .name8 = "Kernel_SkuSiStatus",
+ .rtname = L"Kernel_SkuSiStatus",
+ .rtname8 = "Kernel_SkuSiStatus",
+ .guid = &SECUREBOOT_EFI_NAMESPACE_GUID,
+ .flags = MOK_VARIABLE_CONFIG_ONLY,
+ },
{ NULL, }
};
size_t n_mok_state_variables = sizeof(mok_state_variable_data) / sizeof(mok_state_variable_data[0]);