Re: [PATCH v3 2/2] kallsyms: Match symbols exactly with CONFIG_LTO_CLANG

From: Song Liu
Date: Tue Aug 13 2024 - 17:21:06 EST




> On Aug 7, 2024, at 3:05 PM, Song Liu <song@xxxxxxxxxx> wrote:
>
> With CONFIG_LTO_CLANG=y, the compiler may add .llvm.<hash> suffix to
> function names to avoid duplication. APIs like kallsyms_lookup_name()
> and kallsyms_on_each_match_symbol() tries to match these symbol names
> without the .llvm.<hash> suffix, e.g., match "c_stop" with symbol
> c_stop.llvm.17132674095431275852. This turned out to be problematic
> for use cases that require exact match, for example, livepatch.
>
> Fix this by making the APIs to match symbols exactly.
>
> Also cleanup kallsyms_selftests accordingly.
>
> Signed-off-by: Song Liu <song@xxxxxxxxxx>

Fixes: 8cc32a9bbf29 ("kallsyms: strip LTO-only suffixes from promoted global functions")