This patch set makes some changes to cleanup the unused bits in BTF uapi. It also makes the btf_header extensible.
Please see individual patches for details. v2: - Remove NR_SECS from patch 2 - Remove "unsigned" check on array->index_type from patch 3 - Remove BTF_INT_VARARGS and further limit BTF_INT_ENCODING from 8 bits to 4 bits in patch 4 - Adjustments in test_btf.c to reflect changes in v2 Martin KaFai Lau (7): bpf: Expose check_uarg_tail_zero() bpf: btf: Change how section is supported in btf_header bpf: btf: Check array->index_type bpf: btf: Remove unused bits from uapi/linux/btf.h bpf: btf: Rename btf_key_id and btf_value_id in bpf_map_info bpf: btf: Sync bpf.h and btf.h to tools bpf: btf: Add tests for the btf uapi changes include/linux/bpf.h | 6 +- include/uapi/linux/bpf.h | 8 +- include/uapi/linux/btf.h | 37 +-- kernel/bpf/arraymap.c | 2 +- kernel/bpf/btf.c | 335 +++++++++++++++------ kernel/bpf/syscall.c | 32 +- tools/include/uapi/linux/bpf.h | 8 +- tools/include/uapi/linux/btf.h | 37 +-- tools/lib/bpf/bpf.c | 4 +- tools/lib/bpf/bpf.h | 4 +- tools/lib/bpf/btf.c | 5 +- tools/lib/bpf/libbpf.c | 34 +-- tools/lib/bpf/libbpf.h | 4 +- tools/testing/selftests/bpf/test_btf.c | 521 +++++++++++++++++++++++++++------ 14 files changed, 753 insertions(+), 284 deletions(-) -- 2.9.5