BPF_F_TOKEN_FD
token_flag = attr->map_flags & BPF_F_TOKEN_FD;
attr->map_flags &= ~BPF_F_TOKEN_FD;
BPF_F_TOKEN_FD))
if (attr->prog_flags & BPF_F_TOKEN_FD) {
if (attr->btf_flags & ~BPF_F_TOKEN_FD)
if (attr->btf_flags & BPF_F_TOKEN_FD) {
if (attr->open_flags & ~BPF_F_TOKEN_FD)
if (attr->open_flags & BPF_F_TOKEN_FD) {
attr.prog_flags |= BPF_F_TOKEN_FD;
opts.btf_flags |= BPF_F_TOKEN_FD;
opts.open_flags |= BPF_F_TOKEN_FD;
.map_flags = BPF_F_MMAPABLE | (token_fd ? BPF_F_TOKEN_FD : 0),
.prog_flags = token_fd ? BPF_F_TOKEN_FD : 0,
.prog_flags = token_fd ? BPF_F_TOKEN_FD : 0,
.map_flags = token_fd ? BPF_F_TOKEN_FD : 0,
.prog_flags = token_fd ? BPF_F_TOKEN_FD : 0,
.prog_flags = token_fd ? BPF_F_TOKEN_FD : 0,
.prog_flags = token_fd ? BPF_F_TOKEN_FD : 0,
attr.prog_flags |= BPF_F_TOKEN_FD;
.prog_flags = token_fd ? BPF_F_TOKEN_FD : 0,
.prog_flags = token_fd ? BPF_F_TOKEN_FD : 0,
.map_flags = token_fd ? BPF_F_TOKEN_FD : 0,
.prog_flags = token_fd ? BPF_F_TOKEN_FD : 0,
.map_flags = token_fd ? BPF_F_TOKEN_FD : 0,
.prog_flags = token_fd ? BPF_F_TOKEN_FD : 0,
.prog_flags = obj->token_fd ? BPF_F_TOKEN_FD : 0,
create_attr.map_flags |= BPF_F_TOKEN_FD;
load_attr.prog_flags |= BPF_F_TOKEN_FD;
.btf_flags = token_fd ? BPF_F_TOKEN_FD : 0,
map_opts.map_flags = BPF_F_TOKEN_FD;
map_opts.map_flags = BPF_F_TOKEN_FD;
btf_opts.btf_flags = BPF_F_TOKEN_FD;
btf_opts.btf_flags = BPF_F_TOKEN_FD;
prog_opts.prog_flags = BPF_F_TOKEN_FD;
prog_opts.prog_flags = BPF_F_TOKEN_FD;