On Sun, Oct 26, 2025 at 01:54:42PM -0700, Song Liu wrote: > livepatch and BPF trampoline are two special users of ftrace. livepatch > uses ftrace with IPMODIFY flag and BPF trampoline uses ftrace direct > functions. When livepatch and BPF trampoline with fexit programs attach to > the same kernel function, BPF trampoline needs to call into the patched > version of the kernel function. > > 1/3 and 2/3 of this patchset fix two issues with livepatch + fexit cases, > one in the register_ftrace_direct path, the other in the > modify_ftrace_direct path. > > 3/3 adds selftests for both cases. > > --- > > Changes v2 => v3: > 1. Incorporate feedback by AI, which also fixes build error reported by > Steven and kernel test robot.
Reviewed-by: Jiri Olsa <[email protected]> thanks, jirka > > v2: https://lore.kernel.org/bpf/[email protected]/ > > Changes v1 => v2: > 1. Target bpf tree. (Alexei) > 2. Bring back the FTRACE_WARN_ON in __ftrace_hash_update_ipmodify > for valid code paths. (Steven) > 3. Update selftests with cleaner way to find livepatch-sample.ko. > (offlline discussion with Ihor) > > v1: https://lore.kernel.org/bpf/[email protected]/ > > Song Liu (3): > ftrace: Fix BPF fexit with livepatch > ftrace: bpf: Fix IPMODIFY + DIRECT in modify_ftrace_direct() > selftests/bpf: Add tests for livepatch + bpf trampoline > > kernel/bpf/trampoline.c | 5 - > kernel/trace/ftrace.c | 46 ++++++-- > tools/testing/selftests/bpf/config | 3 + > .../bpf/prog_tests/livepatch_trampoline.c | 107 ++++++++++++++++++ > .../bpf/progs/livepatch_trampoline.c | 30 +++++ > 5 files changed, 177 insertions(+), 14 deletions(-) > create mode 100644 > tools/testing/selftests/bpf/prog_tests/livepatch_trampoline.c > create mode 100644 tools/testing/selftests/bpf/progs/livepatch_trampoline.c > > -- > 2.47.3
