Re: [PATCH] modpost: fix acpi MODULE_DEVICE_TABLE built with mismatched endianness

From: Masahiro Yamada
Date: Sun Nov 03 2024 - 10:01:56 EST


On Sun, Nov 3, 2024 at 9:56 PM Masahiro Yamada <masahiroy@xxxxxxxxxx> wrote:
>
> On Sun, Nov 3, 2024 at 9:48 PM Masahiro Yamada <masahiroy@xxxxxxxxxx> wrote:
> >
> > When CONFIG_SATA_AHCI_PLATFORM=m, modpost outputs incorect MODULE_ALIAS()
> > if the endianness of the target and the build machine do not match.
> >
> > When the endianness of the target kernel and the build machine match,
> > the output is correct:
> >
> > $ grep 'MODULE_ALIAS("acpi' drivers/ata/ahci_platform.mod.c
> > MODULE_ALIAS("acpi*:APMC0D33:*");
> > MODULE_ALIAS("acpi*:010601:*");
> >
> > However, when building a little-endian kernel on a big-endian machine
> > (or vice versa), the output is incorrect:
> >
> > $ grep 'MODULE_ALIAS("acpi' drivers/ata/ahci_platform.mod.c
> > MODULE_ALIAS("acpi*:APMC0D33:*");
> > MODULE_ALIAS("acpi*:0601??:*");
> >
> > The 'cls' and 'cls_msk' fields are 32-bit.
> >
> > DEF_FIELD() must be used instead of DEF_FIELD_ALIAS() to correctly handle
>
> This is a typo:
>
> DEF_FIELD_ALIAS() -> DEF_FIELD_ADDR()
>

Applied to linux-kbuild/fixes.



--
Best Regards
Masahiro Yamada