summaryrefslogtreecommitdiff
path: root/src/basic/capability-util.h
diff options
context:
space:
mode:
authorLennart Poettering <lennart@poettering.net>2019-03-06 11:37:04 +0100
committerLennart Poettering <lennart@poettering.net>2019-03-15 15:33:09 +0100
commitc8a79aa8127c40eab63aef4758bc3492db864214 (patch)
treec337db25b6d96cce346b21e82db15b7f398d010e /src/basic/capability-util.h
parent9a2c59119c504691c01ef23af2b99409cfda4c90 (diff)
downloadsystemd-c8a79aa8127c40eab63aef4758bc3492db864214.tar.gz
capability: add a way to get a uint64_t with all caps set
Diffstat (limited to 'src/basic/capability-util.h')
-rw-r--r--src/basic/capability-util.h8
1 files changed, 5 insertions, 3 deletions
diff --git a/src/basic/capability-util.h b/src/basic/capability-util.h
index 02c7d5c3e2..e69b2fbb95 100644
--- a/src/basic/capability-util.h
+++ b/src/basic/capability-util.h
@@ -33,10 +33,12 @@ static inline void cap_free_charpp(char **p) {
}
#define _cleanup_cap_free_charp_ _cleanup_(cap_free_charpp)
+static inline uint64_t all_capabilities(void) {
+ return UINT64_MAX >> (63 - cap_last_cap());
+}
+
static inline bool cap_test_all(uint64_t caps) {
- uint64_t m;
- m = (UINT64_C(1) << (cap_last_cap() + 1)) - 1;
- return FLAGS_SET(caps, m);
+ return FLAGS_SET(caps, all_capabilities());
}
bool ambient_capabilities_supported(void);