[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <CAEf4Bzarx33ENLBRyqxDz7k9t0YmTRNs5wf_xCqL2jNXvs+0Sg@mail.gmail.com>
Date: Sat, 20 Mar 2021 10:00:57 -0700
From: Andrii Nakryiko <andrii.nakryiko@...il.com>
To: Alexei Starovoitov <alexei.starovoitov@...il.com>
Cc: Andrii Nakryiko <andrii@...nel.org>, bpf <bpf@...r.kernel.org>,
Networking <netdev@...r.kernel.org>,
Alexei Starovoitov <ast@...com>,
Daniel Borkmann <daniel@...earbox.net>,
Kernel Team <kernel-team@...com>
Subject: Re: [PATCH bpf-next 3/3] selftests/bpf: allow compiling BPF objects
without BTF
On Fri, Mar 19, 2021 at 7:22 PM Alexei Starovoitov
<alexei.starovoitov@...il.com> wrote:
>
> On Fri, Mar 19, 2021 at 01:59:09PM -0700, Andrii Nakryiko wrote:
> > Add ability to skip BTF generation for some BPF object files. This is done
> > through using a convention of .nobtf.c file name suffix.
> >
> > Also add third statically linked file to static_linked selftest. This file has
> > no BTF, causing resulting object file to have only some of DATASEC BTF types.
> > It also is using (from BPF code) global variables. This tests both libbpf's
> > static linking logic and bpftool's skeleton generation logic.
>
> I don't like the long term direction of patch 1 and 3.
> BTF is mandatory for the most bpf kernel features added in the last couple years.
> Making user space do quirks for object files without BTF is not something
> we should support or maintain. If there is no BTF the linker and skeleton
> generation shouldn't crash, of course, but they should reject such object.
I don't think tools need to enforce any policies like that. They are
tools and should be unassuming about the way they are going to be used
to the extent possible. If BTF is useful it will happen naturally that
everyone will use it (and it's mostly the case already). But I don't
think crippling tools for the sake of enforcing BTF is the right
direction.
And it's not much of a quirk what bpftool is doing. If you prefer, I
can generate `void *` field for memory-mapped pointer. Patch #3 just
allows me to validate that there are no crashes.
Powered by blists - more mailing lists