函数逻辑报告 |
Source Code:kernel\audit.c |
Create Date:2022-07-27 12:25:52 |
| Last Modify:2020-03-12 14:18:49 | Copyright©Brick |
| 首页 | 函数Tree |
| 注解内核,赢得工具 | 下载SCCT | English |
函数名称:audit_set_feature
函数原型:static int audit_set_feature(struct audit_features *uaf)
返回类型:int
参数:
| 类型 | 参数 | 名称 |
|---|---|---|
| struct audit_features * | uaf |
| 1107 | BUILD_BUG_ON - break compile if a condition is true(AUDIT_LAST_FEATURE + 1 > ARRAY_SIZE - get the number of elements in array @arr*@arr: array to be sized(audit_feature_names)) |
| 1111 | 以i小于等于AUDIT_LAST_FEATURE循环 |
| 1112 | feature等于mask for __u32 (i) |
| 1116 | 如果非feature按位与 which bits we are dealing with 的值则继续下一循环 |
| 1121 | new_lock等于 which features to lock 按位或 which features to lock 的值按位与feature |
| 1122 | old_lock等于 which features to lock 按位与feature |
| 1125 | 如果old_lock且new_feature不等于old_feature则 |
| 1126 | audit_log_feature_change(i, old_feature, new_feature, old_lock, new_lock, 0) |
| 1128 | 返回:负EPERM |
| 1132 | 以i小于等于AUDIT_LAST_FEATURE循环 |
| 1133 | feature等于mask for __u32 (i) |
| 1137 | 如果非feature按位与 which bits we are dealing with 的值则继续下一循环 |
| 1142 | old_lock等于 which features to lock 按位与feature |
| 1143 | new_lock等于 which features to lock 按位或 which features to lock 的值按位与feature |
| 1145 | 如果new_feature不等于old_feature则audit_log_feature_change(i, old_feature, new_feature, old_lock, new_lock, 1) |
| 1149 | 如果new_feature则 which feature to enable/disable 或等于feature |
| 1151 | 否则 which feature to enable/disable 与等于feature的反 |
| 1153 | which features to lock 或等于new_lock |
| 1156 | 返回:0 |
| 名称 | 描述 |
|---|---|
| audit_receive_msg |
| 源代码转换工具 开放的插件接口 | X |
|---|---|
| 支持:c/c++/esqlc/java Oracle/Informix/Mysql 插件可实现:逻辑报告 代码生成和批量转换代码 |