On Fri, Jun 30, 2023 at 1:34 AM Jiri Olsa <jolsa@xxxxxxxxxx> wrote: > > Adding support for bpf_get_func_ip helper being called from > ebpf program attached by uprobe_multi link. > > It returns the ip of the uprobe. > > Acked-by: Andrii Nakryiko <andrii@xxxxxxxxxx> > Signed-off-by: Jiri Olsa <jolsa@xxxxxxxxxx> > --- > kernel/trace/bpf_trace.c | 33 ++++++++++++++++++++++++++++++--- > 1 file changed, 30 insertions(+), 3 deletions(-) > A slight aside related to bpf_get_func_ip() support in uprobe/uretprobe. We just had a conversation with Alastair and Jordan (cc'ed) about bpftrace and using bpf_get_func_ip() there with uretprobes, and it seems like it doesn't work. Is that intentional or we just missed that bpf_get_func_ip() doesn't work with uprobes/uretprobes? Do you think it would be hard to add support for them for bpf_get_func_ip()? It's a very useful helper, would be nice to have it working in all cases where it has meaningful behavior (and I think it does for uprobe and uretprobe). Thanks! > diff --git a/kernel/trace/bpf_trace.c b/kernel/trace/bpf_trace.c > index 4ef51fd0497f..f5a41c1604b8 100644 > --- a/kernel/trace/bpf_trace.c > +++ b/kernel/trace/bpf_trace.c > @@ -88,6 +88,7 @@ static u64 bpf_kprobe_multi_cookie(struct bpf_run_ctx *ctx); > static u64 bpf_kprobe_multi_entry_ip(struct bpf_run_ctx *ctx); > [...]