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