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