PTR_UNTRUSTED
if (BTF_INFO_KIND(t->info) == BTF_KIND_UNION && vlen != 1 && !(*flag & PTR_UNTRUSTED))
*flag |= PTR_UNTRUSTED;
if (off + size > mtrue_end && !(*flag & PTR_UNTRUSTED)) {
*flag = MEM_RDONLY | PTR_UNTRUSTED;
sub->args[i].arg_type = ARG_PTR_TO_MEM | MEM_RDONLY | PTR_UNTRUSTED;
sub->args[i].arg_type = ARG_PTR_TO_BTF_ID | PTR_UNTRUSTED;
case PTR_TO_BTF_ID | PTR_UNTRUSTED:
case PTR_TO_BTF_ID | MEM_ALLOC | PTR_UNTRUSTED:
case PTR_TO_MEM | MEM_RDONLY | PTR_UNTRUSTED:
type & PTR_UNTRUSTED ? "untrusted_" : "",
if (st->type & PTR_UNTRUSTED)
regs[BPF_REG_0].type = PTR_TO_BTF_ID | PTR_UNTRUSTED;
regs[BPF_REG_0].type = PTR_TO_MEM | MEM_RDONLY | PTR_UNTRUSTED;
type |= PTR_UNTRUSTED;
if (base_type(ptr_reg->type) == PTR_TO_MEM && (ptr_reg->type & PTR_UNTRUSTED))
if ((type & PTR_UNTRUSTED) || (*prev_type & PTR_UNTRUSTED))
merged_type |= PTR_UNTRUSTED;
(PTR_MAYBE_NULL | PTR_UNTRUSTED | MEM_RDONLY);
if (arg->arg_type & PTR_UNTRUSTED)
reg->type |= PTR_UNTRUSTED;
(type == PTR_TO_MEM && !(reg->type & PTR_UNTRUSTED)) ||
perm_flags |= PTR_UNTRUSTED;
verbose(env, " or %s%s\n", reg_type_str(env, PTR_TO_BTF_ID | PTR_UNTRUSTED),
ret |= PTR_UNTRUSTED;
} else if (type_flag(reg->type) & PTR_UNTRUSTED) {
flag = PTR_UNTRUSTED;
flag & PTR_UNTRUSTED)
flag &= ~PTR_UNTRUSTED;
flag = PTR_UNTRUSTED;
bool rdonly_untrusted = rdonly_mem && (reg->type & PTR_UNTRUSTED);
reg->type |= PTR_UNTRUSTED;
} else if (arg->arg_type & PTR_UNTRUSTED) {
st->type |= PTR_UNTRUSTED;