Message ID | 20221130121128.27830-1-heinrich.schuchardt@canonical.com |
---|---|
State | Accepted, archived |
Delegated to: | Heinrich Schuchardt |
Headers | show |
Series | [v2,1/1] efi_loader: don't use EFI_LOADER_DATA internally | expand |
Thanks Heinrich On Wed, 30 Nov 2022 at 14:11, Heinrich Schuchardt <heinrich.schuchardt@canonical.com> wrote: > > EFI_LOADER_DATA/CODE is reserved for EFI applications. > Memory allocated by U-Boot for internal usage should be > EFI_BOOT_SERVICES_DATA or _CODE or EFI_RUNTIME_SERVICES_DATA or _CODE. > > Reported-by: François-Frédéric Ozog <ff@ozog.com> > Signed-off-by: Heinrich Schuchardt <heinrich.schuchardt@canonical.com> > Reviewed-by: François-Frédéric Ozog <ff@ozog.com> > --- > v2: > use EFI_BOOT_SERVICES_CODE for the relocated U-Boot code > --- > cmd/efidebug.c | 2 +- > lib/efi_loader/efi_memory.c | 4 ++-- > 2 files changed, 3 insertions(+), 3 deletions(-) > > diff --git a/cmd/efidebug.c b/cmd/efidebug.c > index ef239bb34b..64104da130 100644 > --- a/cmd/efidebug.c > +++ b/cmd/efidebug.c > @@ -600,7 +600,7 @@ static int do_efi_show_memmap(struct cmd_tbl *cmdtp, int flag, > ret = efi_get_memory_map(&map_size, memmap, NULL, NULL, NULL); > if (ret == EFI_BUFFER_TOO_SMALL) { > map_size += sizeof(struct efi_mem_desc); /* for my own */ > - ret = efi_allocate_pool(EFI_LOADER_DATA, map_size, > + ret = efi_allocate_pool(EFI_BOOT_SERVICES_DATA, map_size, > (void *)&memmap); > if (ret != EFI_SUCCESS) > return CMD_RET_FAILURE; > diff --git a/lib/efi_loader/efi_memory.c b/lib/efi_loader/efi_memory.c > index a17b426d11..8d347f101f 100644 > --- a/lib/efi_loader/efi_memory.c > +++ b/lib/efi_loader/efi_memory.c > @@ -823,7 +823,7 @@ static void add_u_boot_and_runtime(void) > uboot_stack_size) & ~EFI_PAGE_MASK; > uboot_pages = ((uintptr_t)map_sysmem(gd->ram_top - 1, 0) - > uboot_start + EFI_PAGE_MASK) >> EFI_PAGE_SHIFT; > - efi_add_memory_map_pg(uboot_start, uboot_pages, EFI_LOADER_DATA, > + efi_add_memory_map_pg(uboot_start, uboot_pages, EFI_BOOT_SERVICES_CODE, > false); > > #if defined(__aarch64__) > @@ -857,7 +857,7 @@ int efi_memory_init(void) > /* Request a 32bit 64MB bounce buffer region */ > uint64_t efi_bounce_buffer_addr = 0xffffffff; > > - if (efi_allocate_pages(EFI_ALLOCATE_MAX_ADDRESS, EFI_LOADER_DATA, > + if (efi_allocate_pages(EFI_ALLOCATE_MAX_ADDRESS, EFI_BOOT_SERVICES_DATA, > (64 * 1024 * 1024) >> EFI_PAGE_SHIFT, > &efi_bounce_buffer_addr) != EFI_SUCCESS) > return -1; > -- > 2.37.2 > Reviewed-by: Ilias Apalodimas <ilias.apalodimas@linaro.org>
diff --git a/cmd/efidebug.c b/cmd/efidebug.c index ef239bb34b..64104da130 100644 --- a/cmd/efidebug.c +++ b/cmd/efidebug.c @@ -600,7 +600,7 @@ static int do_efi_show_memmap(struct cmd_tbl *cmdtp, int flag, ret = efi_get_memory_map(&map_size, memmap, NULL, NULL, NULL); if (ret == EFI_BUFFER_TOO_SMALL) { map_size += sizeof(struct efi_mem_desc); /* for my own */ - ret = efi_allocate_pool(EFI_LOADER_DATA, map_size, + ret = efi_allocate_pool(EFI_BOOT_SERVICES_DATA, map_size, (void *)&memmap); if (ret != EFI_SUCCESS) return CMD_RET_FAILURE; diff --git a/lib/efi_loader/efi_memory.c b/lib/efi_loader/efi_memory.c index a17b426d11..8d347f101f 100644 --- a/lib/efi_loader/efi_memory.c +++ b/lib/efi_loader/efi_memory.c @@ -823,7 +823,7 @@ static void add_u_boot_and_runtime(void) uboot_stack_size) & ~EFI_PAGE_MASK; uboot_pages = ((uintptr_t)map_sysmem(gd->ram_top - 1, 0) - uboot_start + EFI_PAGE_MASK) >> EFI_PAGE_SHIFT; - efi_add_memory_map_pg(uboot_start, uboot_pages, EFI_LOADER_DATA, + efi_add_memory_map_pg(uboot_start, uboot_pages, EFI_BOOT_SERVICES_CODE, false); #if defined(__aarch64__) @@ -857,7 +857,7 @@ int efi_memory_init(void) /* Request a 32bit 64MB bounce buffer region */ uint64_t efi_bounce_buffer_addr = 0xffffffff; - if (efi_allocate_pages(EFI_ALLOCATE_MAX_ADDRESS, EFI_LOADER_DATA, + if (efi_allocate_pages(EFI_ALLOCATE_MAX_ADDRESS, EFI_BOOT_SERVICES_DATA, (64 * 1024 * 1024) >> EFI_PAGE_SHIFT, &efi_bounce_buffer_addr) != EFI_SUCCESS) return -1;