arm64: bpf: fix div-by-zero case
authorZi Shen Lim <zlim.lnx@gmail.com>
Wed, 4 Nov 2015 06:56:44 +0000 (22:56 -0800)
committerCatalin Marinas <catalin.marinas@arm.com>
Fri, 6 Nov 2015 16:58:36 +0000 (16:58 +0000)
commit251599e1d6906621f49218d7b474ddd159e58f3b
tree084a03813a419e5abcddf38524ba101255980f5f
parent4d17da4ca7cca51ccacc07ece684bb6ea6bfaa7d
arm64: bpf: fix div-by-zero case

In the case of division by zero in a BPF program:
A = A / X;  (X == 0)
the expected behavior is to terminate with return value 0.

This is confirmed by the test case introduced in commit 86bf1721b226
("test_bpf: add tests checking that JIT/interpreter sets A and X to 0.").

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