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!