Lines Matching defs:vsecattr
567 fs_fab_acl(vnode_t *vp, vsecattr_t *vsecattr, int flag, cred_t *cr,
575 vsecattr->vsa_aclcnt = 0;
576 vsecattr->vsa_aclentsz = 0;
577 vsecattr->vsa_aclentp = NULL;
578 vsecattr->vsa_dfaclcnt = 0; /* Default ACLs are not fabricated */
579 vsecattr->vsa_dfaclentp = NULL;
585 if (vsecattr->vsa_mask & (VSA_ACLCNT | VSA_ACL)) {
587 vsecattr->vsa_aclcnt = 4; /* USER, GROUP, OTHER, and CLASS */
588 vsecattr->vsa_aclentp = kmem_zalloc(aclsize, KM_SLEEP);
589 aclentp = vsecattr->vsa_aclentp;
609 } else if (vsecattr->vsa_mask & (VSA_ACECNT | VSA_ACE)) {
611 (vp->v_type == VDIR), (ace_t **)&vsecattr->vsa_aclentp,
612 &vsecattr->vsa_aclcnt));
613 vsecattr->vsa_aclentsz = vsecattr->vsa_aclcnt * sizeof (ace_t);
720 vsecattr_t vsecattr;
732 vsecattr.vsa_aclentp = NULL;
733 vsecattr.vsa_dfaclentp = NULL;
734 vsecattr.vsa_aclcnt = 0;
735 vsecattr.vsa_dfaclcnt = 0;
742 vsecattr.vsa_mask = VSA_ACLCNT | VSA_DFACLCNT;
745 vsecattr.vsa_mask = VSA_ACECNT | VSA_ACE;
748 ASSERT(vsecattr.vsa_mask && acl_flavor);
749 error = VOP_GETSECATTR(vp, &vsecattr, 0, cr, NULL);
764 if (vsecattr.vsa_aclcnt > MIN_ACL_ENTRIES)
766 if (vsecattr.vsa_aclcnt && vsecattr.vsa_aclentp != NULL)
767 kmem_free(vsecattr.vsa_aclentp,
768 vsecattr.vsa_aclcnt * sizeof (aclent_t));
769 if (vsecattr.vsa_dfaclcnt && vsecattr.vsa_dfaclentp != NULL)
770 kmem_free(vsecattr.vsa_dfaclentp,
771 vsecattr.vsa_dfaclcnt * sizeof (aclent_t));
774 isnontrivial = ace_trivial(vsecattr.vsa_aclentp,
775 vsecattr.vsa_aclcnt);
777 if (vsecattr.vsa_aclcnt && vsecattr.vsa_aclentp != NULL)
778 kmem_free(vsecattr.vsa_aclentp,
779 vsecattr.vsa_aclcnt * sizeof (ace_t));
780 /* ACE has no vsecattr.vsa_dfaclcnt */