On Tue, Nov 18, 2025 at 4:37 AM Menglong Dong <[email protected]> wrote: > > Implement the "jmp" mode for the bpf trampoline. For the ftrace_managed > case, we need only to set the FTRACE_OPS_FL_JMP on the tr->fops if "jmp" > is needed. > > For the bpf poke case, we will check the origin poke type with the > "origin_flags", and current poke type with "tr->flags". The function > bpf_trampoline_update_fentry() is introduced to do the job. > > The "jmp" mode will only be enabled with CONFIG_DYNAMIC_FTRACE_WITH_JMP > enabled and BPF_TRAMP_F_SHARE_IPMODIFY is not set. With > BPF_TRAMP_F_SHARE_IPMODIFY, we need to get the origin call ip from the > stack, so we can't use the "jmp" mode. > > Signed-off-by: Menglong Dong <[email protected]> > --- > v3: > - wrap the write to tr->fops->flags with CONFIG_DYNAMIC_FTRACE_WITH_JMP > - reset BPF_TRAMP_F_SKIP_FRAME when the second try of modify_fentry in > bpf_trampoline_update()
All looks good to me. Steven, are you happy with patch 1? Can you pls Ack?
