2
0
mirror of https://github.com/edk2-porting/linux-next.git synced 2024-12-15 16:53:54 +08:00
linux-next/tools/bpf/bpftool
Quentin Monnet 39c9f10639 tools: bpftool: reset errno for "bpftool cgroup tree"
When trying to dump the tree of all cgroups under a given root node,
bpftool attempts to query programs of all available attach types. Some
of those attach types do not support queries, therefore several of the
calls are actually expected to fail.

Those calls set errno to EINVAL, which has no consequence for dumping
the rest of the tree. It does have consequences however if errno is
inspected at a later time. For example, bpftool batch mode relies on
errno to determine whether a command has succeeded, and whether it
should carry on with the next command. Setting errno to EINVAL when
everything worked as expected would therefore make such command fail:

        # echo 'cgroup tree \n net show' | \
                bpftool batch file -

To improve this, reset errno when its value is EINVAL after attempting
to show programs for all existing attach types in do_show_tree_fn().

Signed-off-by: Quentin Monnet <quentin.monnet@netronome.com>
Reviewed-by: Jakub Kicinski <jakub.kicinski@netronome.com>
Acked-by: Song Liu <songliubraving@fb.com>
Signed-off-by: Daniel Borkmann <daniel@iogearbox.net>
2019-04-16 10:13:21 +02:00
..
bash-completion bpf: bpftool, fix documentation for attach types 2019-02-19 17:23:18 +01:00
Documentation tools/bpftool: recognize bpf_prog_info run_time_ns and run_cnt 2019-02-27 17:22:51 +01:00
.gitignore tools/bpftool: ignore build products 2018-07-26 02:50:26 +02:00
btf_dumper.c bpf: bpftool support for dumping data/bss/rodata sections 2019-04-09 17:05:47 -07:00
cfg.c tools: bpftool: teach cfg code about JMP32 2019-01-26 13:33:01 -08:00
cfg.h tools: bpftool: replace Netronome boilerplate with SPDX license headers 2018-12-13 12:08:44 +01:00
cgroup.c tools: bpftool: reset errno for "bpftool cgroup tree" 2019-04-16 10:13:21 +02:00
common.c tools: bpftool: fix crash with un-owned prog arrays 2019-01-28 23:59:46 +01:00
feature.c bpftool: feature probing, change default action 2019-01-24 10:47:52 +01:00
jit_disasm.c tools: bpftool: dual license all files 2018-12-13 12:08:44 +01:00
json_writer.c tools: bpftool: Cleanup license mess 2019-01-18 15:26:54 -08:00
json_writer.h tools: bpftool: Cleanup license mess 2019-01-18 15:26:54 -08:00
main.c tools: bpftool: add basic probe capability, probe syscall availability 2019-01-22 22:15:40 -08:00
main.h tools: bpftool: add probes for eBPF map types 2019-01-22 22:15:40 -08:00
Makefile tools/bpf: properly account for libbfd variations 2019-01-16 00:53:48 +01:00
map_perf_ring.c tools: bpftool: dual license all files 2018-12-13 12:08:44 +01:00
map.c bpf: bpftool support for dumping data/bss/rodata sections 2019-04-09 17:05:47 -07:00
net.c tools: bpftool: dual license all files 2018-12-13 12:08:44 +01:00
netlink_dumper.c tools: bpftool: dual license all files 2018-12-13 12:08:44 +01:00
netlink_dumper.h tools: bpftool: dual license all files 2018-12-13 12:08:44 +01:00
perf.c tools: bpftool: dual license all files 2018-12-13 12:08:44 +01:00
prog.c tools: bpftool: remove blank line after btf_id when listing programs 2019-04-16 10:13:12 +02:00
tracelog.c tools: bpftool: add an option to prevent auto-mount of bpffs, tracefs 2018-12-18 14:47:17 +01:00
xlated_dumper.c bpf: implement lookup-free direct value access for maps 2019-04-09 17:05:46 -07:00
xlated_dumper.h tools: bpftool: replace Netronome boilerplate with SPDX license headers 2018-12-13 12:08:44 +01:00