MIPS: BPF: Avoid unreachable code on little endian
authorAurelien Jarno <aurelien@aurel32.net>
Sat, 5 Sep 2015 16:46:56 +0000 (18:46 +0200)
committerRalf Baechle <ralf@linux-mips.org>
Tue, 22 Sep 2015 17:05:17 +0000 (19:05 +0200)
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>
arch/mips/net/bpf_jit_asm.S

index e92726099be0e40d4a7c1e0903eac239c1ad2497..4f54cb18f1049b07e1dbdf8050a72c0004769de7 100644 (file)
@@ -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)