bpf: Add bpf_get_func_ip helper for tracing programs
authorJiri Olsa <jolsa@redhat.com>
Wed, 14 Jul 2021 09:43:55 +0000 (11:43 +0200)
committerAlexei Starovoitov <ast@kernel.org>
Fri, 16 Jul 2021 00:58:41 +0000 (17:58 -0700)
commit9b99edcae5c80c8fb9f8e7149bae528c9e610a72
tree252a76f356e1539d453c19ed2065a3e57ed58f8f
parent1e37392cccdea94da635e3c6d16b21865806f619
bpf: Add bpf_get_func_ip helper for tracing programs

Adding bpf_get_func_ip helper for BPF_PROG_TYPE_TRACING programs,
specifically for all trampoline attach types.

The trampoline's caller IP address is stored in (ctx - 8) address.
so there's no reason to actually call the helper, but rather fixup
the call instruction and return [ctx - 8] value directly.

Signed-off-by: Jiri Olsa <jolsa@kernel.org>
Signed-off-by: Alexei Starovoitov <ast@kernel.org>
Link: https://lore.kernel.org/bpf/20210714094400.396467-4-jolsa@kernel.org
include/uapi/linux/bpf.h
kernel/bpf/verifier.c
kernel/trace/bpf_trace.c
tools/include/uapi/linux/bpf.h