BPF_CLASS
if (BPF_CLASS(code) == BPF_ALU) {
if ((BPF_CLASS(insn->code) == BPF_JMP32) &&
const u8 class = BPF_CLASS(insn->code);
const bool j32 = (BPF_CLASS(insn->code) == BPF_JMP32) ? true : false;
BPF_CLASS(code) == BPF_ALU64,
const bool is64 = BPF_CLASS(code) == BPF_ALU64;
if (BPF_SRC(code) == BPF_FROM_LE && BPF_CLASS(code) != BPF_ALU64)
BPF_CLASS(code) == BPF_JMP);
if (BPF_CLASS(code) == BPF_JMP32 && imm != 0)
else if (BPF_CLASS(code) == BPF_JMP && off != 0)
if (BPF_CLASS(insn->code) != BPF_LDX)
if (BPF_CLASS(insn->code) == BPF_LDX)
const bool is64 = BPF_CLASS(code) == BPF_ALU64 ||
BPF_CLASS(code) == BPF_JMP;
if (BPF_CLASS(code) == BPF_ALU && BPF_SRC(code) == BPF_FROM_BE)
if (BPF_CLASS(code) == BPF_ALU && BPF_SRC(code) == BPF_FROM_LE)
if (BPF_CLASS(code) == BPF_JMP)
if (BPF_CLASS(code) == BPF_JMP)
const bool is32 = BPF_CLASS(insn->code) == BPF_ALU || BPF_CLASS(insn->code) == BPF_JMP32;
bool is64 = BPF_CLASS(insn->code) == BPF_ALU64 ||
BPF_CLASS(insn->code) == BPF_JMP;
BPF_CLASS(code), code, (code & BPF_ALU64) ? 1:0, BPF_SIZE(code),
if (BPF_CLASS(code) == BPF_ST) {
if (BPF_CLASS(code) == BPF_ST) {
if (BPF_CLASS(opcode) == BPF_ALU) {
bool is64 = BPF_CLASS(insn->code) == BPF_ALU64 ||
BPF_CLASS(insn->code) == BPF_JMP;
if (BPF_CLASS(code) == BPF_ST || BPF_CLASS(code) == BPF_STX)
if (BPF_CLASS(code) == BPF_ALU && !fp->aux->verifier_zext &&
if (i && (BPF_CLASS(code) == BPF_ALU64 || BPF_CLASS(code) == BPF_ALU) &&
(BPF_CLASS(prevcode) == BPF_ALU64 || BPF_CLASS(prevcode) == BPF_ALU) &&
if (BPF_CLASS(code) == BPF_ALU64 && imm != 64)
if (BPF_CLASS(code) == BPF_ALU)
if (BPF_CLASS(code) == BPF_ALU)
switch (BPF_CLASS(code)) {
if (imm < 0 && BPF_CLASS(code) == BPF_ALU64) {
if (imm < 0 && BPF_CLASS(code) == BPF_ALU64) {
if (BPF_CLASS(code) == BPF_ALU && !fp->aux->verifier_zext)
if (BPF_CLASS(code) == BPF_ALU && BPF_SRC(code) == BPF_FROM_LE)
if (BPF_CLASS(code) == BPF_ST) {
if (BPF_CLASS(code) == BPF_ST) {
if (BPF_CLASS(code) == BPF_ST) {
if (BPF_CLASS(code) == BPF_ST) {
if (BPF_CLASS(code) == BPF_JMP32)
if (BPF_CLASS(code) == BPF_JMP32)
if (BPF_CLASS(code) == BPF_JMP) {
bool is_jmp32 = BPF_CLASS(code) == BPF_JMP32;
bool is_jmp32 = BPF_CLASS(code) == BPF_JMP32;
if (BPF_CLASS(code) == BPF_JMP) {
if (BPF_CLASS(code) == BPF_ST) {
bool is64 = BPF_CLASS(insn->code) == BPF_ALU64 ||
BPF_CLASS(insn->code) == BPF_JMP;
bool is64 = BPF_CLASS(insn->code) == BPF_ALU64 ||
BPF_CLASS(insn->code) == BPF_JMP;
if (BPF_CLASS(code) == BPF_JMP)
if (BPF_CLASS(insn->code) == BPF_JMP32) {
bool is_jmp32 = BPF_CLASS(insn->code) == BPF_JMP32;
is_jmp32 = BPF_CLASS(insn->code) == BPF_JMP32;
is_jmp32 = BPF_CLASS(insn->code) == BPF_JMP32;
is_jmp32 = BPF_CLASS(insn->code) == BPF_JMP32;
if (BPF_CLASS(insn->code) == BPF_STX &&
div = (BPF_CLASS(code) == BPF_ALU64) ? UDIVX : DIV;
if (BPF_CLASS(code) != BPF_ALU64)
if (BPF_CLASS(code) == BPF_ALU &&
BPF_CLASS(insn->code) == BPF_ALU64);
BPF_CLASS(insn->code) == BPF_ALU64,
BPF_CLASS(insn->code) == BPF_ALU64,
BPF_CLASS(insn->code) == BPF_ALU64);
BPF_CLASS(insn->code) == BPF_ALU64);
emit_mov_imm32(&prog, BPF_CLASS(insn->code) == BPF_ALU64,
bool is64 = BPF_CLASS(insn->code) == BPF_ALU64;
if (BPF_CLASS(insn->code) == BPF_ALU)
BPF_CLASS(insn->code) == BPF_ALU64);
BPF_CLASS(insn->code) == BPF_ALU64);
BPF_CLASS(insn->code) == BPF_ALU64);
bool w = (BPF_CLASS(insn->code) == BPF_ALU64);
BPF_CLASS(insn->code) == BPF_ALU64);
if (BPF_CLASS(insn->code) == BPF_LDX) {
if (BPF_CLASS(insn->code) == BPF_LDX) {
BPF_CLASS(insn->code) == BPF_JMP);
BPF_CLASS(insn->code) == BPF_JMP);
BPF_CLASS(insn->code) == BPF_JMP);
BPF_CLASS(insn->code) == BPF_JMP);
BPF_CLASS(insn->code) == BPF_JMP);
if (BPF_CLASS(insn->code) == BPF_JMP) {
const bool is64 = BPF_CLASS(insn->code) == BPF_ALU64;
bool is_jmp64 = BPF_CLASS(insn->code) == BPF_JMP;
bool is_jmp64 = BPF_CLASS(insn->code) == BPF_JMP;
bool is_jmp64 = BPF_CLASS(insn->code) == BPF_JMP;
bool is_jmp64 = BPF_CLASS(insn->code) == BPF_JMP;
insn.code = BPF_CLASS(insn.code) | BPF_SUB;
insn.code = BPF_CLASS(insn.code) | BPF_ADD;
if (BPF_CLASS(insn.code) != BPF_LD)
if (BPF_CLASS(insn.code) != BPF_LD)
return BPF_CLASS(meta->insn.code);
return BPF_CLASS(code) == BPF_LD &&
return BPF_CLASS(code) == BPF_ST && BPF_MODE(code) == BPF_MEM;
return BPF_CLASS(insn->code) == BPF_JMP &&
u8 class = BPF_CLASS(insn->code);
return BPF_CLASS(insn->code) == BPF_STX &&
return BPF_CLASS(insn->code) == BPF_STX &&
if (BPF_CLASS(insn->code) != BPF_JMP &&
BPF_CLASS(insn->code) != BPF_JMP32) {
if (BPF_CLASS(insn->code) == BPF_LD &&
if (BPF_CLASS(insn->code) == BPF_JMP)
BPF_CLASS(si->code) | BPF_MEM | BPF_SIZEOF(u32),
BPF_MEM | BPF_CLASS(si->code)), \
*insn++ = BPF_RAW_INSN(BPF_CLASS(si->code) | BPF_MEM |
u8 class = BPF_CLASS(insn->code);
u8 class = BPF_CLASS(insn->code);
if ((BPF_CLASS(code) != BPF_JMP &&
BPF_CLASS(code) != BPF_JMP32) ||
u8 class = BPF_CLASS(insn->code);
if (BPF_CLASS(insn->code) == BPF_LDX &&
if ((BPF_CLASS(insn->code) == BPF_STX ||
BPF_CLASS(insn->code) == BPF_ST) &&
if (BPF_CLASS(insn->code) == BPF_STX &&
bool is64 = BPF_CLASS(insn->code) == BPF_ALU64;
bool is64 = BPF_CLASS(insn->code) == BPF_ALU64;
if (BPF_CLASS(insn->code) == BPF_LDX &&
if (BPF_CLASS(insn->code) == BPF_LD &&
return BPF_CLASS(insn->code) == BPF_STX &&
switch (BPF_CLASS(insn->code)) {
if ((BPF_CLASS(code) != BPF_JMP && BPF_CLASS(code) != BPF_JMP32) ||
if (BPF_CLASS(code) == BPF_JMP32)
if (BPF_CLASS(code) != BPF_JMP)
class = BPF_CLASS(code);
insn->code = BPF_CLASS(insn->code) | BPF_PROBE_MEM32SX | BPF_SIZE(insn->code);
insn->code = BPF_CLASS(insn->code) | BPF_PROBE_MEM32 | BPF_SIZE(insn->code);
u8 class = BPF_CLASS(insn->code);
u8 class = BPF_CLASS(insn->code);
u8 cls = BPF_CLASS(insns[idx].code);
u8 class = BPF_CLASS(insn->code);
opcode_info = &opcode_info_tbl[BPF_CLASS(insn->code) | BPF_OP(insn->code)];
if (BPF_CLASS(code) == BPF_LDX && BPF_MODE(code) == BPF_PROBE_MEM) {
if ((BPF_CLASS(code) == BPF_LDX || BPF_CLASS(code) == BPF_STX ||
BPF_CLASS(code) == BPF_ST) && BPF_MODE(code) == BPF_PROBE_MEM32) {
insns[i].code = BPF_CLASS(code) | BPF_SIZE(code) | BPF_MEM;
if (BPF_CLASS(insn->code) != BPF_ALU64) {
bool alu64 = BPF_CLASS(insn->code) == BPF_ALU64;
u64 insn_bitness = (BPF_CLASS(insn->code) == BPF_ALU64) ? 64 : 32;
bool alu32 = (BPF_CLASS(insn->code) != BPF_ALU64);
bool alu32 = (BPF_CLASS(insn->code) != BPF_ALU64);
if (BPF_CLASS(insn->code) == BPF_ALU64)
if (BPF_CLASS(insn->code) == BPF_ALU64) {
if (BPF_CLASS(insn->code) == BPF_ALU64) {
int size = BPF_CLASS(insn->code) == BPF_ALU64 ? 64 : 32;
if (BPF_CLASS(insn->code) == BPF_JMP32)
is_jmp32 = BPF_CLASS(insn->code) == BPF_JMP32;
u8 class = BPF_CLASS(insn->code);
if (verifier_bug_if((BPF_CLASS(insn->code) == BPF_JMP ||
BPF_CLASS(insn->code) == BPF_JMP32) &&
u8 class = BPF_CLASS(insn->code);
u8 class = BPF_CLASS(insn->code);
switch (BPF_CLASS(insn->code)) {
verbose(env, "unknown insn class %d\n", BPF_CLASS(insn->code));
if (BPF_CLASS(code) == BPF_LD &&
if (BPF_CLASS(code) != BPF_JMP && BPF_CLASS(code) != BPF_JMP32)
class = BPF_CLASS(code);
return BPF_CLASS(insn->code) == BPF_ST && BPF_MODE(insn->code) == BPF_MEM;
int class = BPF_CLASS(insn->code);
*insn++ = BPF_RAW_INSN(SIZE | BPF_MEM | BPF_CLASS(si->code), \
BPF_MEM | BPF_CLASS(si->code), \
if (BPF_CLASS(fp->code) == BPF_LD &&
if (BPF_CLASS(fp->code) == BPF_LD &&
*insn = BPF_STX_MEM(BPF_W, BPF_REG_FP, BPF_CLASS(fp->code) ==
*insn = BPF_LDX_MEM(BPF_W, BPF_CLASS(fp->code) == BPF_LD ?
*insn = BPF_MOV32_IMM(BPF_CLASS(fp->code) == BPF_LD ?
*insn = BPF_LDX_MEM(BPF_W, BPF_CLASS(fp->code) == BPF_LD ?
*insn++ = BPF_RAW_INSN(BPF_CLASS(si->code) | BPF_DW | BPF_MEM,
BPF_RAW_INSN(BPF_CLASS((si)->code) | (size) | BPF_MEM, \
if (BPF_CLASS(si->code) == BPF_ST && si->imm >= NO_QUEUE_MAPPING) {
if (BPF_CLASS(si->code) == BPF_STX)
if ((BPF_CLASS(f.code) == BPF_JMP && BPF_OP(f.code) != BPF_JA))
if (BPF_CLASS(f[i].code) == BPF_LD &&
return BPF_CLASS(code) == BPF_JMP || BPF_CLASS(code) == BPF_JMP32;
if (BPF_CLASS(insn->code) == BPF_JMP &&
return BPF_CLASS(insn->code) == BPF_JMP &&
class = BPF_CLASS(insn->code);
insn->code = BPF_MODE(insn->code) | insn_bpf_sz | BPF_CLASS(insn->code);
u8 class = BPF_CLASS(insn->code);