[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <20191017151445.GB26267@pc-63.home>
Date: Thu, 17 Oct 2019 17:14:45 +0200
From: Daniel Borkmann <daniel@...earbox.net>
To: Alexei Starovoitov <ast@...nel.org>
Cc: davem@...emloft.net, x86@...nel.org, netdev@...r.kernel.org,
bpf@...r.kernel.org, kernel-team@...com
Subject: Re: [PATCH v3 bpf-next 00/11] bpf: revolutionize bpf tracing
On Tue, Oct 15, 2019 at 08:24:54PM -0700, Alexei Starovoitov wrote:
> v2->v3:
> - while trying to adopt btf-based tracing in production service realized
> that disabling bpf_probe_read() was premature. The real tracing program
> needs to see much more than this type safe tracking can provide.
> With these patches the verifier will be able to see that skb->data
> is a pointer to 'u8 *', but it cannot possibly know how many bytes
> of it is readable. Hence bpf_probe_read() is necessary to do basic
> packet reading from tracing program. Some helper can be introduced to
> solve this particular problem, but there are other similar structures.
> Another issue is bitfield reading. The support for bitfields
> is coming to llvm. libbpf will be supporting it eventually as well,
> but there will be corner cases where bpf_probe_read() is necessary.
> The long term goal is still the same: get rid of probe_read eventually.
> - fixed build issue with clang reported by Nathan Chancellor.
> - addressed a ton of comments from Andrii.
> bitfields and arrays are explicitly unsupported in btf-based tracking.
> This will be improved in the future.
> Right now the verifier is more strict than necessary.
> In some cases it can fall back to 'scalar' instead of rejecting
> the program, but rejection today allows to make better decisions
> in the future.
> - adjusted testcase to demo bitfield and skb->data reading.
Applied, thanks!
Powered by blists - more mailing lists