diff options
author | Daniel Borkmann <daniel@iogearbox.net> | 2017-05-25 01:05:07 +0200 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2017-05-25 19:44:28 +0200 |
commit | 41703a731066fde79c3e5ccf3391cf77a98aeda5 (patch) | |
tree | 829c5ce74500c834675e614803c56e31e06802cc /net | |
parent | bpf: properly reset caller saved regs after helper call and ld_abs/ind (diff) | |
download | linux-41703a731066fde79c3e5ccf3391cf77a98aeda5.tar.xz linux-41703a731066fde79c3e5ccf3391cf77a98aeda5.zip |
bpf: add bpf_clone_redirect to bpf_helper_changes_pkt_data
The bpf_clone_redirect() still needs to be listed in
bpf_helper_changes_pkt_data() since we call into
bpf_try_make_head_writable() from there, thus we need
to invalidate prior pkt regs as well.
Fixes: 36bbef52c7eb ("bpf: direct packet write and access for helpers for clsact progs")
Signed-off-by: Daniel Borkmann <daniel@iogearbox.net>
Acked-by: Alexei Starovoitov <ast@kernel.org>
Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'net')
-rw-r--r-- | net/core/filter.c | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/net/core/filter.c b/net/core/filter.c index a253a6197e6b..a6bb95fa87b2 100644 --- a/net/core/filter.c +++ b/net/core/filter.c @@ -2281,6 +2281,7 @@ bool bpf_helper_changes_pkt_data(void *func) func == bpf_skb_change_head || func == bpf_skb_change_tail || func == bpf_skb_pull_data || + func == bpf_clone_redirect || func == bpf_l3_csum_replace || func == bpf_l4_csum_replace || func == bpf_xdp_adjust_head) |