BPF_BTF_LOAD
if (CHECK_ATTR(BPF_BTF_LOAD))
if (!bpf_token_allow_cmd(token, BPF_BTF_LOAD)) {
case BPF_BTF_LOAD:
case BPF_BTF_LOAD:
fd = sys_bpf_fd(BPF_BTF_LOAD, &attr, attr_sz);
fd = sys_bpf_fd(BPF_BTF_LOAD, &attr, attr_sz);
emit_sys_bpf(gen, BPF_BTF_LOAD, btf_load_attr, attr_size);
.cmds = 1ULL << BPF_BTF_LOAD,
.cmds = bit(BPF_BTF_LOAD) | bit(BPF_PROG_LOAD) | bit(BPF_BTF_GET_FD_BY_ID),
.cmds = bit(BPF_BTF_LOAD) | bit(BPF_PROG_LOAD) | bit(BPF_BTF_GET_FD_BY_ID),
.cmds = bit(BPF_BTF_LOAD) | bit(BPF_MAP_CREATE) | bit(BPF_PROG_LOAD),
.cmds = bit(BPF_BTF_LOAD) | bit(BPF_MAP_CREATE) | bit(BPF_PROG_LOAD),
.cmds = bit(BPF_BTF_LOAD) | bit(BPF_MAP_CREATE) | bit(BPF_PROG_LOAD),
return bpf_sys_bpf(BPF_BTF_LOAD, &btf_load_attr, sizeof(btf_load_attr));