• Andrii Nakryiko's avatar
    bpf: Add bpf_get_attach_cookie() BPF helper to access bpf_cookie value · 7adfc6c9
    Andrii Nakryiko authored
    Add new BPF helper, bpf_get_attach_cookie(), which can be used by BPF programs
    to get access to a user-provided bpf_cookie value, specified during BPF
    program attachment (BPF link creation) time.
    
    Naming is hard, though. With the concept being named "BPF cookie", I've
    considered calling the helper:
      - bpf_get_cookie() -- seems too unspecific and easily mistaken with socket
        cookie;
      - bpf_get_bpf_cookie() -- too much tautology;
      - bpf_get_link_cookie() -- would be ok, but while we create a BPF link to
        attach BPF program to BPF hook, it's still an "attachment" and the
        bpf_cookie is associated with BPF program attachment to a hook, not a BPF
        link itself. Technically, we could support bpf_cookie with old-style
        cgroup programs.So I ultimately rejected it in favor of
        bpf_get_attach_cookie().
    
    Currently all perf_event-backed BPF program types support
    bpf_get_attach_cookie() helper. Follow-up patches will add support for
    fentry/fexit programs as well.
    
    While at it, mark bpf_tracing_func_proto() as static to make it obvious that
    it's only used from within the kernel/trace/bpf_trace.c.
    Signed-off-by: default avatarAndrii Nakryiko <andrii@kernel.org>
    Signed-off-by: default avatarDaniel Borkmann <daniel@iogearbox.net>
    Acked-by: default avatarYonghong Song <yhs@fb.com>
    Link: https://lore.kernel.org/bpf/20210815070609.987780-7-andrii@kernel.org
    7adfc6c9
bpf_trace.c 54.4 KB