函数逻辑报告 |
Source Code:security\tomoyo\domain.c |
Create Date:2022-07-27 21:09:32 |
Last Modify:2022-05-23 20:14:46 | Copyright©Brick |
首页 | 函数Tree |
注解内核,赢得工具 | 下载SCCT | English |
函数名称:moyo_find_next_domain - Find a domain.*@bprm: Pointer to "struct linux_binprm".* Returns 0 on success, negative value otherwise.* Caller holds tomoyo_read_lock().
函数原型:int tomoyo_find_next_domain(struct linux_binprm *bprm)
返回类型:int
参数:
类型 | 参数 | 名称 |
---|---|---|
struct linux_binprm * | bprm |
705 | old_domain等于moyo_domain - Get "struct tomoyo_domain_info" for current thread.* Returns pointer to "struct tomoyo_domain_info" for current thread. |
706 | struct tomoyo_domain_info * domain = NULL |
709 | bool reject_on_transition_failure = false |
717 | 如果非 Size is TOMOYO_EXEC_TMPSIZE bytes 则 |
722 | tomoyo_init_request_info( & r, NULL, TOMOYO_MAC_FILE_EXECUTE) |
725 | For holding parameters specific to operations which deal files.* NULL if not dealing files.等于obj |
732 | tomoyo_fill_path_info( & exename) |
733 | retry : |
737 | list等于 List of policy. [TOMOYO_ID_AGGREGATOR] |
748 | candidate等于aggregated_name |
749 | 退出 |
765 | 如果 For using wildcards at tomoyo_find_next_domain(). 则candidate等于 For using wildcards at tomoyo_find_next_domain(). |
774 | 如果transition则 |
775 | domainname等于name |
777 | reject_on_transition_failure = true |
778 | 如果非字符串比较则转到:force_keep_domain |
780 | 如果非字符串比较则转到:force_child_domain |
782 | 如果非字符串比较则转到:force_reset_domain |
784 | 如果非字符串比较则转到:force_initialize_domain |
786 | 如果非字符串比较则 |
789 | strncpy( Size is TOMOYO_EXEC_TMPSIZE bytes , name, TOMOYO_EXEC_TMPSIZE - 1) |
794 | 否则如果domainname恒等于'<'则strncpy( Size is TOMOYO_EXEC_TMPSIZE bytes , domainname, TOMOYO_EXEC_TMPSIZE - 1) |
799 | 转到:force_jump_domain |
819 | force_initialize_domain : |
823 | 退出 |
829 | 默认 |
847 | force_jump_domain : |
852 | 否则如果reject_on_transition_failure则 |
853 | 打印警告信息("ERROR: Domain '%s' not ready.\n", Size is TOMOYO_EXEC_TMPSIZE bytes ) |
855 | 否则如果One of tomoyo_mode_index . 恒等于TOMOYO_CONFIG_ENFORCING则retval等于负ENOMEM |
857 | 否则 |
858 | retval等于0 |
859 | 如果非flags[TOMOYO_DIF_TRANSITION_FAILED]则 |
860 | flags[TOMOYO_DIF_TRANSITION_FAILED] = true |
861 | granted = false |
864 | 打印警告信息("ERROR: Domain '%s' not defined.\n", Size is TOMOYO_EXEC_TMPSIZE bytes ) |
867 | out : |
868 | 如果非domain则domain等于old_domain |
872 | s等于moyo_task - Get "struct tomoyo_task" for specified thread.*@task - Pointer to "struct task_struct".* Returns pointer to "struct tomoyo_task" for specified thread. |
875 | domain_info等于domain |
876 | atomic_inc( & Number of referring tasks. ) |
878 | 释放内存 |
879 | 如果非retval则 |
883 | 释放内存 |
884 | 释放内存 |
885 | 释放内存 |
886 | 返回:retval |
名称 | 描述 |
---|---|
tomoyo_bprm_check_security | moyo_bprm_check_security - Target for security_bprm_check().*@bprm: Pointer to "struct linux_binprm".* Returns 0 on success, negative value otherwise. |
源代码转换工具 开放的插件接口 | X |
---|---|
支持:c/c++/esqlc/java Oracle/Informix/Mysql 插件可实现:逻辑报告 代码生成和批量转换代码 |