Re: [PATCH v9 01/15] modpost: fix removing numeric suffixes

From: Borislav Petkov
Date: Thu Dec 23 2021 - 11:19:15 EST


On Thu, Dec 23, 2021 at 01:21:55AM +0100, Alexander Lobakin wrote:
> For now, that condition from remove_dot():
>
> if (m && (s[n + m] == '.' || s[n + m] == 0))
>
> which was designed to test if it's a dot or a \0 after the suffix
> is never satisfied.
> This is due to that s[n + m] always points to the last digit of a
> numeric suffix, not on the symbol next to it:
>
> param_set_uint.0, s[n + m] is '0', s[n + m + 1] is '\0'
>
> So it's off by one and was like that since 2014.

What's the relevance of this? Looking at

7d02b490e93c ("Kbuild, lto: Drop .number postfixes in modpost")

what you're fixing here is something LTO-related. How do you trigger
this?

For a Cc:stable patch, I'm missing a lot of context.

> `-z uniq-symbol` linker flag which we are planning to use to
^^

Who's "we"?

> simplify livepatching brings numeric suffixes back, fix this.
> Otherwise:
>
> ERROR: modpost: "param_set_uint.0" [vmlinux] is a static EXPORT_SYMBOL
>
> Fixes: fcd38ed0ff26 ("scripts: modpost: fix compilation warning")
> Cc: stable@xxxxxxxxxxxxxxx # 3.17+
> Signed-off-by: Alexander Lobakin <alexandr.lobakin@xxxxxxxxx>

...

--
Regards/Gruss,
Boris.

https://people.kernel.org/tglx/notes-about-netiquette