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

Function cap_rights_vset

freebsd/kern/subr_capability.c:174–197  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

172}
173
174static void
175cap_rights_vset(cap_rights_t *rights, va_list ap)
176{
177 uint64_t right;
178 int i, n __unused;
179
180 assert(CAPVER(rights) == CAP_RIGHTS_VERSION_00);
181
182 n = CAPARSIZE(rights);
183 assert(n >= CAPARSIZE_MIN && n <= CAPARSIZE_MAX);
184
185 for (;;) {
186 right = (uint64_t)va_arg(ap, unsigned long long);
187 if (right == 0)
188 break;
189 assert(CAPRVER(right) == 0);
190 i = right_to_index(right);
191 assert(i >= 0);
192 assert(i < n);
193 assert(CAPIDXBIT(rights->cr_rights[i]) == CAPIDXBIT(right));
194 rights->cr_rights[i] |= right;
195 assert(CAPIDXBIT(rights->cr_rights[i]) == CAPIDXBIT(right));
196 }
197}
198
199static void
200cap_rights_vclear(cap_rights_t *rights, va_list ap)

Callers 2

__cap_rights_initFunction · 0.85
__cap_rights_setFunction · 0.85

Calls 1

right_to_indexFunction · 0.85

Tested by

no test coverage detected