
7 Jan
2025
7 Jan
'25
2:28 p.m.
Hi Heinrich,
[...]
+/**
- efi_hob_list_register() - install HOB list
- The EFI shell on X86 requires a HOB list
- Return: status code
- */
+efi_status_t efi_hob_list_register(void) +{
struct efi_hob_header *hob;
hob = efi_alloc(sizeof(struct efi_hob_header));
if (!hob)
return EFI_OUT_OF_RESOURCES;
hob->hob_type = EFI_HOB_TYPE_END_OF_HOB_LIST;
hob->hob_length = sizeof(struct efi_hob_header);
hob->reserved = 0;
return efi_install_configuration_table(&efi_guid_hob_list, hob);\
If this fails no one frees the 'hob' allocated memory
+} diff --git a/lib/efi_loader/efi_setup.c b/lib/efi_loader/efi_setup.c index aa59bc7779d..393b690c3ee 100644 --- a/lib/efi_loader/efi_setup.c +++ b/lib/efi_loader/efi_setup.c @@ -7,6 +7,7 @@
#define LOG_CATEGORY LOGC_EFI
+#include <efi_hob.h> #include <efi_loader.h> #include <efi_variable.h> #include <log.h> @@ -271,6 +272,12 @@ efi_status_t efi_init_obj_list(void) goto out; }
if (IS_ENABLED(CONFIG_EFI_HOB)) {
ret = efi_hob_list_register();
if (ret != EFI_SUCCESS)
goto out;
}
if (IS_ENABLED(CONFIG_EFI_TCG2_PROTOCOL)) { ret = efi_tcg2_register(); if (ret != EFI_SUCCESS)
-- 2.47.1
Cheers /Ilias