root/tools/perf/util/cap.c

/* [<][>][^][v][top][bottom][index][help] */

DEFINITIONS

This source file includes following definitions.
  1. perf_cap__capable

   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 
  12 bool 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 */

/* [<][>][^][v][top][bottom][index][help] */