diff options
author | Lennart Poettering <lennart@poettering.net> | 2019-03-06 11:37:04 +0100 |
---|---|---|
committer | Lennart Poettering <lennart@poettering.net> | 2019-03-15 15:33:09 +0100 |
commit | c8a79aa8127c40eab63aef4758bc3492db864214 (patch) | |
tree | c337db25b6d96cce346b21e82db15b7f398d010e /src/basic/capability-util.h | |
parent | 9a2c59119c504691c01ef23af2b99409cfda4c90 (diff) | |
download | systemd-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.h | 8 |
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); |