On Mon, Nov 11, 2024 at 07:37:32AM -0700, Nathan Chancellor wrote: > From: Dan Carpenter <dan.carpenter@xxxxxxxxxx> > > 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 <lkft@xxxxxxxxxx> > Suggested-by: Ard Biesheuvel <ardb@xxxxxxxxxx> > Signed-off-by: Dan Carpenter <dan.carpenter@xxxxxxxxxx> > Tested-by: Paul E. McKenney <paulmck@xxxxxxxxxx> > Acked-by: Ard Biesheuvel <ardb@xxxxxxxxxx> > Link: https://patch.msgid.link/3777d71b-9e19-45f4-be4e-17bf4fa7a834@stanley.mountain > [ rjw: Subject edit ] > Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> > [nathan: Fix conflicts due to lack of e38abdab441c] > Signed-off-by: Nathan Chancellor <nathan@xxxxxxxxxx> > --- > This resolves the warning that Naresh reported, which breaks the build > with CONFIG_WERROR=y: > > https://lore.kernel.org/CA+G9fYtgOA-5y73G1YEixQ+OjmG=awBQjdKjK+b0qLNYvAAVpQ@xxxxxxxxxxxxxx/ > https://storage.tuxsuite.com/public/clangbuiltlinux/continuous-integration2/builds/2ogNnyGv40aCb0Jqybv8RlPt3S7/build.log Now queued up,t hanks. greg k-h