diff options
author | Alexei Starovoitov <ast@plumgrid.com> | 2014-12-01 18:06:34 -0500 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2014-12-06 00:47:32 -0500 |
commit | ddd872bc3098f9d9abe1680a6b2013e59e3337f7 (patch) | |
tree | be98ca10e99f38fc5f84e94bacee95db64183b15 /include/uapi | |
parent | f51a5e82ea9aaf05106c00d976e772ca384a9199 (diff) |
bpf: verifier: add checks for BPF_ABS | BPF_IND instructions
introduce program type BPF_PROG_TYPE_SOCKET_FILTER that is used
for attaching programs to sockets where ctx == skb.
add verifier checks for ABS/IND instructions which can only be seen
in socket filters, therefore the check:
if (env->prog->aux->prog_type != BPF_PROG_TYPE_SOCKET_FILTER)
verbose("BPF_LD_ABS|IND instructions are only allowed in socket filters\n");
Signed-off-by: Alexei Starovoitov <ast@plumgrid.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'include/uapi')
-rw-r--r-- | include/uapi/linux/bpf.h | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/include/uapi/linux/bpf.h b/include/uapi/linux/bpf.h index 4a3d0f84f178..45da7ec7d274 100644 --- a/include/uapi/linux/bpf.h +++ b/include/uapi/linux/bpf.h | |||
@@ -117,6 +117,7 @@ enum bpf_map_type { | |||
117 | 117 | ||
118 | enum bpf_prog_type { | 118 | enum bpf_prog_type { |
119 | BPF_PROG_TYPE_UNSPEC, | 119 | BPF_PROG_TYPE_UNSPEC, |
120 | BPF_PROG_TYPE_SOCKET_FILTER, | ||
120 | }; | 121 | }; |
121 | 122 | ||
122 | /* flags for BPF_MAP_UPDATE_ELEM command */ | 123 | /* flags for BPF_MAP_UPDATE_ELEM command */ |