efi_loader: efi_mem_carve_out should return s64

efi_mem_carve_out() is used to remove memory pages from a mapping.
As the number of pages to be removed is a 64bit type the return type
should be 64bit too.

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-05-27 16:45:09 +02:00 committed by Alexander Graf
parent e09159c867
commit 3282614081

View file

@ -68,23 +68,27 @@ static void efi_mem_sort(void)
list_sort(NULL, &efi_mem, efi_mem_cmp);
}
/*
* Unmaps all memory occupied by the carve_desc region from the
* list entry pointed to by map.
/** efi_mem_carve_out - unmap memory region
*
* Returns EFI_CARVE_NO_OVERLAP if the regions don't overlap.
* Returns EFI_CARVE_OVERLAPS_NONRAM if the carve and map overlap,
* and the map contains anything but free ram.
* (only when overlap_only_ram is true)
* Returns EFI_CARVE_LOOP_AGAIN if the mapping list should be traversed
* again, as it has been altered
* Returns the number of overlapping pages. The pages are removed from
* the mapping list.
* @map: memory map
* @carve_desc: memory region to unmap
* @overlap_only_ram: the carved out region may only overlap RAM
* Return Value: the number of overlapping pages which have been
* removed from the map,
* EFI_CARVE_NO_OVERLAP, if the regions don't overlap,
* EFI_CARVE_OVERLAPS_NONRAM, if the carve and map overlap,
* and the map contains anything but free ram
* (only when overlap_only_ram is true),
* EFI_CARVE_LOOP_AGAIN, if the mapping list should be
* traversed again, as it has been altered.
*
* Unmaps all memory occupied by the carve_desc region from the list entry
* pointed to by map.
*
* In case of EFI_CARVE_OVERLAPS_NONRAM it is the callers responsibility
* to readd the already carved out pages to the mapping.
* to re-add the already carved out pages to the mapping.
*/
static int efi_mem_carve_out(struct efi_mem_list *map,
static s64 efi_mem_carve_out(struct efi_mem_list *map,
struct efi_mem_desc *carve_desc,
bool overlap_only_ram)
{
@ -183,7 +187,7 @@ uint64_t efi_add_memory_map(uint64_t start, uint64_t pages, int memory_type,
carve_again = false;
list_for_each(lhandle, &efi_mem) {
struct efi_mem_list *lmem;
int r;
s64 r;
lmem = list_entry(lhandle, struct efi_mem_list, link);
r = efi_mem_carve_out(lmem, &newlist->desc,