From: Andrii Nakryiko <andrii.nakryiko@gmail.com>
To: Alexei Starovoitov <ast@kernel.org>
Cc: "David S. Miller" <davem@davemloft.net>,
Daniel Borkmann <daniel@iogearbox.net>,
x86@kernel.org, Networking <netdev@vger.kernel.org>,
bpf <bpf@vger.kernel.org>, Kernel Team <kernel-team@fb.com>
Subject: Re: [PATCH v3 bpf-next 05/11] libbpf: auto-detect btf_id of BTF-based raw_tracepoints
Date: Wed, 16 Oct 2019 12:49:43 -0700 [thread overview]
Message-ID: <CAEf4BzZe8qQ-04uTHWBiYGVqCbRrJzt1C0Uw_AZARtqOTOEPUg@mail.gmail.com> (raw)
In-Reply-To: <20191016032505.2089704-6-ast@kernel.org>
On Wed, Oct 16, 2019 at 4:14 AM Alexei Starovoitov <ast@kernel.org> wrote:
>
> It's a responsiblity of bpf program author to annotate the program
> with SEC("tp_btf/name") where "name" is a valid raw tracepoint.
> The libbpf will try to find "name" in vmlinux BTF and error out
> in case vmlinux BTF is not available or "name" is not found.
> If "name" is indeed a valid raw tracepoint then in-kernel BTF
> will have "btf_trace_##name" typedef that points to function
> prototype of that raw tracepoint. BTF description captures
> exact argument the kernel C code is passing into raw tracepoint.
> The kernel verifier will check the types while loading bpf program.
>
> libbpf keeps BTF type id in expected_attach_type, but since
> kernel ignores this attribute for tracing programs copy it
> into attach_btf_id attribute before loading.
>
> Later the kernel will use prog->attach_btf_id to select raw tracepoint
> during bpf_raw_tracepoint_open syscall command.
>
> Signed-off-by: Alexei Starovoitov <ast@kernel.org>
> ---
Great, this is much cleaner approach!
Acked-by: Andrii Nakryiko <andriin@fb.com>
> tools/lib/bpf/bpf.c | 3 +++
> tools/lib/bpf/libbpf.c | 38 ++++++++++++++++++++++++++++++++------
> 2 files changed, 35 insertions(+), 6 deletions(-)
>
[...]
next prev parent reply other threads:[~2019-10-16 19:49 UTC|newest]
Thread overview: 24+ messages / expand[flat|nested] mbox.gz Atom feed top
2019-10-16 3:24 [PATCH v3 bpf-next 00/11] bpf: revolutionize bpf tracing Alexei Starovoitov
2019-10-16 3:24 ` [PATCH v3 bpf-next 01/11] bpf: add typecast to raw_tracepoints to help BTF generation Alexei Starovoitov
2019-10-16 3:24 ` [PATCH v3 bpf-next 02/11] bpf: add typecast to bpf helpers " Alexei Starovoitov
2019-10-16 3:24 ` [PATCH v3 bpf-next 03/11] bpf: process in-kernel BTF Alexei Starovoitov
2019-10-16 3:24 ` [PATCH v3 bpf-next 04/11] bpf: add attach_btf_id attribute to program load Alexei Starovoitov
2019-10-16 19:45 ` Andrii Nakryiko
2019-10-16 19:50 ` Alexei Starovoitov
2019-10-16 3:24 ` [PATCH v3 bpf-next 05/11] libbpf: auto-detect btf_id of BTF-based raw_tracepoints Alexei Starovoitov
2019-10-16 19:49 ` Andrii Nakryiko [this message]
2019-10-16 3:25 ` [PATCH v3 bpf-next 06/11] bpf: implement accurate raw_tp context access via BTF Alexei Starovoitov
2019-10-16 20:09 ` Andrii Nakryiko
2019-10-16 21:21 ` Daniel Borkmann
2019-10-16 21:28 ` Alexei Starovoitov
2019-10-16 22:08 ` Daniel Borkmann
2019-10-16 23:52 ` Alexei Starovoitov
2019-10-16 3:25 ` [PATCH v3 bpf-next 07/11] bpf: attach raw_tp program with BTF via type name Alexei Starovoitov
2019-10-16 20:13 ` Andrii Nakryiko
2019-10-16 3:25 ` [PATCH v3 bpf-next 08/11] bpf: add support for BTF pointers to interpreter Alexei Starovoitov
2019-10-16 3:25 ` [PATCH v3 bpf-next 09/11] bpf: add support for BTF pointers to x86 JIT Alexei Starovoitov
2019-10-16 20:15 ` Andrii Nakryiko
2019-10-16 3:25 ` [PATCH v3 bpf-next 10/11] bpf: check types of arguments passed into helpers Alexei Starovoitov
2019-10-16 3:25 ` [PATCH v3 bpf-next 11/11] selftests/bpf: add kfree_skb raw_tp test Alexei Starovoitov
2019-10-16 18:01 ` [PATCH v3 bpf-next 00/11] bpf: revolutionize bpf tracing Martin Lau
2019-10-17 15:14 ` Daniel Borkmann
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=CAEf4BzZe8qQ-04uTHWBiYGVqCbRrJzt1C0Uw_AZARtqOTOEPUg@mail.gmail.com \
--to=andrii.nakryiko@gmail.com \
--cc=ast@kernel.org \
--cc=bpf@vger.kernel.org \
--cc=daniel@iogearbox.net \
--cc=davem@davemloft.net \
--cc=kernel-team@fb.com \
--cc=netdev@vger.kernel.org \
--cc=x86@kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).