linux-trace-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH v4 bpf 0/3] Fix ftrace for livepatch + BPF fexit programs
@ 2025-10-27 17:50 Song Liu
  2025-10-27 17:50 ` [PATCH v4 bpf 1/3] ftrace: Fix BPF fexit with livepatch Song Liu
                   ` (4 more replies)
  0 siblings, 5 replies; 8+ messages in thread
From: Song Liu @ 2025-10-27 17:50 UTC (permalink / raw)
  To: bpf, linux-trace-kernel, live-patching
  Cc: ast, daniel, andrii, rostedt, andrey.grodzovsky, mhiramat,
	kernel-team, olsajiri, Song Liu

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 v3 => v4:
1. Add helper reset_direct. (Steven)
2. Add Reviewed-by from Jiri.
3. Fix minor typo in comments.

v3: https://lore.kernel.org/bpf/20251026205445.1639632-1-song@kernel.org/

Changes v2 => v3:
1. Incorporate feedback by AI, which also fixes build error reported by
   Steven and kernel test robot.

v2: https://lore.kernel.org/bpf/20251024182901.3247573-1-song@kernel.org/

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/20251024071257.3956031-1-song@kernel.org/

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                         |  60 +++++++---
 tools/testing/selftests/bpf/config            |   3 +
 .../bpf/prog_tests/livepatch_trampoline.c     | 107 ++++++++++++++++++
 .../bpf/progs/livepatch_trampoline.c          |  30 +++++
 5 files changed, 185 insertions(+), 20 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

^ permalink raw reply	[flat|nested] 8+ messages in thread

end of thread, other threads:[~2025-11-04  1:40 UTC | newest]

Thread overview: 8+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2025-10-27 17:50 [PATCH v4 bpf 0/3] Fix ftrace for livepatch + BPF fexit programs Song Liu
2025-10-27 17:50 ` [PATCH v4 bpf 1/3] ftrace: Fix BPF fexit with livepatch Song Liu
2025-10-27 17:50 ` [PATCH v4 bpf 2/3] ftrace: bpf: Fix IPMODIFY + DIRECT in modify_ftrace_direct() Song Liu
2025-10-27 17:50 ` [PATCH v4 bpf 3/3] selftests/bpf: Add tests for livepatch + bpf trampoline Song Liu
2025-11-01  0:19 ` [PATCH v4 bpf 0/3] Fix ftrace for livepatch + BPF fexit programs Alexei Starovoitov
2025-11-01 13:11   ` Steven Rostedt
2025-11-02 23:39     ` Steven Rostedt
2025-11-04  1:40 ` patchwork-bot+netdevbpf

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).