diff options
Diffstat (limited to 'drivers/firmware/efi/libstub/randomalloc.c')
| -rw-r--r-- | drivers/firmware/efi/libstub/randomalloc.c | 7 | 
1 files changed, 4 insertions, 3 deletions
diff --git a/drivers/firmware/efi/libstub/randomalloc.c b/drivers/firmware/efi/libstub/randomalloc.c index 9fb5869896be..1692d19ae80f 100644 --- a/drivers/firmware/efi/libstub/randomalloc.c +++ b/drivers/firmware/efi/libstub/randomalloc.c @@ -29,7 +29,7 @@ static unsigned long get_entry_num_slots(efi_memory_desc_t *md,  		return 0;  	region_end = min(md->phys_addr + md->num_pages * EFI_PAGE_SIZE - 1, -			 (u64)ULONG_MAX); +			 (u64)EFI_ALLOC_LIMIT);  	if (region_end < size)  		return 0; @@ -53,7 +53,8 @@ static unsigned long get_entry_num_slots(efi_memory_desc_t *md,  efi_status_t efi_random_alloc(unsigned long size,  			      unsigned long align,  			      unsigned long *addr, -			      unsigned long random_seed) +			      unsigned long random_seed, +			      int memory_type)  {  	unsigned long total_slots = 0, target_slot;  	unsigned long total_mirrored_slots = 0; @@ -118,7 +119,7 @@ efi_status_t efi_random_alloc(unsigned long size,  		pages = size / EFI_PAGE_SIZE;  		status = efi_bs_call(allocate_pages, EFI_ALLOCATE_ADDRESS, -				     EFI_LOADER_DATA, pages, &target); +				     memory_type, pages, &target);  		if (status == EFI_SUCCESS)  			*addr = target;  		break;  |