Lines Matching refs:cap
66 int cap, unsigned int opts) in cap_capable()
77 return cap_raised(cred->cap_effective, cap) ? 0 : -EPERM; in cap_capable()
345 static bool is_v2header(size_t size, const struct vfs_cap_data *cap) in is_v2header() argument
349 return sansflags(le32_to_cpu(cap->magic_etc)) == VFS_CAP_REVISION_2; in is_v2header()
352 static bool is_v3header(size_t size, const struct vfs_cap_data *cap) in is_v3header() argument
356 return sansflags(le32_to_cpu(cap->magic_etc)) == VFS_CAP_REVISION_3; in is_v3header()
378 struct vfs_cap_data *cap; in cap_inode_getsecurity() local
401 cap = (struct vfs_cap_data *) tmpbuf; in cap_inode_getsecurity()
402 if (is_v2header((size_t) ret, cap)) { in cap_inode_getsecurity()
404 } else if (is_v3header((size_t) ret, cap)) { in cap_inode_getsecurity()
428 magic = le32_to_cpu(cap->magic_etc); in cap_inode_getsecurity()
431 memcpy(&nscap->data, &cap->data, sizeof(__le32) * 2 * VFS_CAP_U32); in cap_inode_getsecurity()
453 cap = kzalloc(size, GFP_ATOMIC); in cap_inode_getsecurity()
454 if (!cap) { in cap_inode_getsecurity()
462 memcpy(&cap->data, &nscap->data, sizeof(__le32) * 2 * VFS_CAP_U32); in cap_inode_getsecurity()
463 cap->magic_etc = cpu_to_le32(magic); in cap_inode_getsecurity()
468 *buffer = cap; in cap_inode_getsecurity()
487 static bool validheader(size_t size, const struct vfs_cap_data *cap) in validheader() argument
489 return is_v2header(size, cap) || is_v3header(size, cap); in validheader()
502 const struct vfs_cap_data *cap = *ivalue; in cap_convert_nscap() local
512 if (!validheader(size, cap)) in cap_convert_nscap()
535 magic = le32_to_cpu(cap->magic_etc); in cap_convert_nscap()
539 memcpy(&nscap->data, &cap->data, sizeof(__le32) * 2 * VFS_CAP_U32); in cap_convert_nscap()
566 __u32 permitted = caps->permitted.cap[i]; in bprm_caps_from_vfs_caps()
567 __u32 inheritable = caps->inheritable.cap[i]; in bprm_caps_from_vfs_caps()
573 new->cap_permitted.cap[i] = in bprm_caps_from_vfs_caps()
574 (new->cap_bset.cap[i] & permitted) | in bprm_caps_from_vfs_caps()
575 (new->cap_inheritable.cap[i] & inheritable); in bprm_caps_from_vfs_caps()
577 if (permitted & ~new->cap_permitted.cap[i]) in bprm_caps_from_vfs_caps()
656 cpu_caps->permitted.cap[i] = le32_to_cpu(caps->data[i].permitted); in get_vfs_caps_from_disk()
657 cpu_caps->inheritable.cap[i] = le32_to_cpu(caps->data[i].inheritable); in get_vfs_caps_from_disk()
660 cpu_caps->permitted.cap[CAP_LAST_U32] &= CAP_LAST_U32_VALID_MASK; in get_vfs_caps_from_disk()
661 cpu_caps->inheritable.cap[CAP_LAST_U32] &= CAP_LAST_U32_VALID_MASK; in get_vfs_caps_from_disk()
1163 static int cap_prctl_drop(unsigned long cap) in cap_prctl_drop() argument
1169 if (!cap_valid(cap)) in cap_prctl_drop()
1175 cap_lower(new->cap_bset, cap); in cap_prctl_drop()