CAP_PERFMON
if (bpf_token_capable(prog->aux->token, CAP_PERFMON))
return bpf_token_capable(token, CAP_PERFMON);
return bpf_token_capable(token, CAP_PERFMON);
bpf_token_capable(token, CAP_PERFMON);
bpf_token_capable(token, CAP_PERFMON);
return capable(CAP_PERFMON) || capable(CAP_SYS_ADMIN);
if (!bpf_token_capable(prog->aux->token, CAP_PERFMON))
if (is_perfmon_prog_type(type) && !bpf_token_capable(token, CAP_PERFMON))
return !bpf_token_capable(prog->aux->token, CAP_PERFMON)
if (!bpf_token_capable(prog->aux->token, CAP_PERFMON))
capability(CAP_PERFMON),
if (perf_cap__capable(CAP_PERFMON, &used_root))
#ifndef CAP_PERFMON
if (!used_root && perf_cap__capable(CAP_PERFMON, &used_root))
#ifndef CAP_PERFMON
ret = cap_disable_effective(1ULL << CAP_SYS_ADMIN | 1ULL << CAP_PERFMON, NULL);
(1ULL << CAP_PERFMON) |
1ULL << CAP_PERFMON | 1ULL << CAP_BPF);
1ULL << CAP_PERFMON | \