From: Alexei Starovoitov <a...@plumgrid.com> Date: Fri, 22 May 2015 15:42:55 -0700
> x86 has variable length encoding. x86 JIT compiler is trying > to pick the shortest encoding for given bpf instruction. > While doing so the jump targets are changing, so JIT is doing > multiple passes over the program. Typical program needs 3 passes. > Some very short programs converge with 2 passes. Large programs > may need 4 or 5. But specially crafted bpf programs may hit the > pass limit and if the program converges on the last iteration > the JIT compiler will be producing an image full of 'int 3' insns. > Fix this corner case by doing final iteration over bpf program. > > Fixes: 0a14842f5a3c ("net: filter: Just In Time compiler for x86-64") > Reported-by: Daniel Borkmann <dan...@iogearbox.net> > Signed-off-by: Alexei Starovoitov <a...@plumgrid.com> Applied and queued up for -stable, thanks. -- To unsubscribe from this list: send the line "unsubscribe netdev" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html