Re: [PATCH 5.16 00/28] 5.16.2-rc1 review

From: Anders Roxell
Date: Wed Jan 19 2022 - 12:14:17 EST


On Wed, 19 Jan 2022 at 09:00, Linus Torvalds
<torvalds@xxxxxxxxxxxxxxxxxxxx> wrote:
>
> On Wed, Jan 19, 2022 at 9:30 AM Naresh Kamboju
> <naresh.kamboju@xxxxxxxxxx> wrote:
> >
> > Inconsistent kallsyms data
>
> This tends to be a "odd build environment" problem, and very very
> random. Triggered by very particular compiler versions and just some
> odd code modement details.
>
> I'd suggest doing a completely clean build and disabling ccache, and
> seeing if that makes it go away.

Clean build without ccache didn't help.

It seams that it fails randomly based on the size of the rodata section.
This could probably happen with another toolchain too, trying enough
configurations.

Diff of tmp_vmlinux.kallsyms2.symbols and
tmp_vmlinux.kallsyms3.symbols [1] show why it fails to converge, while
said that the __stop_notes address is on the page boundary, so
__end_rodata has the same value as __stop_notes.
All 3 tmp_vmlinux.kallsyms(1|2|3).symbols files can be found [2].

Inserting padding before __end_rodata [3], or blacklisting __stop_notes [4]
in kallsyms.c works around the problem, but neither of those seems like a
good fix.

The linker version I'm using are 'GNU ld (GNU Binutils for Debian) 2.35.2'.

Cheers,
Anders
[1] http://ix.io/3ML7
[2] https://people.linaro.org/~anders.roxell/kallsyms/
[3] http://ix.io/3MN2
[4] http://ix.io/3MN4