bpf: Rename BTF_KIND_TAG to BTF_KIND_DECL_TAG
authorYonghong Song <yhs@fb.com>
Tue, 12 Oct 2021 16:48:38 +0000 (09:48 -0700)
committerAlexei Starovoitov <ast@kernel.org>
Tue, 19 Oct 2021 01:35:36 +0000 (18:35 -0700)
commit223f903e9c832699f4e5f422281a60756c1c6cfe
tree3e6417cd43149323fe5c10bd25d234a82a6088dc
parent431bfb9ee3e2ac0294d5ef58cee87683807299c0
bpf: Rename BTF_KIND_TAG to BTF_KIND_DECL_TAG

Patch set [1] introduced BTF_KIND_TAG to allow tagging
declarations for struct/union, struct/union field, var, func
and func arguments and these tags will be encoded into
dwarf. They are also encoded to btf by llvm for the bpf target.

After BTF_KIND_TAG is introduced, we intended to use it
for kernel __user attributes. But kernel __user is actually
a type attribute. Upstream and internal discussion showed
it is not a good idea to mix declaration attribute and
type attribute. So we proposed to introduce btf_type_tag
as a type attribute and existing btf_tag renamed to
btf_decl_tag ([2]).

This patch renamed BTF_KIND_TAG to BTF_KIND_DECL_TAG and some
other declarations with *_tag to *_decl_tag to make it clear
the tag is for declaration. In the future, BTF_KIND_TYPE_TAG
might be introduced per [3].

 [1] https://lore.kernel.org/bpf/20210914223004.244411-1-yhs@fb.com/
 [2] https://reviews.llvm.org/D111588
 [3] https://reviews.llvm.org/D111199

Fixes: b5ea834dde6b ("bpf: Support for new btf kind BTF_KIND_TAG")
Fixes: 5b84bd10363e ("libbpf: Add support for BTF_KIND_TAG")
Fixes: 5c07f2fec003 ("bpftool: Add support for BTF_KIND_TAG")
Signed-off-by: Yonghong Song <yhs@fb.com>
Signed-off-by: Alexei Starovoitov <ast@kernel.org>
Link: https://lore.kernel.org/bpf/20211012164838.3345699-1-yhs@fb.com
17 files changed:
Documentation/bpf/btf.rst
include/uapi/linux/btf.h
kernel/bpf/btf.c
tools/bpf/bpftool/btf.c
tools/include/uapi/linux/btf.h
tools/lib/bpf/btf.c
tools/lib/bpf/btf.h
tools/lib/bpf/btf_dump.c
tools/lib/bpf/libbpf.c
tools/lib/bpf/libbpf.map
tools/lib/bpf/libbpf_internal.h
tools/testing/selftests/bpf/README.rst
tools/testing/selftests/bpf/btf_helpers.c
tools/testing/selftests/bpf/prog_tests/btf.c
tools/testing/selftests/bpf/prog_tests/btf_write.c
tools/testing/selftests/bpf/progs/tag.c
tools/testing/selftests/bpf/test_btf.h