2021-09-27 14:21:33

by Arnd Bergmann

[permalink] [raw]
Subject: [PATCH] acpi: arm64: fix section mismatch warning

From: Arnd Bergmann <[email protected]>

In a gcc-11 randconfig build I came across this warning:

WARNING: modpost: vmlinux.o(.text.unlikely+0x2c084): Section mismatch in reference from the function next_platform_timer() to the variable .init.data:acpi_gtdt_desc
The function next_platform_timer() references
the variable __initdata acpi_gtdt_desc.
This is often because next_platform_timer lacks a __initdata
annotation or the annotation of acpi_gtdt_desc is wrong.

This happens when next_platform_timer() fails to get inlined
despite the inline annotation. Adding '__init' solves the issue,
and it seems best to remove the 'inline' in the process seems
better anyway.

Signed-off-by: Arnd Bergmann <[email protected]>
---
drivers/acpi/arm64/gtdt.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/drivers/acpi/arm64/gtdt.c b/drivers/acpi/arm64/gtdt.c
index 0a0a982f9c28..c3ad42470a7c 100644
--- a/drivers/acpi/arm64/gtdt.c
+++ b/drivers/acpi/arm64/gtdt.c
@@ -36,7 +36,7 @@ struct acpi_gtdt_descriptor {

static struct acpi_gtdt_descriptor acpi_gtdt_desc __initdata;

-static inline void *next_platform_timer(void *platform_timer)
+static __init void *next_platform_timer(void *platform_timer)
{
struct acpi_gtdt_header *gh = platform_timer;

--
2.29.2


2021-10-12 07:07:53

by Hanjun Guo

[permalink] [raw]
Subject: Re: [PATCH] acpi: arm64: fix section mismatch warning

Hi Arnd,

On 2021/9/27 22:19, Arnd Bergmann wrote:
> From: Arnd Bergmann <[email protected]>
>
> In a gcc-11 randconfig build I came across this warning:
>
> WARNING: modpost: vmlinux.o(.text.unlikely+0x2c084): Section mismatch in reference from the function next_platform_timer() to the variable .init.data:acpi_gtdt_desc
> The function next_platform_timer() references
> the variable __initdata acpi_gtdt_desc.
> This is often because next_platform_timer lacks a __initdata
> annotation or the annotation of acpi_gtdt_desc is wrong.
>
> This happens when next_platform_timer() fails to get inlined
> despite the inline annotation. Adding '__init' solves the issue,
> and it seems best to remove the 'inline' in the process seems
> better anyway.

There was a patch to fix this issue as well [1],
but not merged yet.

[1]:
https://lore.kernel.org/linux-acpi/[email protected]/T/

Thanks
Hanjun

2021-10-12 07:22:15

by Arnd Bergmann

[permalink] [raw]
Subject: Re: [PATCH] acpi: arm64: fix section mismatch warning

On Tue, Oct 12, 2021 at 9:03 AM Hanjun Guo <[email protected]> wrote:
> On 2021/9/27 22:19, Arnd Bergmann wrote:
> > From: Arnd Bergmann <[email protected]>
> >
> > In a gcc-11 randconfig build I came across this warning:
> >
> > WARNING: modpost: vmlinux.o(.text.unlikely+0x2c084): Section mismatch in reference from the function next_platform_timer() to the variable .init.data:acpi_gtdt_desc
> > The function next_platform_timer() references
> > the variable __initdata acpi_gtdt_desc.
> > This is often because next_platform_timer lacks a __initdata
> > annotation or the annotation of acpi_gtdt_desc is wrong.
> >
> > This happens when next_platform_timer() fails to get inlined
> > despite the inline annotation. Adding '__init' solves the issue,
> > and it seems best to remove the 'inline' in the process seems
> > better anyway.
>
> There was a patch to fix this issue as well [1],
> but not merged yet.
>
> [1]:
> https://lore.kernel.org/linux-acpi/[email protected]/T/

Right, either of those patches should be fine.

Rafael, can you pick one of them up?

Arnd

2021-10-12 14:19:41

by Rafael J. Wysocki

[permalink] [raw]
Subject: Re: [PATCH] acpi: arm64: fix section mismatch warning

On Tue, Oct 12, 2021 at 9:20 AM Arnd Bergmann <[email protected]> wrote:
>
> On Tue, Oct 12, 2021 at 9:03 AM Hanjun Guo <[email protected]> wrote:
> > On 2021/9/27 22:19, Arnd Bergmann wrote:
> > > From: Arnd Bergmann <[email protected]>
> > >
> > > In a gcc-11 randconfig build I came across this warning:
> > >
> > > WARNING: modpost: vmlinux.o(.text.unlikely+0x2c084): Section mismatch in reference from the function next_platform_timer() to the variable .init.data:acpi_gtdt_desc
> > > The function next_platform_timer() references
> > > the variable __initdata acpi_gtdt_desc.
> > > This is often because next_platform_timer lacks a __initdata
> > > annotation or the annotation of acpi_gtdt_desc is wrong.
> > >
> > > This happens when next_platform_timer() fails to get inlined
> > > despite the inline annotation. Adding '__init' solves the issue,
> > > and it seems best to remove the 'inline' in the process seems
> > > better anyway.
> >
> > There was a patch to fix this issue as well [1],
> > but not merged yet.
> >
> > [1]:
> > https://lore.kernel.org/linux-acpi/[email protected]/T/
>
> Right, either of those patches should be fine.
>
> Rafael, can you pick one of them up?

I can, but arm54 ACPI changes go in via arm64 as a rule.

2021-10-12 16:33:19

by Catalin Marinas

[permalink] [raw]
Subject: Re: [PATCH] acpi: arm64: fix section mismatch warning

On Tue, Oct 12, 2021 at 03:03:29PM +0800, Hanjun Guo wrote:
> Hi Arnd,
>
> On 2021/9/27 22:19, Arnd Bergmann wrote:
> > From: Arnd Bergmann <[email protected]>
> >
> > In a gcc-11 randconfig build I came across this warning:
> >
> > WARNING: modpost: vmlinux.o(.text.unlikely+0x2c084): Section mismatch in reference from the function next_platform_timer() to the variable .init.data:acpi_gtdt_desc
> > The function next_platform_timer() references
> > the variable __initdata acpi_gtdt_desc.
> > This is often because next_platform_timer lacks a __initdata
> > annotation or the annotation of acpi_gtdt_desc is wrong.
> >
> > This happens when next_platform_timer() fails to get inlined
> > despite the inline annotation. Adding '__init' solves the issue,
> > and it seems best to remove the 'inline' in the process seems
> > better anyway.
>
> There was a patch to fix this issue as well [1],
> but not merged yet.
>
> [1]: https://lore.kernel.org/linux-acpi/[email protected]/T/

I haven't seen this one, it was on linux-acpi list which I don't follow.
I usually rely you, Lorenzo or Sudeep to ack such patches and cc
Will/me.

--
Catalin

2021-10-12 16:48:22

by Catalin Marinas

[permalink] [raw]
Subject: Re: [PATCH] acpi: arm64: fix section mismatch warning

On Tue, Oct 12, 2021 at 04:16:09PM +0200, Rafael J. Wysocki wrote:
> On Tue, Oct 12, 2021 at 9:20 AM Arnd Bergmann <[email protected]> wrote:
> >
> > On Tue, Oct 12, 2021 at 9:03 AM Hanjun Guo <[email protected]> wrote:
> > > On 2021/9/27 22:19, Arnd Bergmann wrote:
> > > > From: Arnd Bergmann <[email protected]>
> > > >
> > > > In a gcc-11 randconfig build I came across this warning:
> > > >
> > > > WARNING: modpost: vmlinux.o(.text.unlikely+0x2c084): Section mismatch in reference from the function next_platform_timer() to the variable .init.data:acpi_gtdt_desc
> > > > The function next_platform_timer() references
> > > > the variable __initdata acpi_gtdt_desc.
> > > > This is often because next_platform_timer lacks a __initdata
> > > > annotation or the annotation of acpi_gtdt_desc is wrong.
> > > >
> > > > This happens when next_platform_timer() fails to get inlined
> > > > despite the inline annotation. Adding '__init' solves the issue,
> > > > and it seems best to remove the 'inline' in the process seems
> > > > better anyway.
> > >
> > > There was a patch to fix this issue as well [1],
> > > but not merged yet.
> > >
> > > [1]:
> > > https://lore.kernel.org/linux-acpi/[email protected]/T/
> >
> > Right, either of those patches should be fine.
> >
> > Rafael, can you pick one of them up?
>
> I can, but arm54 ACPI changes go in via arm64 as a rule.

Queued as https://git.kernel.org/arm64/c/596143e3aec3

--
Catalin

2021-10-13 09:05:12

by Lorenzo Pieralisi

[permalink] [raw]
Subject: Re: [PATCH] acpi: arm64: fix section mismatch warning

On Tue, Oct 12, 2021 at 03:03:29PM +0800, Hanjun Guo wrote:
> Hi Arnd,
>
> On 2021/9/27 22:19, Arnd Bergmann wrote:
> > From: Arnd Bergmann <[email protected]>
> >
> > In a gcc-11 randconfig build I came across this warning:
> >
> > WARNING: modpost: vmlinux.o(.text.unlikely+0x2c084): Section mismatch in reference from the function next_platform_timer() to the variable .init.data:acpi_gtdt_desc
> > The function next_platform_timer() references
> > the variable __initdata acpi_gtdt_desc.
> > This is often because next_platform_timer lacks a __initdata
> > annotation or the annotation of acpi_gtdt_desc is wrong.
> >
> > This happens when next_platform_timer() fails to get inlined
> > despite the inline annotation. Adding '__init' solves the issue,
> > and it seems best to remove the 'inline' in the process seems
> > better anyway.
>
> There was a patch to fix this issue as well [1],
> but not merged yet.
>
> [1]: https://lore.kernel.org/linux-acpi/[email protected]/T/

My bad, we did not coordinate well - I noticed your Acked-by but as a
rule we should also CC LAKML and Catalin/Will (if they aren't CCed) on
the reply to make sure they can actually see it.

Lorenzo

2021-10-15 16:45:41

by Hanjun Guo

[permalink] [raw]
Subject: Re: [PATCH] acpi: arm64: fix section mismatch warning

On 2021/10/13 17:02, Lorenzo Pieralisi wrote:
> On Tue, Oct 12, 2021 at 03:03:29PM +0800, Hanjun Guo wrote:
>> Hi Arnd,
>>
>> On 2021/9/27 22:19, Arnd Bergmann wrote:
>>> From: Arnd Bergmann <[email protected]>
>>>
>>> In a gcc-11 randconfig build I came across this warning:
>>>
>>> WARNING: modpost: vmlinux.o(.text.unlikely+0x2c084): Section mismatch in reference from the function next_platform_timer() to the variable .init.data:acpi_gtdt_desc
>>> The function next_platform_timer() references
>>> the variable __initdata acpi_gtdt_desc.
>>> This is often because next_platform_timer lacks a __initdata
>>> annotation or the annotation of acpi_gtdt_desc is wrong.
>>>
>>> This happens when next_platform_timer() fails to get inlined
>>> despite the inline annotation. Adding '__init' solves the issue,
>>> and it seems best to remove the 'inline' in the process seems
>>> better anyway.
>>
>> There was a patch to fix this issue as well [1],
>> but not merged yet.
>>
>> [1]: https://lore.kernel.org/linux-acpi/[email protected]/T/
>
> My bad, we did not coordinate well - I noticed your Acked-by but as a
> rule we should also CC LAKML and Catalin/Will (if they aren't CCed) on
> the reply to make sure they can actually see it.

It's my bad. I will make sure LAKML and Catalin/Will are CCed next time
when I reply the email.

Thanks
Hanjun