Re: [PATCH bpf v4] libbpf: Return btf_fd for load_sk_storage_btf

From: Alexei Starovoitov
Date: Fri May 31 2019 - 20:09:55 EST


On Thu, May 30, 2019 at 2:34 PM Song Liu <liu.song.a23@xxxxxxxxx> wrote:
>
> On Wed, May 29, 2019 at 11:30 AM Michal Rostecki <mrostecki@xxxxxxxxxxxx> wrote:
> >
> > Before this change, function load_sk_storage_btf expected that
> > libbpf__probe_raw_btf was returning a BTF descriptor, but in fact it was
> > returning an information about whether the probe was successful (0 or
> > 1). load_sk_storage_btf was using that value as an argument of the close
> > function, which was resulting in closing stdout and thus terminating the
> > process which called that function.
> >
> > That bug was visible in bpftool. `bpftool feature` subcommand was always
> > exiting too early (because of closed stdout) and it didn't display all
> > requested probes. `bpftool -j feature` or `bpftool -p feature` were not
> > returning a valid json object.
> >
> > This change renames the libbpf__probe_raw_btf function to
> > libbpf__load_raw_btf, which now returns a BTF descriptor, as expected in
> > load_sk_storage_btf.
> >
> > v2:
> > - Fix typo in the commit message.
> >
> > v3:
> > - Simplify BTF descriptor handling in bpf_object__probe_btf_* functions.
> > - Rename libbpf__probe_raw_btf function to libbpf__load_raw_btf and
> > return a BTF descriptor.
> >
> > v4:
> > - Fix typo in the commit message.
> >
> > Fixes: d7c4b3980c18 ("libbpf: detect supported kernel BTF features and sanitize BTF")
> > Signed-off-by: Michal Rostecki <mrostecki@xxxxxxxxxxxx>
> > Acked-by: Andrii Nakryiko <andriin@xxxxxx>
>
> Acked-by: Song Liu <songliubraving@xxxxxx>

Applied. Thanks!