- avoid the error message during linux system boot (bsc#1184454) - prevent the build id being added to the binary. That can cause issues with the signature OBS-URL: https://build.opensuse.org/request/show/883796 OBS-URL: https://build.opensuse.org/package/show/devel:openSUSE:Factory/shim?expand=0&rev=177
40 lines
1.4 KiB
Diff
40 lines
1.4 KiB
Diff
From 33ca95024aa7e33218da5882d30b3ec690a11046 Mon Sep 17 00:00:00 2001
|
|
From: Gary Lin <glin@suse.com>
|
|
Date: Thu, 8 Apr 2021 16:23:03 +0800
|
|
Subject: [PATCH] mok: allocate MOK config table as BootServicesData
|
|
|
|
Linux kernel is picky when reserving the memory for x86 and it only
|
|
expects BootServicesData:
|
|
|
|
https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/tree/arch/x86/platform/efi/quirks.c?h=v5.11#n254
|
|
|
|
Otherwise, the following error would show during system boot:
|
|
|
|
Apr 07 12:31:56.743925 localhost kernel: efi: Failed to lookup EFI memory descriptor for 0x000000003dcf8000
|
|
|
|
Although BootServicesData would be reclaimed after ExitBootService(),
|
|
linux kernel reserves MOK config table when it detects the existence of
|
|
the table, so it's fine to allocate the table as BootServicesData.
|
|
|
|
Signed-off-by: Gary Lin <glin@suse.com>
|
|
---
|
|
mok.c | 2 +-
|
|
1 file changed, 1 insertion(+), 1 deletion(-)
|
|
|
|
diff --git a/mok.c b/mok.c
|
|
index 5ad9072b..fc1ee04d 100644
|
|
--- a/mok.c
|
|
+++ b/mok.c
|
|
@@ -1002,7 +1002,7 @@ EFI_STATUS import_mok_state(EFI_HANDLE image_handle)
|
|
npages = ALIGN_VALUE(config_sz, PAGE_SIZE) >> EFI_PAGE_SHIFT;
|
|
config_table = NULL;
|
|
efi_status = gBS->AllocatePages(AllocateAnyPages,
|
|
- EfiRuntimeServicesData,
|
|
+ EfiBootServicesData,
|
|
npages,
|
|
(EFI_PHYSICAL_ADDRESS *)&config_table);
|
|
if (EFI_ERROR(efi_status) || !config_table) {
|
|
--
|
|
2.29.2
|
|
|