Files
kernel/include/uapi/linux
Yonghong Song b5ea834dde bpf: Support for new btf kind BTF_KIND_TAG
LLVM14 added support for a new C attribute ([1])
  __attribute__((btf_tag("arbitrary_str")))
This attribute will be emitted to dwarf ([2]) and pahole
will convert it to BTF. Or for bpf target, this
attribute will be emitted to BTF directly ([3], [4]).
The attribute is intended to provide additional
information for
  - struct/union type or struct/union member
  - static/global variables
  - static/global function or function parameter.

For linux kernel, the btf_tag can be applied
in various places to specify user pointer,
function pre- or post- condition, function
allow/deny in certain context, etc. Such information
will be encoded in vmlinux BTF and can be used
by verifier.

The btf_tag can also be applied to bpf programs
to help global verifiable functions, e.g.,
specifying preconditions, etc.

This patch added basic parsing and checking support
in kernel for new BTF_KIND_TAG kind.

 [1] https://reviews.llvm.org/D106614
 [2] https://reviews.llvm.org/D106621
 [3] https://reviews.llvm.org/D106622
 [4] https://reviews.llvm.org/D109560

Signed-off-by: Yonghong Song <yhs@fb.com>
Signed-off-by: Alexei Starovoitov <ast@kernel.org>
Acked-by: Andrii Nakryiko <andrii@kernel.org>
Link: https://lore.kernel.org/bpf/20210914223015.245546-1-yhs@fb.com
2021-09-14 18:45:52 -07:00
..
2021-01-25 18:44:44 +01:00
2021-08-17 11:47:53 -04:00
2020-12-28 14:21:31 +00:00
2021-02-09 10:58:19 +01:00
2021-06-10 20:59:05 -04:00
2020-10-09 12:47:02 -06:00
2021-08-23 13:19:09 +02:00
2021-08-23 13:19:09 +02:00
2021-08-10 13:32:40 -04:00
2021-02-08 13:01:24 +01:00
2021-06-03 15:31:34 -07:00
2021-02-26 09:41:03 -08:00
2021-05-21 15:03:50 +02:00
2021-03-10 09:34:06 +01:00
2021-07-29 15:06:50 +01:00
2021-08-18 10:10:01 +01:00
2021-07-06 10:37:46 -05:00
2021-01-16 23:19:26 +01:00
2021-03-10 09:34:06 +01:00
2021-06-23 12:56:08 -07:00
2021-01-07 16:17:32 +01:00
2020-10-23 11:55:28 -04:00
2020-10-23 11:55:28 -04:00
2021-06-12 13:16:45 -07:00
2021-07-29 08:04:10 +02:00