函数逻辑报告

Linux Kernel

v5.5.9

Brick Technologies Co., Ltd

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

函数名称:Return 0 if current is granted want access to the inode* by the acl. Returns -E... otherwise.

函数原型:int posix_acl_permission(struct inode *inode, const struct posix_acl *acl, int want)

返回类型:int

参数:

类型参数名称
struct inode *inode
const struct posix_acl *acl
intwant
351  found等于0
353  want与等于MAY_READ按位或MAY_WRITE按位或MAY_EXEC按位或called from RCU mode, don't block
357  :e_tag恒等于_tag entry in struct posix_acl_entry
359  如果uid_eq(i_uid, current_fsuid())则转到:check_perm
361  退出
362  :e_tag恒等于ACL_USER
363  如果uid_eq(e_uid, current_fsuid())则转到:mask
365  退出
366  :e_tag恒等于ACL_GROUP_OBJ
368  found等于1
369  如果e_perm按位与want的值恒等于want则转到:mask
372  退出
373  :e_tag恒等于ACL_GROUP
375  found等于1
376  如果e_perm按位与want的值恒等于want则转到:mask
379  退出
380  :e_tag恒等于ACL_MASK
381  退出
382  :e_tag恒等于ACL_OTHER
383  如果found则返回:负EACCES
385  否则转到:check_perm
387  默认
388  返回:负EIO
391  返回:负EIO
393  mask :
394 mask_obj不等于pe循环
395  如果e_tag恒等于ACL_MASK
396  如果e_perm按位与e_perm按位与want的值恒等于want则返回:0
398  返回:负EACCES
402  check_perm :
403  如果e_perm按位与want的值恒等于want则返回:0
405  返回:负EACCES
调用者
名称描述
check_acl