Lines Matching defs:acl

296 static int ndr_encode_posix_acl_entry(struct ndr *n, struct xattr_smb_acl *acl)
300 ret = ndr_write_int32(n, acl->count);
305 ret = ndr_write_int32(n, acl->count);
313 for (i = 0; i < acl->count; i++) {
315 ret = ndr_write_int16(n, acl->entries[i].type);
319 ret = ndr_write_int16(n, acl->entries[i].type);
323 if (acl->entries[i].type == SMB_ACL_USER) {
325 ret = ndr_write_int64(n, acl->entries[i].uid);
326 } else if (acl->entries[i].type == SMB_ACL_GROUP) {
328 ret = ndr_write_int64(n, acl->entries[i].gid);
334 ret = ndr_write_int32(n, acl->entries[i].perm);
343 struct xattr_smb_acl *acl,
357 if (acl) {
389 if (acl) {
390 ret = ndr_encode_posix_acl_entry(n, acl);
397 int ndr_encode_v4_ntacl(struct ndr *n, struct xattr_ntacl *acl)
408 ret = ndr_write_int16(n, acl->version);
412 ret = ndr_write_int32(n, acl->version);
425 ret = ndr_write_int16(n, acl->hash_type);
429 ret = ndr_write_bytes(n, acl->hash, XATTR_SD_HASH_SIZE);
433 ret = ndr_write_bytes(n, acl->desc, acl->desc_len);
437 ret = ndr_write_int64(n, acl->current_time);
441 ret = ndr_write_bytes(n, acl->posix_acl_hash, XATTR_SD_HASH_SIZE);
446 ret = ndr_write_bytes(n, acl->sd_buf, acl->sd_size);
450 int ndr_decode_v4_ntacl(struct ndr *n, struct xattr_ntacl *acl)
456 ret = ndr_read_int16(n, &acl->version);
459 if (acl->version != 4) {
460 ksmbd_debug(VFS, "v%d version is not supported\n", acl->version);
467 if (acl->version != version2) {
469 acl->version, version2);
483 ret = ndr_read_int16(n, &acl->hash_type);
487 ret = ndr_read_bytes(n, acl->hash, XATTR_SD_HASH_SIZE);
491 ndr_read_bytes(n, acl->desc, 10);
492 if (strncmp(acl->desc, "posix_acl", 9)) {
493 pr_err("Invalid acl description : %s\n", acl->desc);
503 ret = ndr_read_bytes(n, acl->posix_acl_hash, XATTR_SD_HASH_SIZE);
507 acl->sd_size = n->length - n->offset;
508 acl->sd_buf = kzalloc(acl->sd_size, GFP_KERNEL);
509 if (!acl->sd_buf)
512 ret = ndr_read_bytes(n, acl->sd_buf, acl->sd_size);