diff options
author | Roman Gushchin <guro@fb.com> | 2018-08-02 17:27:22 -0400 |
---|---|---|
committer | Daniel Borkmann <daniel@iogearbox.net> | 2018-08-02 18:47:32 -0400 |
commit | 3e6a4b3e0289dc9540a2c1d8a20657f4707fbabb (patch) | |
tree | a8265b30b1738086a0c89cb5f581a0766c82ec63 /include/linux/bpf.h | |
parent | 394e40a29788820c9c0526b1c3497c9e0ec2a126 (diff) |
bpf/verifier: introduce BPF_PTR_TO_MAP_VALUE
BPF_MAP_TYPE_CGROUP_STORAGE maps are special in a way
that the access from the bpf program side is lookup-free.
That means the result is guaranteed to be a valid
pointer to the cgroup storage; no NULL-check is required.
This patch introduces BPF_PTR_TO_MAP_VALUE return type,
which is required to cause the verifier accept programs,
which are not checking the map value pointer for being NULL.
Signed-off-by: Roman Gushchin <guro@fb.com>
Cc: Alexei Starovoitov <ast@kernel.org>
Cc: Daniel Borkmann <daniel@iogearbox.net>
Acked-by: Martin KaFai Lau <kafai@fb.com>
Signed-off-by: Daniel Borkmann <daniel@iogearbox.net>
Diffstat (limited to 'include/linux/bpf.h')
-rw-r--r-- | include/linux/bpf.h | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/include/linux/bpf.h b/include/linux/bpf.h index 16be67888c30..ca4ac2a39def 100644 --- a/include/linux/bpf.h +++ b/include/linux/bpf.h | |||
@@ -155,6 +155,7 @@ enum bpf_arg_type { | |||
155 | enum bpf_return_type { | 155 | enum bpf_return_type { |
156 | RET_INTEGER, /* function returns integer */ | 156 | RET_INTEGER, /* function returns integer */ |
157 | RET_VOID, /* function doesn't return anything */ | 157 | RET_VOID, /* function doesn't return anything */ |
158 | RET_PTR_TO_MAP_VALUE, /* returns a pointer to map elem value */ | ||
158 | RET_PTR_TO_MAP_VALUE_OR_NULL, /* returns a pointer to map elem value or NULL */ | 159 | RET_PTR_TO_MAP_VALUE_OR_NULL, /* returns a pointer to map elem value or NULL */ |
159 | }; | 160 | }; |
160 | 161 | ||