函数逻辑报告 |
Source Code:security\selinux\avc.c |
Create Date:2022-07-27 20:17:46 |
| Last Modify:2020-03-12 14:18:49 | Copyright©Brick |
| 首页 | 函数Tree |
| 注解内核,赢得工具 | 下载SCCT | English |
函数名称:The avc extended permissions logic adds an additional 256 bits of* permissions to an avc node when extended permissions for that node are* specified in the avtab
函数原型:int avc_has_extended_perms(struct selinux_state *state, unsigned int ssid, unsigned int tsid, u16 tclass, unsigned int requested, u8 driver, u8 xperm, struct common_audit_data *ad)
返回类型:int
参数:
| 类型 | 参数 | 名称 |
|---|---|---|
| struct selinux_state * | state | |
| unsigned int | ssid | |
| unsigned int | tsid | |
| u16 | tclass | |
| unsigned int | requested | |
| u8 | driver | |
| u8 | xperm | |
| struct common_audit_data * | ad |
| 1040 | struct extended_perms_decision * xpd = NULL |
| 1046 | rc等于0 |
| 1048 | xp_node等于local_xp_node |
| 1055 | 如果此条件成立可能性小(为编译器优化)(!node)则 |
| 1057 | 否则 |
| 1062 | 如果非xp_node或非 length associated decision chain 则转到:decision |
| 1066 | auditallow等于auditallow |
| 1069 | xpd等于sing a linked list for extended_perms_decision lookup because the list is* always small. i.e. less than 5, typically 1 |
| 1070 | 如果此条件成立可能性小(为编译器优化)(!xpd)则 |
| 1075 | 如果非security_xperm_test(p, driver)则 |
| 1086 | 否则 |
| 1091 | 如果非avc_xperms_has_perm(xpd, xperm, XPERMS_ALLOWED)则allowed与等于requested的反 |
| 1094 | decision : |
| 1096 | 如果此条件成立可能性小(为编译器优化)(denied)则rc等于avc_denied(state, ssid, tsid, tclass, requested, driver, xperm, update extended permissions , & avd) |
| 1106 | 返回:rc |
| 名称 | 描述 |
|---|---|
| ioctl_has_perm | Check whether a task has the ioctl permission and cmd* operation to an inode. |
| 源代码转换工具 开放的插件接口 | X |
|---|---|
| 支持:c/c++/esqlc/java Oracle/Informix/Mysql 插件可实现:逻辑报告 代码生成和批量转换代码 |