Skip to content
This repository has been archived by the owner on Jan 10, 2025. It is now read-only.

Commit

Permalink
Enables the new opcodes conditionally in the verifier.
Browse files Browse the repository at this point in the history
  • Loading branch information
Lichtso committed Oct 3, 2024
1 parent 92d1d5a commit 04b21e3
Showing 1 changed file with 12 additions and 0 deletions.
12 changes: 12 additions & 0 deletions src/verifier.rs
Original file line number Diff line number Diff line change
Expand Up @@ -274,8 +274,10 @@ impl Verifier for RequisiteVerifier {
ebpf::SUB32_REG => {},
ebpf::MUL32_IMM if !sbpf_version.enable_pqr() => {},
ebpf::MUL32_REG if !sbpf_version.enable_pqr() => {},
ebpf::LD_1B_REG if sbpf_version.move_memory_instruction_classes() => {},
ebpf::DIV32_IMM if !sbpf_version.enable_pqr() => { check_imm_nonzero(&insn, insn_ptr)?; },
ebpf::DIV32_REG if !sbpf_version.enable_pqr() => {},
ebpf::LD_2B_REG if sbpf_version.move_memory_instruction_classes() => {},
ebpf::OR32_IMM => {},
ebpf::OR32_REG => {},
ebpf::AND32_IMM => {},
Expand All @@ -285,8 +287,10 @@ impl Verifier for RequisiteVerifier {
ebpf::RSH32_IMM => { check_imm_shift(&insn, insn_ptr, 32)?; },
ebpf::RSH32_REG => {},
ebpf::NEG32 if sbpf_version.enable_neg() => {},
ebpf::LD_4B_REG if sbpf_version.move_memory_instruction_classes() => {},
ebpf::MOD32_IMM if !sbpf_version.enable_pqr() => { check_imm_nonzero(&insn, insn_ptr)?; },
ebpf::MOD32_REG if !sbpf_version.enable_pqr() => {},
ebpf::LD_8B_REG if sbpf_version.move_memory_instruction_classes() => {},
ebpf::XOR32_IMM => {},
ebpf::XOR32_REG => {},
ebpf::MOV32_IMM => {},
Expand All @@ -302,9 +306,13 @@ impl Verifier for RequisiteVerifier {
ebpf::SUB64_IMM => {},
ebpf::SUB64_REG => {},
ebpf::MUL64_IMM if !sbpf_version.enable_pqr() => {},
ebpf::ST_1B_IMM if sbpf_version.move_memory_instruction_classes() => store = true,
ebpf::MUL64_REG if !sbpf_version.enable_pqr() => {},
ebpf::ST_1B_REG if sbpf_version.move_memory_instruction_classes() => store = true,
ebpf::DIV64_IMM if !sbpf_version.enable_pqr() => { check_imm_nonzero(&insn, insn_ptr)?; },
ebpf::ST_2B_IMM if sbpf_version.move_memory_instruction_classes() => store = true,
ebpf::DIV64_REG if !sbpf_version.enable_pqr() => {},
ebpf::ST_2B_REG if sbpf_version.move_memory_instruction_classes() => store = true,
ebpf::OR64_IMM => {},
ebpf::OR64_REG => {},
ebpf::AND64_IMM => {},
Expand All @@ -313,9 +321,13 @@ impl Verifier for RequisiteVerifier {
ebpf::LSH64_REG => {},
ebpf::RSH64_IMM => { check_imm_shift(&insn, insn_ptr, 64)?; },
ebpf::RSH64_REG => {},
ebpf::ST_4B_IMM if sbpf_version.move_memory_instruction_classes() => store = true,
ebpf::NEG64 if sbpf_version.enable_neg() => {},
ebpf::ST_4B_REG if sbpf_version.move_memory_instruction_classes() => store = true,
ebpf::MOD64_IMM if !sbpf_version.enable_pqr() => { check_imm_nonzero(&insn, insn_ptr)?; },
ebpf::ST_8B_IMM if sbpf_version.move_memory_instruction_classes() => store = true,
ebpf::MOD64_REG if !sbpf_version.enable_pqr() => {},
ebpf::ST_8B_REG if sbpf_version.move_memory_instruction_classes() => store = true,
ebpf::XOR64_IMM => {},
ebpf::XOR64_REG => {},
ebpf::MOV64_IMM => {},
Expand Down

0 comments on commit 04b21e3

Please sign in to comment.