函数逻辑报告 | 
Source Code:security\apparmor\domain.c | 
Create Date:2022-07-27 21:31:02 | 
| Last Modify:2020-03-12 14:18:49 | Copyright©Brick | 
| 首页 | 函数Tree | 
| 注解内核,赢得工具 | 下载SCCT | English | 
函数名称:profile_transition
函数原型:static struct aa_label *profile_transition(struct aa_profile *profile, const struct linux_binprm *bprm, char *buffer, struct path_cond *cond, bool *secure_exec)
返回类型:struct aa_label
参数:
| 类型 | 参数 | 名称 | 
|---|---|---|
| struct aa_profile * | profile | |
| const struct linux_binprm * | bprm | |
| char * | buffer | |
| struct path_cond * | cond | |
| bool * | secure_exec | 
| 628 | bool nonewprivs = false | 
| 629 | error等于0 | 
| 637 | 如果error则 | 
| 648 | 如果profile_unconfined(profile)则 | 
| 651 | 如果new则 | 
| 655 | AA_DEBUG("unconfined exec no attachment") | 
| 667 | 转到:audit | 
| 668 | 否则如果非new则 | 
| 673 | 否则 | 
| 689 | 否则如果COMPLAIN_MODE(profile)则 | 
| 691 | struct aa_profile * new_profile = NULL | 
| 695 | 如果非new_profile则 | 
| 698 | 否则 | 
| 713 | dbg_printk("apparmor: scrubbing environment variables for %s profile=", name) | 
| 715 | aa_label_printk(new, GFP_KERNEL) | 
| 716 | dbg_printk("\n") | 
| 718 | * secure_exec = true | 
| 721 | audit : | 
| 724 | 如果非new或nonewprivs则 | 
| 725 | aa_put_label(new) | 
| 726 | 返回:错误号 | 
| 729 | 返回:new | 
| 名称 | 描述 | 
|---|---|
| handle_onexec | sure none ns domain transitions are correctly applied with onexec | 
| apparmor_bprm_set_creds | apparmor_bprm_set_creds - set the new creds on the bprm struct*@bprm: binprm for the exec (NOT NULL)* Returns: %0 or error on failure* TODO: once the other paths are done see if we can't refactor into a fn | 
| 源代码转换工具 开放的插件接口  | X | 
|---|---|
| 支持:c/c++/esqlc/java Oracle/Informix/Mysql 插件可实现:逻辑报告 代码生成和批量转换代码  |