diff options
author | Alexei Starovoitov <ast@plumgrid.com> | 2015-03-26 19:53:57 -0700 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2015-03-29 13:26:54 -0700 |
commit | 608cd71a9c7c9db76e78a792c5a4101e12fea43f (patch) | |
tree | 9824e0795f923a6370e53799f84e8ad13764cb23 /kernel | |
parent | 7836b16c0dd1d3039ccc35ceeff6d75401fbba8c (diff) | |
download | op-kernel-dev-608cd71a9c7c9db76e78a792c5a4101e12fea43f.zip op-kernel-dev-608cd71a9c7c9db76e78a792c5a4101e12fea43f.tar.gz |
tc: bpf: generalize pedit action
existing TC action 'pedit' can munge any bits of the packet.
Generalize it for use in bpf programs attached as cls_bpf and act_bpf via
bpf_skb_store_bytes() helper function.
Signed-off-by: Alexei Starovoitov <ast@plumgrid.com>
Reviewed-by: Jiri Pirko <jiri@resnulli.us>
Acked-by: Daniel Borkmann <daniel@iogearbox.net>
Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'kernel')
-rw-r--r-- | kernel/bpf/verifier.c | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/kernel/bpf/verifier.c b/kernel/bpf/verifier.c index 0e714f7..630a7ba 100644 --- a/kernel/bpf/verifier.c +++ b/kernel/bpf/verifier.c @@ -773,6 +773,8 @@ static int check_func_arg(struct verifier_env *env, u32 regno, expected_type = CONST_IMM; } else if (arg_type == ARG_CONST_MAP_PTR) { expected_type = CONST_PTR_TO_MAP; + } else if (arg_type == ARG_PTR_TO_CTX) { + expected_type = PTR_TO_CTX; } else { verbose("unsupported arg_type %d\n", arg_type); return -EFAULT; |