diff options
author | Andrii Nakryiko <andrii@kernel.org> | 2024-01-29 16:06:47 -0800 |
---|---|---|
committer | Alexei Starovoitov <ast@kernel.org> | 2024-01-30 09:41:50 -0800 |
commit | d28bb1a86e68a3d523e0acee8281bb904dd7f451 (patch) | |
tree | 68c3f0fffa3d5b2c2394a9f3e7dca317d20c2546 /tools/lib | |
parent | 8f2b44cd9d69ec36c9ce9623993978babb575ee8 (diff) | |
download | lwn-d28bb1a86e68a3d523e0acee8281bb904dd7f451.tar.gz lwn-d28bb1a86e68a3d523e0acee8281bb904dd7f451.zip |
libbpf: add __arg_trusted and __arg_nullable tag macros
Add __arg_trusted to annotate global func args that accept trusted
PTR_TO_BTF_ID arguments.
Also add __arg_nullable to combine with __arg_trusted (and maybe other
tags in the future) to force global subprog itself (i.e., callee) to do
NULL checks, as opposed to default non-NULL semantics (and thus caller's
responsibility to ensure non-NULL values).
Acked-by: Eduard Zingerman <eddyz87@gmail.com>
Signed-off-by: Andrii Nakryiko <andrii@kernel.org>
Link: https://lore.kernel.org/r/20240130000648.2144827-4-andrii@kernel.org
Signed-off-by: Alexei Starovoitov <ast@kernel.org>
Diffstat (limited to 'tools/lib')
-rw-r--r-- | tools/lib/bpf/bpf_helpers.h | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/tools/lib/bpf/bpf_helpers.h b/tools/lib/bpf/bpf_helpers.h index 2324cc42b017..79eaa581be98 100644 --- a/tools/lib/bpf/bpf_helpers.h +++ b/tools/lib/bpf/bpf_helpers.h @@ -190,6 +190,8 @@ enum libbpf_tristate { #define __arg_ctx __attribute__((btf_decl_tag("arg:ctx"))) #define __arg_nonnull __attribute((btf_decl_tag("arg:nonnull"))) +#define __arg_nullable __attribute((btf_decl_tag("arg:nullable"))) +#define __arg_trusted __attribute((btf_decl_tag("arg:trusted"))) #ifndef ___bpf_concat #define ___bpf_concat(a, b) a ## b |