arm64: bpf: fix mod-by-zero case
authorZi Shen Lim <zlim.lnx@gmail.com>
Thu, 5 Nov 2015 04:43:59 +0000 (20:43 -0800)
committerCatalin Marinas <catalin.marinas@arm.com>
Fri, 6 Nov 2015 16:58:48 +0000 (16:58 +0000)
commit14e589ff4aa3f28a5424e92b6495ecb8950080f7
tree7ca405fec1a9c34a6d1e2fd00ceb50cdbc9995b5
parent251599e1d6906621f49218d7b474ddd159e58f3b
arm64: bpf: fix mod-by-zero case

Turns out in the case of modulo by zero in a BPF program:
A = A % X;  (X == 0)
the expected behavior is to terminate with return value 0.

The bug in JIT is exposed by a new test case [1].

[1] https://lkml.org/lkml/2015/11/4/499

Signed-off-by: Zi Shen Lim <zlim.lnx@gmail.com>
Reported-by: Yang Shi <yang.shi@linaro.org>
Reported-by: Xi Wang <xi.wang@gmail.com>
CC: Alexei Starovoitov <ast@plumgrid.com>
Fixes: e54bcde3d69d ("arm64: eBPF JIT compiler")
Cc: <stable@vger.kernel.org> # 3.18+
Signed-off-by: Catalin Marinas <catalin.marinas@arm.com>
arch/arm64/net/bpf_jit_comp.c