1
0
Fork 0
mirror of synced 2025-03-06 20:59:54 +01:00
linux/tools/bpf/bpftool
Tony Ambardar 9165e1d70f bpftool: Use only nftw for file tree parsing
The bpftool sources include code to walk file trees, but use multiple
frameworks to do so: nftw and fts. While nftw conforms to POSIX/SUSv3 and
is widely available, fts is not conformant and less common, especially on
non-glibc systems. The inconsistent framework usage hampers maintenance
and portability of bpftool, in particular for embedded systems.

Standardize code usage by rewriting one fts-based function to use nftw and
clean up some related function warnings by extending use of "const char *"
arguments. This change helps in building bpftool against musl for OpenWrt.

Also fix an unsafe call to dirname() by duplicating the string to pass,
since some implementations may directly alter it. The same approach is
used in libbpf.c.

Signed-off-by: Tony Ambardar <Tony.Ambardar@gmail.com>
Signed-off-by: Daniel Borkmann <daniel@iogearbox.net>
Reviewed-by: Quentin Monnet <quentin@isovalent.com>
Link: https://lore.kernel.org/bpf/20200721024817.13701-1-Tony.Ambardar@gmail.com
2020-07-21 23:42:56 +02:00
..
bash-completion tools/bpftool: Add name mappings for SK_LOOKUP prog and attach type 2020-07-17 20:18:17 -07:00
Documentation tools/bpftool: Add name mappings for SK_LOOKUP prog and attach type 2020-07-17 20:18:17 -07:00
skeleton samples/bpf, selftests/bpf: Use bpf_probe_read_kernel 2020-07-21 13:26:26 -07:00
.gitignore tools/bpftool: Generalize BPF skeleton support and generate vmlinux.h 2020-06-22 17:01:48 -07:00
btf.c tools/bpftool: Show info for processes holding BPF map/prog/link/btf FDs 2020-06-22 17:01:49 -07:00
btf_dumper.c tools, bpftool: Poison and replace kernel integer typedefs 2020-05-11 21:20:46 +02:00
cfg.c tools, bpftool: Poison and replace kernel integer typedefs 2020-05-11 21:20:46 +02:00
cfg.h tools: bpftool: replace Netronome boilerplate with SPDX license headers 2018-12-13 12:08:44 +01:00
cgroup.c tools, bpftool: Clean subcommand help messages 2020-06-01 14:38:18 -07:00
common.c bpftool: Use only nftw for file tree parsing 2020-07-21 23:42:56 +02:00
feature.c tools, bpftool: Define prog_type_name array only once 2020-06-25 16:06:01 +02:00
gen.c tools/bpftool: Fix error handing in do_skeleton() 2020-07-21 13:26:25 -07:00
iter.c tools, bpftool: Clean subcommand help messages 2020-06-01 14:38:18 -07:00
jit_disasm.c tools/bpf/bpftool: Remove duplicate headers 2020-04-26 08:40:01 -07:00
json_writer.c tools: bpftool: move "__printf()" attributes to header file 2019-08-15 22:06:46 -07:00
json_writer.h tools: bpftool: move "__printf()" attributes to header file 2019-08-15 22:06:46 -07:00
link.c tools, bpftool: Define prog_type_name array only once 2020-06-25 16:06:01 +02:00
main.c tools/bpftool: Show info for processes holding BPF map/prog/link/btf FDs 2020-06-22 17:01:49 -07:00
main.h bpftool: Use only nftw for file tree parsing 2020-07-21 23:42:56 +02:00
Makefile tools/bpftool: Turn off -Wnested-externs warning 2020-07-02 00:18:28 +02:00
map.c Merge git://git.kernel.org/pub/scm/linux/kernel/git/bpf/bpf-next 2020-07-04 17:48:34 -07:00
map_perf_ring.c tools, bpftool: Poison and replace kernel integer typedefs 2020-05-11 21:20:46 +02:00
net.c tools, bpftool: Clean subcommand help messages 2020-06-01 14:38:18 -07:00
netlink_dumper.c bpftool: Use consistent include paths for libbpf 2020-01-20 16:37:45 -08:00
netlink_dumper.h tools: bpftool: dual license all files 2018-12-13 12:08:44 +01:00
perf.c tools, bpftool: Clean subcommand help messages 2020-06-01 14:38:18 -07:00
pids.c tools/bpftool: Remove warning about PID iterator support 2020-07-13 15:41:05 -07:00
prog.c tools/bpftool: Add name mappings for SK_LOOKUP prog and attach type 2020-07-17 20:18:17 -07:00
struct_ops.c tools, bpftool: Clean subcommand help messages 2020-06-01 14:38:18 -07: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 bpftool: Use consistent include paths for libbpf 2020-01-20 16:37:45 -08:00
xlated_dumper.h tools: bpftool: replace Netronome boilerplate with SPDX license headers 2018-12-13 12:08:44 +01:00