函数逻辑报告

Linux Kernel

v5.5.9

Brick Technologies Co., Ltd

Source Code:fs\posix_acl.c Create Date:2022-07-29 11:05:01
Last Modify:2020-03-12 14:18:49 Copyright©Brick
首页 函数Tree
注解内核,赢得工具下载SCCTEnglish

函数名称:Convert from extended attribute to in-memory representation.

函数原型:struct posix_acl *posix_acl_from_xattr(struct user_namespace *user_ns, const void *value, size_t size)

返回类型:struct posix_acl

参数:

类型参数名称
struct user_namespace *user_ns
const void *value
size_tsize
731  header等于value
732  entry等于header加1
737  如果非value则返回:NULL
739  如果size小于sizeof(structposix_acl_xattr_header)则返回:错误号
741  如果a_version不等于cpu_to_le32(Supported ACL a_version fields )则返回:错误号
744  count等于posix_acl_xattr_count(size)
745  如果count小于0则返回:错误号
747  如果count恒等于0则返回:NULL
750  acl等于Allocate a new ACL with the specified number of entries.
751  如果非acl则返回:错误号
753  acl_e等于a_entries
755 entry不等于end循环
756  e_tag等于le16_to_cpu(e_tag)
757  e_perm等于le16_to_cpu(e_perm)
760  :e_tag恒等于_tag entry in struct posix_acl_entry
761  :e_tag恒等于ACL_GROUP_OBJ
762  :e_tag恒等于ACL_MASK
763  :e_tag恒等于ACL_OTHER
764  退出
766  :e_tag恒等于ACL_USER
770  如果非uid_valid(e_uid)则转到:fail
772  退出
773  :e_tag恒等于ACL_GROUP
777  如果非gid_valid(e_gid)则转到:fail
779  退出
781  默认
782  转到:fail
785  返回:acl
787  fail :
788  Free an ACL handle.
789  返回:错误号
调用者
名称描述
posix_acl_xattr_set