函数逻辑报告 |
Source Code:security\apparmor\label.c |
Create Date:2022-07-27 21:44:53 |
| Last Modify:2020-03-12 14:18:49 | Copyright©Brick |
| 首页 | 函数Tree |
| 注解内核,赢得工具 | 下载SCCT | English |
函数名称:label_merge_insert - create a new label by merging @a and @b*@new: preallocated label to merge into (NOT NULL)*@a: label to merge with @b (NOT NULL)*@b: label to merge with @a (NOT NULL)* Requires: preallocated proxy* Returns: ref counted label either
函数原型:static struct aa_label *label_merge_insert(struct aa_label *new, struct aa_label *a, struct aa_label *b)
返回类型:struct aa_label
参数:
| 类型 | 参数 | 名称 |
|---|---|---|
| struct aa_label * | new | |
| struct aa_label * | a | |
| struct aa_label * | b |
| 1029 | bool stale = false |
| 1040 | 如果profile_is_stale(next)则 |
| 1046 | k自加 |
| 1047 | stale = true |
| 1055 | 如果invcount则 |
| 1059 | 如果size恒等于1则 |
| 1060 | label等于aa_get_label( & label) |
| 1061 | 返回:label |
| 1063 | 否则如果非stale则 |
| 1068 | 如果k恒等于size则返回:aa_get_label(a) |
| 1070 | 否则如果k恒等于size则返回:aa_get_label(b) |
| 1073 | 如果vec_unconfined(vec, size)则flags或等于 label unconfined only if all |
| 1075 | ls等于labels_set(new) |
| 1076 | write_lock_irqsave( & lock, flags) |
| 1078 | write_unlock_irqrestore( & lock, flags) |
| 1080 | 返回:label |
| 名称 | 描述 |
|---|---|
| aa_label_merge | aa_label_merge - attempt to insert new merged label of @a and @b*@ls: set of labels to insert label into (NOT NULL)*@a: label to merge with @b (NOT NULL)*@b: label to merge with @a (NOT NULL)*@gfp: memory allocation type* Requires: caller to hold valid |
| 源代码转换工具 开放的插件接口 | X |
|---|---|
| 支持:c/c++/esqlc/java Oracle/Informix/Mysql 插件可实现:逻辑报告 代码生成和批量转换代码 |