Commit ae24345da54e ("bpf: Implement an interface to register bpf_iter targets") and its subsequent commits in the same patch set introduced bpf iterator, a way to run bpf program when iterating kernel data structures. This patch set addressed some followup issues. One big change is to allow target to pass ctx arg register types to verifier for verification purpose. Please see individual patch for details. Changelogs: v1 -> v2: . add "const" qualifier to struct bpf_iter_reg for bpf_iter_[un]reg_target, and this results in additional "const" qualifiers in some other places . drop the patch which will issue WARN_ONCE if seq_ops->show() returns a positive value. If this does happen, code review should spot this or author does know what he is doing. In the future, we do want to implement a mechanism to find out all registered targets so we will be aware of new additions. Yonghong Song (7): tools/bpf: selftests : explain bpf_iter test failures with llvm 10.0.0 bpf: change btf_iter func proto prefix to "bpf_iter_" bpf: add comments to interpret bpf_prog return values bpf: net: refactor bpf_iter target registration bpf: change func bpf_iter_unreg_target() signature bpf: enable bpf_iter targets registering ctx argument types samples/bpf: remove compiler warnings include/linux/bpf.h | 22 ++++++++---- include/net/ip6_fib.h | 7 ++++ kernel/bpf/bpf_iter.c | 49 +++++++++++++++----------- kernel/bpf/btf.c | 15 +++++--- kernel/bpf/map_iter.c | 23 +++++++----- kernel/bpf/task_iter.c | 42 ++++++++++++++-------- kernel/bpf/verifier.c | 1 - net/ipv6/ip6_fib.c | 5 --- net/ipv6/route.c | 25 +++++++------ net/netlink/af_netlink.c | 23 +++++++----- samples/bpf/offwaketime_kern.c | 4 +-- samples/bpf/sockex2_kern.c | 4 +-- samples/bpf/sockex3_kern.c | 4 +-- tools/lib/bpf/libbpf.c | 2 +- tools/testing/selftests/bpf/README.rst | 43 ++++++++++++++++++++++ 15 files changed, 183 insertions(+), 86 deletions(-) create mode 100644 tools/testing/selftests/bpf/README.rst -- 2.24.1