MEM_RDONLY
*flag = MEM_RDONLY | PTR_UNTRUSTED;
sub->args[i].arg_type = ARG_PTR_TO_MEM | MEM_RDONLY | PTR_UNTRUSTED;
.arg1_type = ARG_PTR_TO_MEM | MEM_RDONLY,
.arg2_type = ARG_PTR_TO_MEM | MEM_RDONLY,
case PTR_TO_MEM | MEM_RDONLY | PTR_UNTRUSTED:
.arg4_type = ARG_PTR_TO_MEM | PTR_MAYBE_NULL | MEM_RDONLY,
.arg3_type = ARG_PTR_TO_MEM | MEM_RDONLY,
.arg1_type = ARG_PTR_TO_MEM | MEM_RDONLY,
.arg1_type = ARG_PTR_TO_MEM | MEM_RDONLY,
.arg1_type = ARG_PTR_TO_MEM | MEM_RDONLY,
.arg4_type = ARG_PTR_TO_MEM | MEM_RDONLY,
.ret_type = RET_PTR_TO_MEM_OR_BTF_ID | PTR_MAYBE_NULL | MEM_RDONLY,
.ret_type = RET_PTR_TO_MEM_OR_BTF_ID | MEM_RDONLY,
type & MEM_RDONLY ? "rdonly_" : "",
PTR_TO_BUF | PTR_MAYBE_NULL | MEM_RDONLY },
.arg2_type = ARG_PTR_TO_MEM | MEM_RDONLY,
.arg2_type = ARG_PTR_TO_MEM | MEM_RDONLY,
.arg1_type = ARG_PTR_TO_MEM | MEM_RDONLY,
ret_flag &= ~MEM_RDONLY;
regs[BPF_REG_0].type = PTR_TO_MEM | MEM_RDONLY | PTR_UNTRUSTED;
regs[BPF_REG_0].type |= MEM_RDONLY;
regs[BPF_REG_0].type |= MEM_RDONLY;
if ((type & MEM_RDONLY) || (*prev_type & MEM_RDONLY))
merged_type |= MEM_RDONLY;
aux->btf_var.reg_type = PTR_TO_MEM | MEM_RDONLY;
aux->btf_var.reg_type = PTR_TO_MEM | MEM_RDONLY;
(PTR_MAYBE_NULL | PTR_UNTRUSTED | MEM_RDONLY);
return type & MEM_RDONLY;
if (arg_type & MEM_RDONLY)
type &= ~MEM_RDONLY;
if (!(arg_type & MEM_RDONLY)) {
case PTR_TO_MEM | MEM_RDONLY:
case PTR_TO_BUF | MEM_RDONLY:
if (!(arg_type & (MEM_WRITE | MEM_RDONLY)))
.arg3_type = ARG_PTR_TO_MEM | MEM_RDONLY,
.arg4_type = ARG_PTR_TO_MEM | MEM_RDONLY,
.arg4_type = ARG_PTR_TO_MEM | MEM_RDONLY,
.arg2_type = ARG_PTR_TO_MEM | MEM_RDONLY,
.arg1_type = ARG_PTR_TO_MEM | MEM_RDONLY,
.arg1_type = ARG_PTR_TO_MEM | MEM_RDONLY,
.arg3_type = ARG_PTR_TO_MEM | PTR_MAYBE_NULL | MEM_RDONLY,
.arg2_type = ARG_PTR_TO_MEM | MEM_RDONLY,
.arg4_type = ARG_PTR_TO_MEM | PTR_MAYBE_NULL | MEM_RDONLY,
.arg2_type = ARG_PTR_TO_MEM | MEM_RDONLY,
.arg2_type = ARG_PTR_TO_MEM | MEM_RDONLY,
.arg4_type = ARG_PTR_TO_MEM | MEM_RDONLY,
.arg3_type = ARG_PTR_TO_MEM | MEM_RDONLY,
.arg1_type = ARG_PTR_TO_MEM | PTR_MAYBE_NULL | MEM_RDONLY,
.arg3_type = ARG_PTR_TO_MEM | PTR_MAYBE_NULL | MEM_RDONLY,
.arg2_type = ARG_PTR_TO_MEM | PTR_MAYBE_NULL | MEM_RDONLY,
.arg3_type = ARG_PTR_TO_MEM | MEM_RDONLY,
.arg4_type = ARG_PTR_TO_MEM | MEM_RDONLY,
.arg4_type = ARG_PTR_TO_MEM | MEM_RDONLY,
.arg2_type = ARG_PTR_TO_MEM | MEM_RDONLY,
.arg2_type = ARG_PTR_TO_MEM | MEM_RDONLY,
.arg4_type = ARG_PTR_TO_MEM | MEM_RDONLY,
.arg4_type = ARG_PTR_TO_MEM | MEM_RDONLY,
.arg4_type = ARG_PTR_TO_MEM | MEM_RDONLY,
.arg4_type = ARG_PTR_TO_MEM | MEM_RDONLY,
.arg4_type = ARG_PTR_TO_MEM | MEM_RDONLY,
.arg4_type = ARG_PTR_TO_MEM | MEM_RDONLY,
.arg4_type = ARG_PTR_TO_MEM | MEM_RDONLY,
.arg4_type = ARG_PTR_TO_MEM | MEM_RDONLY,
.arg2_type = ARG_PTR_TO_MEM | MEM_RDONLY,
.arg3_type = ARG_PTR_TO_MEM | MEM_RDONLY,
.arg3_type = ARG_PTR_TO_MEM | MEM_RDONLY,
.arg3_type = ARG_PTR_TO_MEM | MEM_RDONLY,
.arg3_type = ARG_PTR_TO_MEM | MEM_RDONLY,
.arg2_type = ARG_PTR_TO_MEM | MEM_RDONLY,
.arg2_type = ARG_PTR_TO_MEM | MEM_RDONLY,
.arg2_type = ARG_PTR_TO_MEM | MEM_RDONLY,
.arg2_type = ARG_PTR_TO_MEM | MEM_RDONLY,
.arg2_type = ARG_PTR_TO_MEM | MEM_RDONLY,
.arg2_type = ARG_PTR_TO_MEM | MEM_RDONLY,
.arg2_type = ARG_PTR_TO_MEM | MEM_RDONLY,
.arg2_type = ARG_PTR_TO_MEM | MEM_RDONLY,
.arg2_type = ARG_PTR_TO_MEM | MEM_RDONLY,
.arg2_type = ARG_PTR_TO_MEM | MEM_RDONLY,
.arg2_type = ARG_PTR_TO_MEM | MEM_RDONLY,
.arg2_type = ARG_PTR_TO_MEM | MEM_RDONLY,
.arg2_type = ARG_PTR_TO_MEM | MEM_RDONLY,
.arg4_type = ARG_PTR_TO_MEM | MEM_RDONLY,
.arg2_type = ARG_PTR_TO_MEM | MEM_RDONLY,
.arg4_type = ARG_PTR_TO_MEM | MEM_RDONLY,
.arg2_type = ARG_PTR_TO_MEM | MEM_RDONLY,
.arg1_type = ARG_PTR_TO_FIXED_SIZE_MEM | MEM_RDONLY,
.arg2_type = ARG_PTR_TO_MEM | MEM_RDONLY,
.arg1_type = ARG_PTR_TO_FIXED_SIZE_MEM | MEM_RDONLY,
.arg2_type = ARG_PTR_TO_MEM | MEM_RDONLY,
.arg1_type = ARG_PTR_TO_FIXED_SIZE_MEM | MEM_RDONLY,
.arg2_type = ARG_PTR_TO_FIXED_SIZE_MEM | MEM_RDONLY,
.arg1_type = ARG_PTR_TO_FIXED_SIZE_MEM | MEM_RDONLY,
.arg2_type = ARG_PTR_TO_FIXED_SIZE_MEM | MEM_RDONLY,
PTR_TO_BUF | PTR_MAYBE_NULL | MEM_RDONLY },