函数逻辑报告 |
Source Code:security\tomoyo\condition.c |
Create Date:2022-07-27 21:08:13 |
Last Modify:2020-03-12 14:18:49 | Copyright©Brick |
首页 | 函数Tree |
注解内核,赢得工具 | 下载SCCT | English |
函数名称:moyo_condition - Check condition part.*@r: Pointer to "struct tomoyo_request_info".*@cond: Pointer to "struct tomoyo_condition". Maybe NULL.* Returns true on success, false otherwise.* Caller holds tomoyo_read_lock().
函数原型:bool tomoyo_condition(struct tomoyo_request_info *r, const struct tomoyo_condition *cond)
返回类型:bool
参数:
类型 | 参数 | 名称 |
---|---|---|
struct tomoyo_request_info * | r | |
const struct tomoyo_condition * | cond |
769 | unsigned long min_v[2] = {0, 0} |
770 | unsigned long max_v[2] = {0, 0} |
780 | struct linux_binprm * bprm = NULL |
782 | 如果非cond则返回:true |
787 | obj等于For holding parameters specific to operations which deal files.* NULL if not dealing files. |
788 | 如果For holding parameters specific to execve() request.* NULL if not dealing do_execve().则bprm等于bprm |
800 | left等于Left hand operand. A "struct tomoyo_argv" for TOMOYO_ARGV_ENTRY, a* "struct tomoyo_envp" for TOMOYO_ENVP_ENTRY is attached to the tail* of the array of this struct. |
801 | right等于Right hand operand. A "struct tomoyo_number_union" for* TOMOYO_NUMBER_UNION, a "struct tomoyo_name_union" for* TOMOYO_NAME_UNION is attached to the tail of the array of this* struct. |
805 | condp自加 |
807 | 如果left恒等于TOMOYO_ARGV_ENTRY或left恒等于TOMOYO_ENVP_ENTRY则继续下一循环 |
810 | 如果right恒等于TOMOYO_NAME_UNION则 |
817 | 当:left恒等于TOMOYO_SYMLINK_TARGET |
818 | symlink = obj ? * Content of symbolic link to be created. NULL for operations other * than symlink(). : NULL |
823 | 退出 |
824 | 当:left恒等于TOMOYO_EXEC_REALPATH |
830 | 退出 |
832 | 继续下一循环 |
837 | value等于0 |
840 | 当:index恒等于current_uid() |
842 | 退出 |
843 | 当:index恒等于current_euid() |
845 | 退出 |
846 | 当:index恒等于current_suid() |
848 | 退出 |
849 | 当:index恒等于current_fsuid() |
851 | 退出 |
852 | 当:index恒等于current_gid() |
854 | 退出 |
855 | 当:index恒等于current_egid() |
857 | 退出 |
858 | 当:index恒等于current_sgid() |
860 | 退出 |
861 | 当:index恒等于current_fsgid() |
863 | 退出 |
864 | 当:index恒等于sys_getpid() |
866 | 退出 |
867 | 当:index恒等于sys_getppid() |
869 | 退出 |
937 | 当:index恒等于TOMOYO_NUMBER_UNION |
939 | 退出 |
940 | 默认 |
952 | 当:index恒等于TOMOYO_PATH1_UID |
953 | 当:index恒等于TOMOYO_PATH1_GID |
954 | 当:index恒等于TOMOYO_PATH1_INO |
955 | 当:index恒等于TOMOYO_PATH1_MAJOR |
956 | 当:index恒等于TOMOYO_PATH1_MINOR |
957 | 当:index恒等于TOMOYO_PATH1_TYPE |
958 | 当:index恒等于TOMOYO_PATH1_DEV_MAJOR |
959 | 当:index恒等于TOMOYO_PATH1_DEV_MINOR |
960 | 当:index恒等于TOMOYO_PATH1_PERM |
961 | stat_index等于TOMOYO_PATH1 |
962 | 退出 |
963 | 当:index恒等于TOMOYO_PATH2_UID |
964 | 当:index恒等于TOMOYO_PATH2_GID |
965 | 当:index恒等于TOMOYO_PATH2_INO |
966 | 当:index恒等于TOMOYO_PATH2_MAJOR |
967 | 当:index恒等于TOMOYO_PATH2_MINOR |
968 | 当:index恒等于TOMOYO_PATH2_TYPE |
969 | 当:index恒等于TOMOYO_PATH2_DEV_MAJOR |
970 | 当:index恒等于TOMOYO_PATH2_DEV_MINOR |
971 | 当:index恒等于TOMOYO_PATH2_PERM |
972 | stat_index等于TOMOYO_PATH2 |
973 | 退出 |
974 | 当:index恒等于TOMOYO_PATH1_PARENT_UID |
975 | 当:index恒等于TOMOYO_PATH1_PARENT_GID |
976 | 当:index恒等于TOMOYO_PATH1_PARENT_INO |
977 | 当:index恒等于TOMOYO_PATH1_PARENT_PERM |
980 | 退出 |
981 | 当:index恒等于TOMOYO_PATH2_PARENT_UID |
982 | 当:index恒等于TOMOYO_PATH2_PARENT_GID |
983 | 当:index恒等于TOMOYO_PATH2_PARENT_INO |
984 | 当:index恒等于TOMOYO_PATH2_PARENT_PERM |
987 | 退出 |
988 | 默认 |
989 | 转到:out |
991 | 如果非 True if @stat[] is valid. [stat_index]则转到:out |
993 | stat等于* Information on @path1, @path1's parent directory, @path2, @path2's * parent directory.[stat_index] |
995 | 当:index恒等于TOMOYO_PATH1_UID |
996 | 当:index恒等于TOMOYO_PATH2_UID |
997 | 当:index恒等于TOMOYO_PATH1_PARENT_UID |
998 | 当:index恒等于TOMOYO_PATH2_PARENT_UID |
1000 | 退出 |
1001 | 当:index恒等于TOMOYO_PATH1_GID |
1002 | 当:index恒等于TOMOYO_PATH2_GID |
1003 | 当:index恒等于TOMOYO_PATH1_PARENT_GID |
1004 | 当:index恒等于TOMOYO_PATH2_PARENT_GID |
1006 | 退出 |
1007 | 当:index恒等于TOMOYO_PATH1_INO |
1008 | 当:index恒等于TOMOYO_PATH2_INO |
1009 | 当:index恒等于TOMOYO_PATH1_PARENT_INO |
1010 | 当:index恒等于TOMOYO_PATH2_PARENT_INO |
1013 | 当:index恒等于TOMOYO_PATH1_MAJOR |
1014 | 当:index恒等于TOMOYO_PATH2_MAJOR |
1017 | 当:index恒等于TOMOYO_PATH1_MINOR |
1018 | 当:index恒等于TOMOYO_PATH2_MINOR |
1021 | 当:index恒等于TOMOYO_PATH1_TYPE |
1022 | 当:index恒等于TOMOYO_PATH2_TYPE |
1025 | 当:index恒等于TOMOYO_PATH1_DEV_MAJOR |
1026 | 当:index恒等于TOMOYO_PATH2_DEV_MAJOR |
1029 | 当:index恒等于TOMOYO_PATH1_DEV_MINOR |
1030 | 当:index恒等于TOMOYO_PATH2_DEV_MINOR |
1033 | 当:index恒等于TOMOYO_PATH1_PERM |
1034 | 当:index恒等于TOMOYO_PATH2_PERM |
1035 | 当:index恒等于TOMOYO_PATH1_PARENT_PERM |
1036 | 当:index恒等于TOMOYO_PATH2_PARENT_PERM |
1041 | 退出 |
1061 | 如果left恒等于TOMOYO_NUMBER_UNION则 |
1068 | 如果right恒等于TOMOYO_NUMBER_UNION则 |
1072 | 如果Maybe NULL. 则 |
1073 | 如果tomoyo_number_matches_group(min_v[0], max_v[0], Maybe NULL. )恒等于match则继续下一循环 |
1078 | 否则 |
1083 | 转到:out |
1090 | 转到:out |
1091 | 否则如果is_bitop[0]则 |
1093 | 当:right恒等于TOMOYO_PATH1_PERM |
1094 | 当:right恒等于TOMOYO_PATH1_PARENT_PERM |
1095 | 当:right恒等于TOMOYO_PATH2_PERM |
1096 | 当:right恒等于TOMOYO_PATH2_PARENT_PERM |
1100 | 转到:out |
1101 | 否则如果is_bitop[1]则 |
1103 | 当:left恒等于TOMOYO_PATH1_PERM |
1104 | 当:left恒等于TOMOYO_PATH1_PARENT_PERM |
1105 | 当:left恒等于TOMOYO_PATH2_PERM |
1106 | 当:left恒等于TOMOYO_PATH2_PARENT_PERM |
1110 | 转到:out |
1115 | out : |
1116 | 返回:false |
1121 | 返回:true |
名称 | 描述 |
---|---|
tomoyo_check_acl | moyo_check_acl - Do permission check.*@r: Pointer to "struct tomoyo_request_info".*@check_entry: Callback function to check type specific parameters.* Returns 0 on success, negative value otherwise.* Caller holds tomoyo_read_lock(). |
源代码转换工具 开放的插件接口 | X |
---|---|
支持:c/c++/esqlc/java Oracle/Informix/Mysql 插件可实现:逻辑报告 代码生成和批量转换代码 |