arm64: bpf: lift restriction on last instruction
authorZi Shen Lim <zlim.lnx@gmail.com>
Wed, 3 Dec 2014 08:38:01 +0000 (08:38 +0000)
committerWill Deacon <will.deacon@arm.com>
Wed, 3 Dec 2014 18:04:09 +0000 (18:04 +0000)
commit51c9fbb1b146f3336a93d398c439b6fbfe5ab489
tree2928e70795aaf5fba8d0263ac06b9205d42364d7
parente4f88d833bec29b8e6fadc1b2488f0c6370935e1
arm64: bpf: lift restriction on last instruction

Earlier implementation assumed last instruction is BPF_EXIT.
Since this is no longer a restriction in eBPF, we remove this
limitation.

Per Alexei Starovoitov [1]:
> classic BPF has a restriction that last insn is always BPF_RET.
> eBPF doesn't have BPF_RET instruction and this restriction.
> It has BPF_EXIT insn which can appear anywhere in the program
> one or more times and it doesn't have to be last insn.

[1] https://lkml.org/lkml/2014/11/27/2

Fixes: e54bcde3d69d ("arm64: eBPF JIT compiler")
Acked-by: Alexei Starovoitov <ast@plumgrid.com>
Signed-off-by: Zi Shen Lim <zlim.lnx@gmail.com>
Signed-off-by: Will Deacon <will.deacon@arm.com>
arch/arm64/net/bpf_jit_comp.c