函数逻辑报告 |
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 插件可实现:逻辑报告 代码生成和批量转换代码 |