From 1c2faf81edf68f8b2a3f6357cdcc9807093e43e4 Mon Sep 17 00:00:00 2001 From: Greg Kroah-Hartman Date: Mon, 28 Oct 2024 07:08:12 +0100 Subject: [PATCH] 6.6-stable patches added patches: acpi-prm-clean-up-guid-type-in-struct-prm_handler_info.patch --- ...guid-type-in-struct-prm_handler_info.patch | 55 +++++++++++++++++++ queue-6.6/series | 1 + 2 files changed, 56 insertions(+) create mode 100644 queue-6.6/acpi-prm-clean-up-guid-type-in-struct-prm_handler_info.patch diff --git a/queue-6.6/acpi-prm-clean-up-guid-type-in-struct-prm_handler_info.patch b/queue-6.6/acpi-prm-clean-up-guid-type-in-struct-prm_handler_info.patch new file mode 100644 index 00000000000..a69925d14c0 --- /dev/null +++ b/queue-6.6/acpi-prm-clean-up-guid-type-in-struct-prm_handler_info.patch @@ -0,0 +1,55 @@ +From 3d1c651272cf1df8aac7d9b6d92d836d27bed50f Mon Sep 17 00:00:00 2001 +From: Dan Carpenter +Date: Thu, 24 Oct 2024 11:07:15 +0300 +Subject: ACPI: PRM: Clean up guid type in struct prm_handler_info + +From: Dan Carpenter + +commit 3d1c651272cf1df8aac7d9b6d92d836d27bed50f upstream. + +Clang 19 prints a warning when we pass &th->guid to efi_pa_va_lookup(): + +drivers/acpi/prmt.c:156:29: error: passing 1-byte aligned argument to +4-byte aligned parameter 1 of 'efi_pa_va_lookup' may result in an +unaligned pointer access [-Werror,-Walign-mismatch] + 156 | (void *)efi_pa_va_lookup(&th->guid, handler_info->handler_address); + | ^ + +The problem is that efi_pa_va_lookup() takes a efi_guid_t and &th->guid +is a regular guid_t. The difference between the two types is the +alignment. efi_guid_t is a typedef. + + typedef guid_t efi_guid_t __aligned(__alignof__(u32)); + +It's possible that this a bug in Clang 19. Even though the alignment of +&th->guid is not explicitly specified, it will still end up being aligned +at 4 or 8 bytes. + +Anyway, as Ard points out, it's cleaner to change guid to efi_guid_t type +and that also makes the warning go away. + +Fixes: 088984c8d54c ("ACPI: PRM: Find EFI_MEMORY_RUNTIME block for PRM handler and context") +Reported-by: Linux Kernel Functional Testing +Suggested-by: Ard Biesheuvel +Signed-off-by: Dan Carpenter +Tested-by: Paul E. McKenney +Acked-by: Ard Biesheuvel +Link: https://patch.msgid.link/3777d71b-9e19-45f4-be4e-17bf4fa7a834@stanley.mountain +[ rjw: Subject edit ] +Signed-off-by: Rafael J. Wysocki +Signed-off-by: Greg Kroah-Hartman +--- + drivers/acpi/prmt.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +--- a/drivers/acpi/prmt.c ++++ b/drivers/acpi/prmt.c +@@ -52,7 +52,7 @@ struct prm_context_buffer { + static LIST_HEAD(prm_module_list); + + struct prm_handler_info { +- guid_t guid; ++ efi_guid_t guid; + efi_status_t (__efiapi *handler_addr)(u64, void *); + u64 static_data_buffer_addr; + u64 acpi_param_buffer_addr; diff --git a/queue-6.6/series b/queue-6.6/series index 6c79e59afb5..cec54b8b353 100644 --- a/queue-6.6/series +++ b/queue-6.6/series @@ -200,3 +200,4 @@ block-fix-sanity-checks-in-blk_rq_map_user_bvec.patch ata-libata-set-did_time_out-for-commands-that-actually-timed-out.patch asoc-qcom-fix-null-dereference-in-asoc_qcom_lpass_cpu_platform_probe.patch platform-x86-dell-wmi-ignore-suspend-notifications.patch +acpi-prm-clean-up-guid-type-in-struct-prm_handler_info.patch -- 2.47.2