diff options
author | Aurelien Jarno <aurelien@aurel32.net> | 2015-09-05 18:46:56 +0200 |
---|---|---|
committer | Ralf Baechle <ralf@linux-mips.org> | 2015-09-22 19:05:17 +0200 |
commit | faa9724a674e5e52316bb0d173aed16bd17d536c (patch) | |
tree | e66aad22044dddbb69820e79cced9db018ac0a6d /arch/mips/net | |
parent | 88d3426942d748b90b051b7ef2d5d765f5f3054c (diff) | |
download | op-kernel-dev-faa9724a674e5e52316bb0d173aed16bd17d536c.zip op-kernel-dev-faa9724a674e5e52316bb0d173aed16bd17d536c.tar.gz |
MIPS: BPF: Avoid unreachable code on little endian
On little endian, avoid generating the big endian version of the code
by using #else in addition to #ifdef #endif. Also fix one alignment
issue wrt delay slot.
Signed-off-by: Aurelien Jarno <aurelien@aurel32.net>
Reviewed-by: Markos Chandras <markos.chandras@imgtec.com>
Cc: stable@vger.kernel.org # v4.2+
Cc: linux-mips@linux-mips.org
Patchwork: https://patchwork.linux-mips.org/patch/11097/
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
Diffstat (limited to 'arch/mips/net')
-rw-r--r-- | arch/mips/net/bpf_jit_asm.S | 8 |
1 files changed, 5 insertions, 3 deletions
diff --git a/arch/mips/net/bpf_jit_asm.S b/arch/mips/net/bpf_jit_asm.S index e927260..4f54cb1 100644 --- a/arch/mips/net/bpf_jit_asm.S +++ b/arch/mips/net/bpf_jit_asm.S @@ -151,9 +151,10 @@ NESTED(bpf_slow_path_word, (6 * SZREG), $r_sp) wsbh t0, $r_s0 jr $r_ra rotr $r_A, t0, 16 -#endif +#else jr $r_ra - move $r_A, $r_s0 + move $r_A, $r_s0 +#endif END(bpf_slow_path_word) @@ -162,9 +163,10 @@ NESTED(bpf_slow_path_half, (6 * SZREG), $r_sp) #ifdef CONFIG_CPU_LITTLE_ENDIAN jr $r_ra wsbh $r_A, $r_s0 -#endif +#else jr $r_ra move $r_A, $r_s0 +#endif END(bpf_slow_path_half) |