bpf, arm64: Remove redundant switch case about BPF_DIV and BPF_MOD
authorTiezhu Yang <yangtiezhu@loongson.cn>
Tue, 18 May 2021 08:56:10 +0000 (16:56 +0800)
committerDaniel Borkmann <daniel@iogearbox.net>
Tue, 18 May 2021 14:41:49 +0000 (16:41 +0200)
After commit 96a71005bdcb ("bpf, arm64: remove obsolete exception handling
from div/mod"), there is no need to check twice about BPF_DIV and BPF_MOD,
remove the redundant switch case.

Signed-off-by: Tiezhu Yang <yangtiezhu@loongson.cn>
Signed-off-by: Daniel Borkmann <daniel@iogearbox.net>
Link: https://lore.kernel.org/bpf/1621328170-17583-1-git-send-email-yangtiezhu@loongson.cn
arch/arm64/net/bpf_jit_comp.c

index 9785026..be873a7 100644 (file)
@@ -485,17 +485,12 @@ static int build_insn(const struct bpf_insn *insn, struct jit_ctx *ctx,
                break;
        case BPF_ALU | BPF_DIV | BPF_X:
        case BPF_ALU64 | BPF_DIV | BPF_X:
+               emit(A64_UDIV(is64, dst, dst, src), ctx);
+               break;
        case BPF_ALU | BPF_MOD | BPF_X:
        case BPF_ALU64 | BPF_MOD | BPF_X:
-               switch (BPF_OP(code)) {
-               case BPF_DIV:
-                       emit(A64_UDIV(is64, dst, dst, src), ctx);
-                       break;
-               case BPF_MOD:
-                       emit(A64_UDIV(is64, tmp, dst, src), ctx);
-                       emit(A64_MSUB(is64, dst, dst, tmp, src), ctx);
-                       break;
-               }
+               emit(A64_UDIV(is64, tmp, dst, src), ctx);
+               emit(A64_MSUB(is64, dst, dst, tmp, src), ctx);
                break;
        case BPF_ALU | BPF_LSH | BPF_X:
        case BPF_ALU64 | BPF_LSH | BPF_X: