On Tue, Feb 18, 2025 at 02:59:22PM -0500, Steven Rostedt wrote: > From: Steven Rostedt <rostedt@xxxxxxxxxxx> > > When a function is annotated as "weak" and is overridden, the code is not > removed. If it is traced, the fentry/mcount location in the weak function > will be referenced by the "__mcount_loc" section. This will then be added > to the available_filter_functions list. Since only the address of the > functions are listed, to find the name to show, a search of kallsyms is > used. This breaks builds with ftrace on architectures without KASLR, one affected configuration is bcm2835_defconfig: /home/broonie/git/bisect/kernel/trace/ftrace.c: In function 'ftrace_process_locs': /home/broonie/git/bisect/kernel/trace/ftrace.c:7057:24: error: implicit declaration of function 'kaslr_offset' [-Werror=implicit-function-declaration] 7057 | kaslr = !mod ? kaslr_offset() : 0; | ^~~~~~~~~~~~ since that happens to enable CONFIG_FUNCTION_TRACER but doesn't have KASLR, we don't have stubs for KASLR on architectures that don't have it. It also looks like from a quick glance at least RISC-V will fail to link since it only provides kaslr_offset() with RANDOMIZE_BASE enabled. This all feels a bit footgunish.
Attachment:
signature.asc
Description: PGP signature