]> git.baikalelectronics.ru Git - kernel.git/commit
bpftool: Use only nftw for file tree parsing
authorTony Ambardar <tony.ambardar@gmail.com>
Tue, 21 Jul 2020 02:48:16 +0000 (19:48 -0700)
committerDaniel Borkmann <daniel@iogearbox.net>
Tue, 21 Jul 2020 21:42:56 +0000 (23:42 +0200)
commitd439dc36115c2a361530af729ca91ede8b12d87a
tree4ee3fd51ccb60e80ab2b36248670abdcf5ef128e
parent52ff65552969e511fa4031b207c5a15af06c32ff
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
tools/bpf/bpftool/common.c
tools/bpf/bpftool/main.h