bpf, arm: remove obsolete exception handling from div/mod
authorDaniel Borkmann <daniel@iogearbox.net>
Fri, 26 Jan 2018 22:33:47 +0000 (23:33 +0100)
committerAlexei Starovoitov <ast@kernel.org>
Sat, 27 Jan 2018 00:42:07 +0000 (16:42 -0800)
Since we've changed div/mod exception handling for src_reg in
eBPF verifier itself, remove the leftovers from arm32 JIT.

Signed-off-by: Daniel Borkmann <daniel@iogearbox.net>
Cc: Shubham Bansal <illusionist.neo@gmail.com>
Signed-off-by: Alexei Starovoitov <ast@kernel.org>
arch/arm/net/bpf_jit_32.c

index 41e2feb..b5030e1 100644 (file)
@@ -363,15 +363,7 @@ static inline int epilogue_offset(const struct jit_ctx *ctx)
 static inline void emit_udivmod(u8 rd, u8 rm, u8 rn, struct jit_ctx *ctx, u8 op)
 {
        const u8 *tmp = bpf2a32[TMP_REG_1];
-       s32 jmp_offset;
 
-       /* checks if divisor is zero or not. If it is, then
-        * exit directly.
-        */
-       emit(ARM_CMP_I(rn, 0), ctx);
-       _emit(ARM_COND_EQ, ARM_MOV_I(ARM_R0, 0), ctx);
-       jmp_offset = epilogue_offset(ctx);
-       _emit(ARM_COND_EQ, ARM_B(jmp_offset), ctx);
 #if __LINUX_ARM_ARCH__ == 7
        if (elf_hwcap & HWCAP_IDIVA) {
                if (op == BPF_DIV)