efi_loader: centralize messaging for efi_init_obj_list

If efi_init_obj_list() fails we cannot use the UEFI sub-system.

* Instead of having messages for this everywhere write an error message
  in efi_init_obj_list().
* Always use (ret != EFI_SUCCESS) when checking the return value of
  efi_init_obj_list().
* Remove the return code from the error message as it does not help
  users to understand which initialization went wrong.

Signed-off-by: Heinrich Schuchardt <heinrich.schuchardt@canonical.com>
This commit is contained in:
Heinrich Schuchardt
2026-04-21 00:03:21 +02:00
parent 257f9f5273
commit 82539af483
9 changed files with 12 additions and 36 deletions

View File

@@ -224,11 +224,8 @@ static efi_status_t efi_binary_run_dp(void *image, size_t size, void *fdt,
/* Initialize EFI drivers */
ret = efi_init_obj_list();
if (ret != EFI_SUCCESS) {
log_err("Error: Cannot initialize UEFI sub-system, r = %lu\n",
ret & ~EFI_ERROR_MASK);
if (ret != EFI_SUCCESS)
return ret;
}
ret = efi_install_fdt(fdt);
if (ret != EFI_SUCCESS)

View File

@@ -1310,11 +1310,8 @@ efi_status_t efi_bootmgr_run(void *fdt)
/* Initialize EFI drivers */
ret = efi_init_obj_list();
if (ret != EFI_SUCCESS) {
log_err("Error: Cannot initialize UEFI sub-system, r = %lu\n",
ret & ~EFI_ERROR_MASK);
if (ret != EFI_SUCCESS)
return ret;
}
ret = efi_bootmgr_load(&handle, &load_options);
if (ret != EFI_SUCCESS) {

View File

@@ -392,5 +392,7 @@ efi_status_t efi_init_obj_list(void)
ret = efi_start_obj_list();
out:
efi_obj_list_initialized = ret;
if (ret != EFI_SUCCESS)
log_err("Cannot initialize UEFI sub-system\n");
return ret;
}