|
|
@ -407,6 +407,9 @@ efi_status_t efi_get_memory_map(unsigned long *memory_map_size, |
|
|
|
|
|
|
|
|
|
|
|
map_size = map_entries * sizeof(struct efi_mem_desc); |
|
|
|
map_size = map_entries * sizeof(struct efi_mem_desc); |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
if (provided_map_size < map_size) |
|
|
|
|
|
|
|
return EFI_BUFFER_TOO_SMALL; |
|
|
|
|
|
|
|
|
|
|
|
*memory_map_size = map_size; |
|
|
|
*memory_map_size = map_size; |
|
|
|
|
|
|
|
|
|
|
|
if (descriptor_size) |
|
|
|
if (descriptor_size) |
|
|
@ -415,9 +418,6 @@ efi_status_t efi_get_memory_map(unsigned long *memory_map_size, |
|
|
|
if (descriptor_version) |
|
|
|
if (descriptor_version) |
|
|
|
*descriptor_version = EFI_MEMORY_DESCRIPTOR_VERSION; |
|
|
|
*descriptor_version = EFI_MEMORY_DESCRIPTOR_VERSION; |
|
|
|
|
|
|
|
|
|
|
|
if (provided_map_size < map_size) |
|
|
|
|
|
|
|
return EFI_BUFFER_TOO_SMALL; |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
/* Copy list into array */ |
|
|
|
/* Copy list into array */ |
|
|
|
if (memory_map) { |
|
|
|
if (memory_map) { |
|
|
|
/* Return the list in ascending order */ |
|
|
|
/* Return the list in ascending order */ |
|
|
|