| // SPDX-License-Identifier: GPL-2.0 | |
| /* | |
| * Capability utilities | |
| */ | |
| #ifdef HAVE_LIBCAP_SUPPORT | |
| #include "cap.h" | |
| #include <stdbool.h> | |
| #include <sys/capability.h> | |
| bool perf_cap__capable(cap_value_t cap) | |
| { | |
| cap_flag_value_t val; | |
| cap_t caps = cap_get_proc(); | |
| if (!caps) | |
| return false; | |
| if (cap_get_flag(caps, cap, CAP_EFFECTIVE, &val) != 0) | |
| val = CAP_CLEAR; | |
| if (cap_free(caps) != 0) | |
| return false; | |
| return val == CAP_SET; | |
| } | |
| #endif /* HAVE_LIBCAP_SUPPORT */ |