Commit cfa7172f authored by Sudeep Holla's avatar Sudeep Holla Committed by Aubrey Li
Browse files

ACPI: PRM: Change handler_addr type to void pointer

mainline inclusion
from mainline-v6.0
commit 353efd5e
category: feature
bugzilla: https://gitee.com/openeuler/intel-kernel/issues/I6HNB8


CVE: N/A

Intel-SIG: commit 353efd5e ACPI: PRM: Change handler_addr type to
void pointer.
ACPI Platform Runtime Mechanism feature backport.

--------------------------------

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: default avatarSudeep Holla <sudeep.holla@arm.com>
Acked-by: default avatarRafael J. Wysocki <rafael.j.wysocki@intel.com>
Signed-off-by: default avatarArd Biesheuvel <ardb@kernel.org>
Signed-off-by: default avatarAubrey Li <aubrey.li@linux.intel.com>
parent b37aa6e6
Loading
Loading
Loading
Loading
+2 −2
Original line number Diff line number Diff line
@@ -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;

@@ -148,7 +148,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)));