函数逻辑报告 |
Source Code:kernel\livepatch\core.c |
Create Date:2022-07-27 11:30:43 |
Last Modify:2020-03-12 14:18:49 | Copyright©Brick |
首页 | 函数Tree |
注解内核,赢得工具 | 下载SCCT | English |
函数名称:klp_module_coming
函数原型:int klp_module_coming(struct module *mod)
返回类型:int
参数:
类型 | 参数 | 名称 |
---|---|---|
struct module * | mod |
1139 | 如果WARN_ON(state != MODULE_STATE_COMING)则返回:负EINVAL |
1148 | klp_alive = true |
1150 | klp_for_each_patch(patch) |
1151 | klp_for_each_object(patch, obj) |
1152 | 如果非klp_is_module(obj)或字符串比较则继续下一循环 |
1158 | 如果ret则 |
1159 | 打印警告信息("failed to initialize patch '%s' for module '%s' (%d)\n", Unique handle for this module , Unique handle for this module , ret) |
1161 | 转到:err |
1164 | 打印注释信息("applying patch '%s' to loading module '%s'\n", Unique handle for this module , Unique handle for this module ) |
1167 | ret等于klp_pre_patch_callback(obj) |
1168 | 如果ret则 |
1174 | ret等于klp_patch_object(obj) |
1175 | 如果ret则 |
1176 | 打印警告信息("failed to apply patch '%s' to module '%s' (%d)\n", Unique handle for this module , Unique handle for this module , ret) |
1179 | klp_post_unpatch_callback(obj) |
1180 | 转到:err |
1183 | 如果patch不等于klp_transition_patch则klp_post_patch_callback(obj) |
1186 | 退出 |
1192 | 返回:0 |
1194 | err : |
1199 | 打印警告信息("patch '%s' failed for module '%s', refusing to load module '%s'\n", Unique handle for this module , Unique handle for this module , Unique handle for this module ) |
1201 | klp_alive = false |
1202 | mod = NULL |
1206 | 返回:ret |
名称 | 描述 |
---|---|
prepare_coming_module |
源代码转换工具 开放的插件接口 | X |
---|---|
支持:c/c++/esqlc/java Oracle/Informix/Mysql 插件可实现:逻辑报告 代码生成和批量转换代码 |