linux/arch/powerpc/net
Daniel Borkmann 87338c8e2c bpf, ppc64: do not reload skb pointers in non-skb context
The assumption of unconditionally reloading skb pointers on
BPF helper calls where bpf_helper_changes_pkt_data() holds
true is wrong. There can be different contexts where the helper
would enforce a reload such as in case of XDP. Here, we do
have a struct xdp_buff instead of struct sk_buff as context,
thus this will access garbage.

JITs only ever need to deal with cached skb pointer reload
when ld_abs/ind was seen, therefore guard the reload behind
SEEN_SKB.

Fixes: 156d0e290e ("powerpc/ebpf/jit: Implement JIT compiler for extended BPF")
Signed-off-by: Daniel Borkmann <daniel@iogearbox.net>
Reviewed-by: Naveen N. Rao <naveen.n.rao@linux.vnet.ibm.com>
Acked-by: Alexei Starovoitov <ast@kernel.org>
Tested-by: Sandipan Das <sandipan@linux.vnet.ibm.com>
Signed-off-by: Alexei Starovoitov <ast@kernel.org>
2017-12-15 09:19:35 -08:00
..
bpf_jit32.h powerpc/bpf/jit: Isolate classic BPF JIT specifics into a separate header 2016-06-24 15:15:51 +10:00
bpf_jit64.h bpf: take advantage of stack_depth tracking in powerpc JIT 2017-11-06 16:48:16 +11:00
bpf_jit_asm64.S powerpc/ebpf/jit: Implement JIT compiler for extended BPF 2016-06-24 15:17:57 +10:00
bpf_jit_asm.S powerpc/bpf/jit: Isolate classic BPF JIT specifics into a separate header 2016-06-24 15:15:51 +10:00
bpf_jit_comp64.c bpf, ppc64: do not reload skb pointers in non-skb context 2017-12-15 09:19:35 -08:00
bpf_jit_comp.c powerpc/bpf: Remove redundant check for non-null image 2017-01-25 13:34:24 +11:00
bpf_jit.h bpf, ppc64: implement jiting of BPF_J{LT, LE, SLT, SLE} 2017-08-09 16:53:57 -07:00
Makefile License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00