[PATCH v3 0/7] kallsyms: Prevent invalid access when showing module buildid

From: Petr Mladek

Date: Fri Nov 28 2025 - 08:59:36 EST


This patchset is cleaning up kallsyms code related to module buildid.
It is fixing an invalid access when printing backtraces, see [v1] for
more details:

+ 1st..4th patches are preparatory.

+ 5th and 6th patches are fixing bpf and ftrace related APIs.

+ 7th patch prevents a potential race.


Changes against [v2]:

+ Fixed typos in commit message [Alexei]

+ Added Acks [Alexei]


Changes against [v1]:

+ Added existing Reviewed-by tags.

+ Shuffled patches to update the kallsyms_lookup_buildid() initialization
code 1st.

+ Initialized also *modname and *modbuildid in kallsyms_lookup_buildid().

+ Renamed __bpf_address_lookup() to bpf_address_lookup() and used it
in kallsyms_lookup_buildid(). Did this instead of passing @modbuildid
parameter just to clear it.


[v1] https://lore.kernel.org/r/20251105142319.1139183-1-pmladek@xxxxxxxx
[v2] https://lore.kernel.org/r/20251112142003.182062-1-pmladek@xxxxxxxx


Petr Mladek (7):
kallsyms: Clean up @namebuf initialization in
kallsyms_lookup_buildid()
kallsyms: Clean up modname and modbuildid initialization in
kallsyms_lookup_buildid()
module: Add helper function for reading module_buildid()
kallsyms: Cleanup code for appending the module buildid
kallsyms/bpf: Rename __bpf_address_lookup() to bpf_address_lookup()
kallsyms/ftrace: Set module buildid in ftrace_mod_address_lookup()
kallsyms: Prevent module removal when printing module name and buildid

arch/arm64/net/bpf_jit_comp.c | 2 +-
arch/powerpc/net/bpf_jit_comp.c | 2 +-
include/linux/filter.h | 26 ++----------
include/linux/ftrace.h | 6 ++-
include/linux/module.h | 9 ++++
kernel/bpf/core.c | 4 +-
kernel/kallsyms.c | 73 ++++++++++++++++++++++++---------
kernel/module/kallsyms.c | 9 +---
kernel/trace/ftrace.c | 5 ++-
9 files changed, 81 insertions(+), 55 deletions(-)

--
2.52.0