]> git.ipfire.org Git - thirdparty/kernel/stable.git/commitdiff
ACPI: PRM: Change handler_addr type to void pointer
authorSudeep Holla <sudeep.holla@arm.com>
Tue, 28 Jun 2022 12:53:43 +0000 (13:53 +0100)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Fri, 8 Nov 2024 15:25:51 +0000 (16:25 +0100)
[ Upstream commit 353efd5e97a7973d78f2634274b57309d0966e29 ]

handler_addr is a virtual address passed to efi_call_virt_pointer.
While x86 currently type cast it into the pointer in it's arch specific
arch_efi_call_virt() implementation, ARM64 is restrictive for right
reasons.

Convert the handler_addr type from u64 to void pointer.

Signed-off-by: Sudeep Holla <sudeep.holla@arm.com>
Acked-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
Signed-off-by: Ard Biesheuvel <ardb@kernel.org>
Stable-dep-of: 088984c8d54c ("ACPI: PRM: Find EFI_MEMORY_RUNTIME block for PRM handler and context")
Signed-off-by: Sasha Levin <sashal@kernel.org>
drivers/acpi/prmt.c

index 8d876bdb08f68ce4932522b372f17c41db7210ad..6da424f1f133f233a83e3eef121815a79e5ef058 100644 (file)
@@ -53,7 +53,7 @@ static LIST_HEAD(prm_module_list);
 
 struct prm_handler_info {
        guid_t guid;
-       u64 handler_addr;
+       void *handler_addr;
        u64 static_data_buffer_addr;
        u64 acpi_param_buffer_addr;
 
@@ -136,7 +136,7 @@ acpi_parse_prmt(union acpi_subtable_headers *header, const unsigned long end)
                th = &tm->handlers[cur_handler];
 
                guid_copy(&th->guid, (guid_t *)handler_info->handler_guid);
-               th->handler_addr = efi_pa_va_lookup(handler_info->handler_address);
+               th->handler_addr = (void *)efi_pa_va_lookup(handler_info->handler_address);
                th->static_data_buffer_addr = efi_pa_va_lookup(handler_info->static_data_buffer_address);
                th->acpi_param_buffer_addr = efi_pa_va_lookup(handler_info->acpi_param_buffer_address);
        } while (++cur_handler < tm->handler_count && (handler_info = get_next_handler(handler_info)));