When a map is storing a kernel's struct, its map_info->btf_vmlinux_value_type_id is set. The first map type supporting it is BPF_MAP_TYPE_STRUCT_OPS. This series adds support to dump this kind of map with BTF. The first two patches are bug fixes which only applicable to in bpf-next. Please see individual patches for details. v2: - Expose bpf_find_kernel_btf() as a LIBBPF_API in patch 3 (Andrii) - Cache btf_vmlinux in bpftool/map.c (Andrii) Martin KaFai Lau (5): bpftool: Fix a leak of btf object bpftool: Fix missing BTF output for json during map dump libbpf: Expose bpf_find_kernel_btf as a LIBBPF_API bpftool: Add struct_ops map name bpftool: Support dumping a map with btf_vmlinux_value_type_id tools/bpf/bpftool/map.c | 103 ++++++++++++++++++++++++--------------- tools/lib/bpf/btf.c | 102 +++++++++++++++++++++++++++++++++++--- tools/lib/bpf/btf.h | 2 + tools/lib/bpf/libbpf.c | 93 ++--------------------------------- tools/lib/bpf/libbpf.map | 1 + 5 files changed, 167 insertions(+), 134 deletions(-) -- 2.17.1