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