[RFC PATCH bpf-next 2/7] bpf: Enable BPF_LINK_UPDATE for freplace links
Jordan Rife
jordan at jrife.io
Mon Nov 17 16:52:54 PST 2025
Implement program update logic for freplace links.
Signed-off-by: Jordan Rife <jordan at jrife.io>
---
kernel/bpf/trampoline.c | 15 +++++++++++++++
1 file changed, 15 insertions(+)
diff --git a/kernel/bpf/trampoline.c b/kernel/bpf/trampoline.c
index 010bcba0db65..0b6a5433dd42 100644
--- a/kernel/bpf/trampoline.c
+++ b/kernel/bpf/trampoline.c
@@ -614,6 +614,21 @@ static int __bpf_trampoline_update_prog(struct bpf_tramp_link *link,
struct bpf_prog *new_prog,
struct bpf_trampoline *tr)
{
+ enum bpf_tramp_prog_type kind;
+ int err = 0;
+
+ kind = bpf_attach_type_to_tramp(link->link.prog);
+ if (kind == BPF_TRAMP_REPLACE) {
+ WARN_ON_ONCE(!tr->extension_prog);
+ err = bpf_arch_text_poke(tr->func.addr, BPF_MOD_JUMP,
+ tr->extension_prog->bpf_func,
+ new_prog->bpf_func);
+ if (err)
+ return err;
+ tr->extension_prog = new_prog;
+ return 0;
+ }
+
return -ENOTSUPP;
}
--
2.43.0
More information about the linux-arm-kernel
mailing list