SCALAR_VALUE
BUILD_BUG_ON(NFP_BPF_SCALAR_VALUE != SCALAR_VALUE ||
if (reg1->type != SCALAR_VALUE /* NULL ptr */ &&
if (!(reg0->type == SCALAR_VALUE && tnum_is_const(reg0->var_off))) {
if (sreg->type != SCALAR_VALUE) {
if (reg2->type != SCALAR_VALUE || !tnum_is_const(reg2->var_off))
return bpf_is_spilled_reg(stack) && stack->spilled_ptr.type == SCALAR_VALUE;
return reg->type == SCALAR_VALUE && tnum_equals_const(reg->var_off, 0);
return SCALAR_VALUE;
if (reg->type != SCALAR_VALUE || reg->precise)
if (reg->type != SCALAR_VALUE || reg->precise)
if (reg->type != SCALAR_VALUE) {
if (reg->type == SCALAR_VALUE) {
if (reg->type != SCALAR_VALUE) {
if (reg->type != SCALAR_VALUE || reg->precise) {
info->reg_type = SCALAR_VALUE;
return SCALAR_VALUE;
return SCALAR_VALUE;
[SCALAR_VALUE] = "scalar",
if (t == SCALAR_VALUE && reg->precise)
if (t == SCALAR_VALUE && tnum_is_const(reg->var_off)) {
if (t != SCALAR_VALUE && reg->delta) {
if (state_reg->type != SCALAR_VALUE ||
if (state_reg->type != SCALAR_VALUE ||
if (reg->type != SCALAR_VALUE)
if (reg->type != SCALAR_VALUE)
if (spill->type != SCALAR_VALUE)
case SCALAR_VALUE:
stack->spilled_ptr.type == SCALAR_VALUE;
if (r1->type != SCALAR_VALUE) {
r0->type = SCALAR_VALUE;
if (!btf_type_is_scalar(t) || reg->type != SCALAR_VALUE)
if (!btf_type_is_scalar(t) || reg->type != SCALAR_VALUE)
if (reg->type != SCALAR_VALUE) {
if (dst_reg->type != SCALAR_VALUE)
if (src_reg->type != SCALAR_VALUE) {
if (dst_reg->type != SCALAR_VALUE) {
off_reg.type = SCALAR_VALUE;
if (regs[insn->dst_reg].type == SCALAR_VALUE) {
} else if (src_reg->type == SCALAR_VALUE) {
} else if (src_reg->type == SCALAR_VALUE) {
regs[insn->dst_reg].type = SCALAR_VALUE;
reg->type = SCALAR_VALUE;
if (reg->type != SCALAR_VALUE || (reg->id & ~BPF_ADD_CONST) != id)
if (reg->type != SCALAR_VALUE || reg == known_reg)
fake_reg.type = SCALAR_VALUE;
src_reg->type = SCALAR_VALUE;
if (BPF_SRC(insn->code) == BPF_X && src_reg->type == SCALAR_VALUE && src_reg->id)
if (dst_reg->type == SCALAR_VALUE && dst_reg->id)
src_reg->type == SCALAR_VALUE && src_reg->id &&
if (dst_reg->type == SCALAR_VALUE && dst_reg->id &&
dst_reg->type = SCALAR_VALUE;
if (reg->type != SCALAR_VALUE) {
if (reg->type != SCALAR_VALUE) {
if (reg->type != SCALAR_VALUE)
if (reg->type != SCALAR_VALUE)
if (regs[r].type != SCALAR_VALUE)
reg->type = SCALAR_VALUE;
reg->type = SCALAR_VALUE;
reg->type = SCALAR_VALUE;
case SCALAR_VALUE:
if (t == SRC_OP && reg->type != SCALAR_VALUE)
return reg->type == SCALAR_VALUE &&
return reg->type != SCALAR_VALUE;
if (src_reg->type != SCALAR_VALUE)
if (reg && !(off % BPF_REG_SIZE) && reg->type == SCALAR_VALUE && env->bpf_capable) {
tmp_reg->type = SCALAR_VALUE;
if (reg->type != SCALAR_VALUE) {
arg->type = SCALAR_VALUE;
fake_reg.type = SCALAR_VALUE;
regs[value_regno].type = SCALAR_VALUE;
.reg_type = SCALAR_VALUE,
if (info.reg_type == SCALAR_VALUE) {
regs[value_regno].type == SCALAR_VALUE) {
(state->stack[spi].spilled_ptr.type == SCALAR_VALUE ||
if (rold->type != SCALAR_VALUE)
static const struct bpf_reg_types scalar_types = { .types = { SCALAR_VALUE } };
case SCALAR_VALUE:
if (reg->type != SCALAR_VALUE) {
if (reg->type != PTR_TO_ARENA && reg->type != SCALAR_VALUE) {
callee->regs[BPF_REG_1].type = SCALAR_VALUE;
if (r0->type != SCALAR_VALUE) {
return SCALAR_VALUE;
return SCALAR_VALUE;