MCPcopy Create free account
hub / github.com/F-Stack/f-stack / cap_rights_is_vset

Function cap_rights_is_vset

freebsd/kern/subr_capability.c:224–249  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

222}
223
224static bool
225cap_rights_is_vset(const cap_rights_t *rights, va_list ap)
226{
227 uint64_t right;
228 int i, n __unused;
229
230 assert(CAPVER(rights) == CAP_RIGHTS_VERSION_00);
231
232 n = CAPARSIZE(rights);
233 assert(n >= CAPARSIZE_MIN && n <= CAPARSIZE_MAX);
234
235 for (;;) {
236 right = (uint64_t)va_arg(ap, unsigned long long);
237 if (right == 0)
238 break;
239 assert(CAPRVER(right) == 0);
240 i = right_to_index(right);
241 assert(i >= 0);
242 assert(i < n);
243 assert(CAPIDXBIT(rights->cr_rights[i]) == CAPIDXBIT(right));
244 if ((rights->cr_rights[i] & right) != right)
245 return (false);
246 }
247
248 return (true);
249}
250
251cap_rights_t *
252__cap_rights_init(int version, cap_rights_t *rights, ...)

Callers 1

__cap_rights_is_setFunction · 0.85

Calls 1

right_to_indexFunction · 0.85

Tested by

no test coverage detected