From: Alexei Starovoitov Date: Tue, 7 Apr 2026 23:27:29 +0000 (-0700) Subject: Merge branch 'tracing-fix-kprobe-attachment-when-module-shadows-vmlinux-symbol' X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=656e835bb0f850bdb7a42bfb64a2495f4f4d2064;p=thirdparty%2Flinux.git Merge branch 'tracing-fix-kprobe-attachment-when-module-shadows-vmlinux-symbol' Andrey Grodzovsky says: ==================== tracing: Fix kprobe attachment when module shadows vmlinux symbol When a kernel module exports a symbol with the same name as an existing vmlinux symbol, kprobe attachment fails with -EADDRNOTAVAIL because number_of_same_symbols() counts matches across both vmlinux and all loaded modules, returning a count greater than 1. This series takes a different approach from v1-v4, which implemented a libbpf-side fallback parsing /proc/kallsyms and retrying with the absolute address. That approach was rejected (Andrii Nakryiko, Ihor Solodrai) because ambiguous symbol resolution does not belong in libbpf. Following Ihor's suggestion, this series fixes the root cause in the kernel: when an unqualified symbol name is given and the symbol is found in vmlinux, prefer the vmlinux symbol and do not scan loaded modules. This makes the skeleton auto-attach path work transparently with no libbpf changes needed. Patch 1: Kernel fix - return vmlinux-only count from number_of_same_symbols() when the symbol is found in vmlinux, preventing module shadows from causing -EADDRNOTAVAIL. Patch 2: Selftests using bpf_fentry_shadow_test which exists in both vmlinux and bpf_testmod - tests unqualified (vmlinux) and MOD:SYM (module) attachment across all four attach modes, plus kprobe_multi with the duplicate symbol. Changes since v6 [1]: - Fix comment style: use /* on its own line instead of networking-style /* text on opener line (Alexei Starovoitov). [1] https://lore.kernel.org/bpf/20260407165145.1651061-1-andrey.grodzovsky@crowdstrike.com/ ==================== Link: https://patch.msgid.link/20260407203912.1787502-1-andrey.grodzovsky@crowdstrike.com Signed-off-by: Alexei Starovoitov --- 656e835bb0f850bdb7a42bfb64a2495f4f4d2064