efi_loader: efi_allocate_pool(EFI_ALLOCATE_ANY_PAGES, ...)

The first parameter of efi_allocate_pool is a memory type. It cannot be
EFI_ALLOCATE_ANY_PAGES. Use EFI_BOOT_SERVICES_DATA instead.

Signed-off-by: Heinrich Schuchardt <xypron.glpk@gmx.de>
Signed-off-by: Alexander Graf <agraf@suse.de>
This commit is contained in:
Heinrich Schuchardt 2018-10-03 20:02:29 +02:00 committed by Alexander Graf
parent 1e1e1c27c5
commit eee6530ed1

View File

@ -2023,7 +2023,7 @@ static efi_status_t EFIAPI efi_open_protocol_information(
/* Copy entries */ /* Copy entries */
buffer_size = count * sizeof(struct efi_open_protocol_info_entry); buffer_size = count * sizeof(struct efi_open_protocol_info_entry);
r = efi_allocate_pool(EFI_ALLOCATE_ANY_PAGES, buffer_size, r = efi_allocate_pool(EFI_BOOT_SERVICES_DATA, buffer_size,
(void **)entry_buffer); (void **)entry_buffer);
if (r != EFI_SUCCESS) if (r != EFI_SUCCESS)
goto out; goto out;
@ -2080,7 +2080,7 @@ static efi_status_t EFIAPI efi_protocols_per_handle(
size_t j = 0; size_t j = 0;
buffer_size = sizeof(efi_guid_t *) * *protocol_buffer_count; buffer_size = sizeof(efi_guid_t *) * *protocol_buffer_count;
r = efi_allocate_pool(EFI_ALLOCATE_ANY_PAGES, buffer_size, r = efi_allocate_pool(EFI_BOOT_SERVICES_DATA, buffer_size,
(void **)protocol_buffer); (void **)protocol_buffer);
if (r != EFI_SUCCESS) if (r != EFI_SUCCESS)
return EFI_EXIT(r); return EFI_EXIT(r);
@ -2133,7 +2133,7 @@ static efi_status_t EFIAPI efi_locate_handle_buffer(
*buffer); *buffer);
if (r != EFI_BUFFER_TOO_SMALL) if (r != EFI_BUFFER_TOO_SMALL)
goto out; goto out;
r = efi_allocate_pool(EFI_ALLOCATE_ANY_PAGES, buffer_size, r = efi_allocate_pool(EFI_BOOT_SERVICES_DATA, buffer_size,
(void **)buffer); (void **)buffer);
if (r != EFI_SUCCESS) if (r != EFI_SUCCESS)
goto out; goto out;