linux/tools/include/uapi
Jiri Olsa f92c1e1836 bpf: Add get_func_[arg|ret|arg_cnt] helpers
Adding following helpers for tracing programs:

Get n-th argument of the traced function:
  long bpf_get_func_arg(void *ctx, u32 n, u64 *value)

Get return value of the traced function:
  long bpf_get_func_ret(void *ctx, u64 *value)

Get arguments count of the traced function:
  long bpf_get_func_arg_cnt(void *ctx)

The trampoline now stores number of arguments on ctx-8
address, so it's easy to verify argument index and find
return value argument's position.

Moving function ip address on the trampoline stack behind
the number of functions arguments, so it's now stored on
ctx-16 address if it's needed.

All helpers above are inlined by verifier.

Also bit unrelated small change - using newly added function
bpf_prog_has_trampoline in check_get_func_ip.

Signed-off-by: Jiri Olsa <jolsa@kernel.org>
Signed-off-by: Alexei Starovoitov <ast@kernel.org>
Link: https://lore.kernel.org/bpf/20211208193245.172141-5-jolsa@kernel.org
2021-12-13 09:25:59 -08:00
..
asm ia64: tools: remove inclusion of ia64-specific version of errno.h header 2021-04-16 16:10:37 -07:00
asm-generic tools headers UAPI: Sync files changed by new futex_waitv syscall 2021-11-13 18:11:51 -03:00
drm tools headers UAPI: Sync drm/i915_drm.h with the kernel sources 2021-11-13 18:11:51 -03:00
linux bpf: Add get_func_[arg|ret|arg_cnt] helpers 2021-12-13 09:25:59 -08:00
sound tools headers UAPI: Sync sound/asound.h with the kernel sources 2021-11-13 18:11:51 -03:00