MEM_ALLOC
return type & MEM_ALLOC;
#define BPF_REG_TRUSTED_MODIFIERS (MEM_ALLOC | PTR_TRUSTED | NON_OWN_REF)
return base_type(type) == PTR_TO_BTF_ID && type_flag(type) & MEM_ALLOC;
if (in_rcu && (reg->type & MEM_ALLOC) && (reg->type & MEM_PERCPU)) {
reg->type &= ~MEM_ALLOC;
regs[BPF_REG_0].type = PTR_TO_BTF_ID | MEM_ALLOC | MEM_RCU;
regs[BPF_REG_0].type |= MEM_ALLOC;
case PTR_TO_BTF_ID | MEM_ALLOC:
if (reg->type == (PTR_TO_BTF_ID | MEM_ALLOC)) {
} else if (reg->type == (PTR_TO_BTF_ID | MEM_ALLOC | MEM_PERCPU)) {
reg->type != (PTR_TO_BTF_ID | MEM_ALLOC)) {
if (reg->type == (PTR_TO_BTF_ID | MEM_ALLOC) && !reg->ref_obj_id) {
reg->type != (PTR_TO_BTF_ID | MEM_ALLOC)) {
if (reg->type == (PTR_TO_BTF_ID | MEM_ALLOC) && !reg->ref_obj_id) {
if (reg->type != (PTR_TO_BTF_ID | MEM_ALLOC)) {
if (reg->type != (PTR_TO_BTF_ID | MEM_ALLOC)) {
if (reg->type != PTR_TO_MAP_VALUE && reg->type != (PTR_TO_BTF_ID | MEM_ALLOC)) {
regs[BPF_REG_0].type = PTR_TO_BTF_ID | MEM_ALLOC;
regs[BPF_REG_0].type = PTR_TO_BTF_ID | MEM_ALLOC;
case PTR_TO_BTF_ID | MEM_ALLOC | PTR_UNTRUSTED:
regs[regno].type = PTR_TO_BTF_ID | MEM_ALLOC;
perm_flags = PTR_MAYBE_NULL | MEM_ALLOC;
ret |= MEM_ALLOC;
PTR_TO_BTF_ID | MEM_ALLOC,
PTR_TO_BTF_ID | MEM_ALLOC
type &= ~MEM_ALLOC;
case PTR_TO_BTF_ID | MEM_ALLOC:
case PTR_TO_BTF_ID | MEM_PERCPU | MEM_ALLOC:
case PTR_TO_BTF_ID | MEM_ALLOC:
case PTR_TO_BTF_ID | MEM_ALLOC | NON_OWN_REF:
case PTR_TO_BTF_ID | MEM_ALLOC | NON_OWN_REF | MEM_RCU: