b9c1e60e7b
None of the JITs is allowed to implement exit paths from the BPF insn mappings other than BPF_JMP | BPF_EXIT. In the BPF core code we have a couple of rewrites in eBPF (e.g. LD_ABS / LD_IND) and in eBPF to cBPF translation to retain old existing behavior where exceptions may occur; they are also tightly controlled by the verifier where it disallows some of the features such as BPF to BPF calls when legacy LD_ABS / LD_IND ops are present in the BPF program. During recent review of all BPF_XADD JIT implementations I noticed that the ppc64 one is buggy in that it contains two jumps to exit paths. This is problematic as this can bypass verifier expectations e.g. pointed out in commit |
||
---|---|---|
.. | ||
bpf_jit.h | ||
bpf_jit32.h | ||
bpf_jit64.h | ||
bpf_jit_asm.S | ||
bpf_jit_comp.c | ||
bpf_jit_comp64.c | ||
Makefile |