]> git.baikalelectronics.ru Git - kernel.git/commit
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)
commit16c5920e1914c710fab18bf10db5fd2ac404184e
tree3e6417cd43149323fe5c10bd25d234a82a6088dc
parent63d100efc199325d2c9ee7939affb3324c2d9706
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: 85333dd4ca0f ("bpf: Support for new btf kind BTF_KIND_TAG")
Fixes: 488dd8d54a74 ("libbpf: Add support for BTF_KIND_TAG")
Fixes: 589403b918cf ("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