/* @addr: address of page to be freed @must_be_allocated: return success if the page is allocated Return: status code  */
static efi_status_t efi_check_allocated(u64 addr, bool must_be_allocated)
/* @addr: address of page to be freed @must_be_allocated: return success if the page is allocated Return: status code  */
static efi_status_t efi_check_allocated(u64 addr, bool must_be_allocated)
{
	struct efi_mem_list *item;
	list_for_each_entry(item, &efi_mem, link) {
		u64 start = item->desc.physical_start;
		u64 end = start + (item->desc.num_pages << EFI_PAGE_SHIFT);
		if (addr >= start && addr < end) {
			if (must_be_allocated ^
			    (item->desc.type == EFI_CONVENTIONAL_MEMORY))
				return EFI_SUCCESS;
			else
				return EFI_NOT_FOUND;
		}
	}
	return EFI_NOT_FOUND;
}