1// SPDX-License-Identifier: GPL-2.0
2/*
3 * Capability utilities
4 */
5
6#ifdef HAVE_LIBCAP_SUPPORT
7
8#include "cap.h"
9#include <stdbool.h>
10#include <sys/capability.h>
11
12bool perf_cap__capable(cap_value_t cap)
13{
14 cap_flag_value_t val;
15 cap_t caps = cap_get_proc();
16
17 if (!caps)
18 return false;
19
20 if (cap_get_flag(caps, cap, CAP_EFFECTIVE, &val) != 0)
21 val = CAP_CLEAR;
22
23 if (cap_free(caps) != 0)
24 return false;
25
26 return val == CAP_SET;
27}
28
29#endif /* HAVE_LIBCAP_SUPPORT */
30

source code of linux/tools/perf/util/cap.c