Message ID | 20180126223348.11250-11-daniel@iogearbox.net |
---|---|
State | Accepted, archived |
Delegated to: | BPF Maintainers |
Headers | show |
Series | BPF improvements and fixes | expand |
On 01/26/2018 02:33 PM, Daniel Borkmann wrote: > Since we've changed div/mod exception handling for src_reg in > eBPF verifier itself, remove the leftovers from mips64 JIT. > > Signed-off-by: Daniel Borkmann <daniel@iogearbox.net> > Cc: David Daney <david.daney@cavium.com> I didn't test it, but this looks correct, so ... Reviewed-by: David Daney <david.daney@cavium.com> > --- > arch/mips/net/ebpf_jit.c | 10 ---------- > 1 file changed, 10 deletions(-) > > diff --git a/arch/mips/net/ebpf_jit.c b/arch/mips/net/ebpf_jit.c > index 4e34703..296f1410 100644 > --- a/arch/mips/net/ebpf_jit.c > +++ b/arch/mips/net/ebpf_jit.c > @@ -860,11 +860,6 @@ static int build_one_insn(const struct bpf_insn *insn, struct jit_ctx *ctx, > break; > case BPF_DIV: > case BPF_MOD: > - b_off = b_imm(exit_idx, ctx); > - if (is_bad_offset(b_off)) > - return -E2BIG; > - emit_instr(ctx, beq, src, MIPS_R_ZERO, b_off); > - emit_instr(ctx, movz, MIPS_R_V0, MIPS_R_ZERO, src); > emit_instr(ctx, ddivu, dst, src); > if (bpf_op == BPF_DIV) > emit_instr(ctx, mflo, dst); > @@ -943,11 +938,6 @@ static int build_one_insn(const struct bpf_insn *insn, struct jit_ctx *ctx, > break; > case BPF_DIV: > case BPF_MOD: > - b_off = b_imm(exit_idx, ctx); > - if (is_bad_offset(b_off)) > - return -E2BIG; > - emit_instr(ctx, beq, src, MIPS_R_ZERO, b_off); > - emit_instr(ctx, movz, MIPS_R_V0, MIPS_R_ZERO, src); > emit_instr(ctx, divu, dst, src); > if (bpf_op == BPF_DIV) > emit_instr(ctx, mflo, dst); >
diff --git a/arch/mips/net/ebpf_jit.c b/arch/mips/net/ebpf_jit.c index 4e34703..296f1410 100644 --- a/arch/mips/net/ebpf_jit.c +++ b/arch/mips/net/ebpf_jit.c @@ -860,11 +860,6 @@ static int build_one_insn(const struct bpf_insn *insn, struct jit_ctx *ctx, break; case BPF_DIV: case BPF_MOD: - b_off = b_imm(exit_idx, ctx); - if (is_bad_offset(b_off)) - return -E2BIG; - emit_instr(ctx, beq, src, MIPS_R_ZERO, b_off); - emit_instr(ctx, movz, MIPS_R_V0, MIPS_R_ZERO, src); emit_instr(ctx, ddivu, dst, src); if (bpf_op == BPF_DIV) emit_instr(ctx, mflo, dst); @@ -943,11 +938,6 @@ static int build_one_insn(const struct bpf_insn *insn, struct jit_ctx *ctx, break; case BPF_DIV: case BPF_MOD: - b_off = b_imm(exit_idx, ctx); - if (is_bad_offset(b_off)) - return -E2BIG; - emit_instr(ctx, beq, src, MIPS_R_ZERO, b_off); - emit_instr(ctx, movz, MIPS_R_V0, MIPS_R_ZERO, src); emit_instr(ctx, divu, dst, src); if (bpf_op == BPF_DIV) emit_instr(ctx, mflo, dst);
Since we've changed div/mod exception handling for src_reg in eBPF verifier itself, remove the leftovers from mips64 JIT. Signed-off-by: Daniel Borkmann <daniel@iogearbox.net> Cc: David Daney <david.daney@cavium.com> --- arch/mips/net/ebpf_jit.c | 10 ---------- 1 file changed, 10 deletions(-)