ARM: net fix emit_udiv() for BPF_ALU | BPF_DIV | BPF_K intruction.

commit 19fc99d0c6 upstream.

In that case, emit_udiv() will be called with rn == ARM_R0 (r_scratch)
and loading rm first into ARM_R0 will result in jit_udiv() function
being called the same dividend and divisor. Fix that by loading rn
first into ARM_R1 and then rm into ARM_R0.

Signed-off-by: Nicolas Schichan <nschichan@freebox.fr>
Fixes: aee636c480 (bpf: do not use reciprocal divide)
Acked-by: Mircea Gherzan <mgherzan@gmail.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Signed-off-by: Luis Henriques <luis.henriques@canonical.com>
This commit is contained in:
Nicolas Schichan 2015-05-06 18:31:56 +02:00 • committed by Luis Henriques
commit 7e2fcba09c