Re: [PATCH v3 0/2] Fix kallsyms with CONFIG_LTO_CLANG

From: Miroslav Benes
Date: Fri Aug 30 2024 - 09:58:11 EST


Hi,

On Wed, 7 Aug 2024, Song Liu wrote:

> With CONFIG_LTO_CLANG, the compiler/linker adds .llvm.<hash> suffix to
> local symbols to avoid duplications. Existing scripts/kallsyms sorts
> symbols without .llvm.<hash> suffix. However, this causes quite some
> issues later on. Some users of kallsyms, such as livepatch, have to match
> symbols exactly.
>
> Address this by sorting full symbols at build time, and let kallsyms
> lookup APIs to match the symbols exactly.
>
> Changes v2 => v3:
> 1. Remove the _without_suffix APIs, as kprobe will not use them.
> (Masami Hiramatsu)
>
> v2: https://lore.kernel.org/live-patching/20240802210836.2210140-1-song@xxxxxxxxxx/T/#u
>
> Changes v1 => v2:
> 1. Update the APIs to remove all .XXX suffixes (v1 only removes .llvm.*).
> 2. Rename the APIs as *_without_suffix. (Masami Hiramatsu)
> 3. Fix another user from kprobe. (Masami Hiramatsu)
> 4. Add tests for the new APIs in kallsyms_selftests.
>
> v1: https://lore.kernel.org/live-patching/20240730005433.3559731-1-song@xxxxxxxxxx/T/#u
>
> Song Liu (2):
> kallsyms: Do not cleanup .llvm.<hash> suffix before sorting symbols
> kallsyms: Match symbols exactly with CONFIG_LTO_CLANG
>
> kernel/kallsyms.c | 55 +++++---------------------------------
> kernel/kallsyms_selftest.c | 22 +--------------
> scripts/kallsyms.c | 31 ++-------------------
> scripts/link-vmlinux.sh | 4 ---
> 4 files changed, 9 insertions(+), 103 deletions(-)

I was on holiday most of August and the patch set has been merged but let
me at least add

Acked-by: Miroslav Benes <mbenes@xxxxxxx>

here since I participated in the discussion at the beginning.

Thank you for cleaning it up!

Miroslav