Kui-Feng Lee says:
====================
Allow users to attach a 64-bits cookie to a bpf_link of fentry, fexit,
or fmod_ret.
This patchset includes several major changes.
- Define struct bpf_tramp_links to replace bpf_tramp_prog.
struct bpf_tramp_links collects bpf_links of a trampoline
- Generate a trampoline to call bpf_progs of given bpf_links.
- Trampolines always set/reset bpf_run_ctx before/after
calling/leaving a tracing program.
- Attach a cookie to a bpf_link of fentry/fexit/fmod_ret/lsm. The
value will be available when running the associated bpf_prog.
Th major differences from v6:
- bpf_link_create() can create links of BPF_LSM_MAC attach type.
- Add a test for lsm.
- Add function proto of bpf_get_attach_cookie() for lsm.
- Check BPF_LSM_MAC in bpf_prog_has_trampoline().
- Adapt to the changes of LINK_CREATE made by Andrii.
The major differences from v7:
- Change stack_size instead of pushing/popping run_ctx.
- Move cookie to bpf_tramp_link from bpf_tracing_link..
v1: https://lore.kernel.org/all/
20220126214809.
3868787-1-kuifeng@fb.com/
v2: https://lore.kernel.org/bpf/
20220316004231.
1103318-1-kuifeng@fb.com/
v3: https://lore.kernel.org/bpf/
20220407192552.
2343076-1-kuifeng@fb.com/
v4: https://lore.kernel.org/bpf/
20220411173429.
4139609-1-kuifeng@fb.com/
v5: https://lore.kernel.org/bpf/
20220412165555.
4146407-1-kuifeng@fb.com/
v6: https://lore.kernel.org/bpf/
20220416042940.656344-1-kuifeng@fb.com/
v7: https://lore.kernel.org/bpf/
20220508032117.
2783209-1-kuifeng@fb.com/
====================
Signed-off-by: Andrii Nakryiko <andrii@kernel.org>