BPF_JLE
case BPF_JMP32 | BPF_JLE | BPF_X:
case BPF_JMP32 | BPF_JLE | BPF_K:
case BPF_JLE:
case BPF_JMP | BPF_JLE | BPF_X:
case BPF_JMP | BPF_JLE | BPF_K:
case BPF_JLE:
case BPF_JMP | BPF_JLE | BPF_X:
case BPF_JMP32 | BPF_JLE | BPF_X:
case BPF_JMP | BPF_JLE | BPF_K:
case BPF_JMP32 | BPF_JLE | BPF_K:
case BPF_JLE:
case BPF_JMP | BPF_JLE | BPF_X:
case BPF_JMP32 | BPF_JLE | BPF_X:
case BPF_JLE:
case BPF_JMP | BPF_JLE | BPF_K:
case BPF_JMP32 | BPF_JLE | BPF_K:
case BPF_JMP | BPF_JLE | BPF_X:
case BPF_JMP32 | BPF_JLE | BPF_X:
case BPF_JMP | BPF_JLE | BPF_K:
case BPF_JMP32 | BPF_JLE | BPF_K:
return BPF_JLE;
case BPF_JLE:
case BPF_JLE:
case BPF_JLE:
case BPF_JGT: return BPF_JLE;
case BPF_JLE: return BPF_JGT;
case BPF_JLE:
case BPF_JLE:
case BPF_JLE:
case BPF_JLE:
case BPF_JLE:
case BPF_JLE:
case BPF_JMP32 | BPF_JLE | BPF_X:
case BPF_JMP32 | BPF_JLE | BPF_K:
case BPF_JMP | BPF_JLE | BPF_X:
case BPF_JMP | BPF_JLE | BPF_K:
case BPF_JMP | BPF_JLE | BPF_K:
case BPF_JMP32 | BPF_JLE | BPF_X:
case BPF_JMP32 | BPF_JLE | BPF_K:
case BPF_JMP | BPF_JLE | BPF_X:
return BPF_JLE;
case BPF_JLE:
case BPF_JMP | BPF_JLE | BPF_X:
case BPF_JMP | BPF_JLE | BPF_K:
case BPF_JMP32 | BPF_JLE | BPF_X:
case BPF_JMP32 | BPF_JLE | BPF_K:
case BPF_JLE:
case BPF_JLE:
case BPF_JLE:
case BPF_JMP | BPF_JLE | BPF_X:
case BPF_JMP32 | BPF_JLE | BPF_X:
case BPF_JMP | BPF_JLE | BPF_K:
case BPF_JMP32 | BPF_JLE | BPF_K:
case BPF_JMP | BPF_JLE | BPF_K:
case BPF_JMP | BPF_JLE | BPF_X:
case BPF_JMP32 | BPF_JLE | BPF_K:
case BPF_JMP32 | BPF_JLE | BPF_X:
case BPF_JMP | BPF_JLE | BPF_X:
case BPF_JMP32 | BPF_JLE | BPF_X:
case BPF_JMP | BPF_JLE | BPF_K:
case BPF_JMP32 | BPF_JLE | BPF_K:
case BPF_JMP | BPF_JLE | BPF_K:
case BPF_JMP | BPF_JLE | BPF_X:
case BPF_JMP32 | BPF_JLE | BPF_K:
case BPF_JMP32 | BPF_JLE | BPF_X:
case BPF_JMP | BPF_JLE | BPF_X:
case BPF_JMP32 | BPF_JLE | BPF_X:
case BPF_JMP | BPF_JLE | BPF_K:
case BPF_JMP32 | BPF_JLE | BPF_K:
return BPF_JLE;
case BPF_JLE:
case BPF_JMP | BPF_JLE | BPF_X:
case BPF_JMP | BPF_JLE | BPF_K:
case BPF_JMP32 | BPF_JLE | BPF_X:
case BPF_JMP32 | BPF_JLE | BPF_K:
case BPF_JLE:
case BPF_JLE:
case BPF_JMP | BPF_JLE | BPF_X:
case BPF_JMP32 | BPF_JLE | BPF_X:
case BPF_JMP | BPF_JLE | BPF_K:
case BPF_JMP32 | BPF_JLE | BPF_K:
case BPF_JLE:
case BPF_JMP | BPF_JLE | BPF_K: /* (dst_reg <= imm) */
case BPF_JMP32 | BPF_JLE | BPF_K: /* ((u32) dst_reg <= (u32) imm) */
case BPF_JMP | BPF_JLE | BPF_X: /* (dst <= src) */
case BPF_JMP32 | BPF_JLE | BPF_X: /* ((u32) dst <= (u32) src) */
case BPF_JMP | BPF_JLE | BPF_X:
case BPF_JMP | BPF_JLE | BPF_K:
case BPF_JLE:
case BPF_JLE:
case BPF_JMP | BPF_JLE | BPF_X:
case BPF_JMP32 | BPF_JLE | BPF_X:
case BPF_JMP | BPF_JLE | BPF_K:
case BPF_JMP32 | BPF_JLE | BPF_K:
case BPF_JLE:
case BPF_JLE:
case BPF_JMP | BPF_JLE | BPF_X:
case BPF_JMP32 | BPF_JLE | BPF_X:
case BPF_JMP | BPF_JLE | BPF_K:
case BPF_JMP32 | BPF_JLE | BPF_K:
[BPF_JLE >> 4] = { BR_BHS, true },
[BPF_JMP | BPF_JLE | BPF_K] = cmp_imm,
[BPF_JMP | BPF_JLE | BPF_X] = cmp_reg,
[BPF_JMP32 | BPF_JLE | BPF_K] = cmp_imm,
[BPF_JMP32 | BPF_JLE | BPF_X] = cmp_reg,
case BPF_JMP | BPF_JLE | BPF_K:
case BPF_JMP32 | BPF_JLE | BPF_K:
[BPF_JLE >> 4] = "<=",
_J(BPF_JLE, {.can_jump = true, .can_fallthrough = true}),
case BPF_JLE:
case BPF_JLE:
[BPF_JGE >> 4] = BPF_JLE,
[BPF_JLE >> 4] = BPF_JGE,
case BPF_JLE:
case BPF_JGT: return BPF_JLE;
case BPF_JLE: return BPF_JGT;
case BPF_JLE:
case BPF_JLE:
*patch++ = BPF_JMP_IMM(BPF_JLE, BPF_REG_AX, uaddress_limit >> 32, 2);
insn_buf[cnt++] = BPF_JMP_IMM(BPF_JLE, BPF_REG_1, BPF_MAX_LOOPS, 2);
BPF_JMP_IMM(BPF_JLE, R1, 3, 1),
BPF_JMP_IMM(BPF_JLE, R1, 3, 1),
BPF_JMP_REG(BPF_JLE, R2, R1, 1),
BPF_JMP_REG(BPF_JLE, R1, R2, 1),
BPF_JMP_REG(BPF_JLE, R2, R1, 2),
BPF_JMP_REG(BPF_JLE, R2, R1, 0),
BPF_JMP_REG(BPF_JLE, R2, R1, 4),
BPF_JMP_IMM(BPF_JLE, R1, U32_MAX, 1),
BPF_JMP_REG(BPF_JLE, R1, R1, 1),
case BPF_JLE:
return __bpf_fill_jmp_imm(self, BPF_JLE);
return __bpf_fill_jmp32_imm(self, BPF_JLE);
return __bpf_fill_jmp_reg(self, BPF_JLE);
return __bpf_fill_jmp32_reg(self, BPF_JLE);
struct bpf_insn jmp = BPF_JMP_IMM(BPF_JLE, R1, 1234, 0);
struct bpf_insn jmp = BPF_JMP_REG(BPF_JLE, R1, R2, 0);
struct bpf_insn jmp = BPF_JMP32_IMM(BPF_JLE, R1, 1234, 0);
struct bpf_insn jmp = BPF_JMP32_REG(BPF_JLE, R1, R2, 0);
BPF_JMP32_IMM(BPF_JLE, R0, 122, 1),
BPF_JMP32_IMM(BPF_JLE, R0, 123, 1),
BPF_JMP32_IMM(BPF_JLE, R0, 0xfffffffd, 1),
BPF_JMP32_IMM(BPF_JLE, R0, 0xfffffffe, 1),
BPF_JMP32_REG(BPF_JLE, R0, R1, 2),
BPF_JMP32_REG(BPF_JLE, R0, R1, 1),
insn->code = BPF_JMP | BPF_JLE | bpf_src;
[BPF_JLE >> 4] = "<=",
case OP_LE: op_code = spec.compare_signed ? BPF_JSLE : BPF_JLE; break;
BPF_JMP_REG(BPF_JLE, BPF_REG_4, BPF_REG_3, 1), \
BPF_JMP_IMM(BPF_JLE, BPF_REG_0, 16, 2),
BPF_JMP_IMM(BPF_JLE, BPF_REG_2, 4, 3),
BPF_JMP_REG(BPF_JLE, BPF_REG_0, BPF_REG_3, 1),
BPF_JMP_REG(BPF_JLE, BPF_REG_0, BPF_REG_3, 1),
BPF_JMP32_IMM(BPF_JLE, BPF_REG_7, INT_MAX, 1),
BPF_JMP32_REG(BPF_JLE, BPF_REG_7, BPF_REG_8, 1),
BPF_JMP32_REG(BPF_JLE, BPF_REG_7, BPF_REG_8, 1),
BPF_JMP32_IMM(BPF_JLE, BPF_REG_7, 0x7ffffff0, 1),
BPF_JMP32_REG(BPF_JLE, BPF_REG_2, BPF_REG_0, 5),
BPF_JMP_IMM(BPF_JLE, BPF_REG_3, 0, 1),
BPF_JMP_IMM(BPF_JLE, BPF_REG_2, 4, 1),
BPF_JMP_IMM(BPF_JLE, BPF_REG_2, 4, 1),
BPF_JMP_IMM(BPF_JLE, BPF_REG_2, 4, 1),
BPF_JMP_REG(BPF_JLE, BPF_REG_6, BPF_REG_9, 2),
BPF_JMP_REG(BPF_JLE, BPF_REG_6, BPF_REG_9, 1),