函数逻辑报告 | 
Source Code:kernel\livepatch\core.c | 
Create Date:2022-07-27 11:30:37 | 
| Last Modify:2020-03-12 14:18:49 | Copyright©Brick | 
| 首页 | 函数Tree | 
| 注解内核,赢得工具 | 下载SCCT | English | 
函数名称:__klp_enable_patch
函数原型:static int __klp_enable_patch(struct klp_patch *patch)
返回类型:int
参数:
| 类型 | 参数 | 名称 | 
|---|---|---|
| struct klp_patch * | patch | 
| 927 | 如果klp_transition_patch则返回:负EBUSY | 
| 933 | 打印注释信息("enabling patch '%s'\n", Unique handle for this module ) | 
| 944 | smp_wmb() | 
| 946 | klp_for_each_object(patch, obj) | 
| 947 | 如果非klp_is_object_loaded(obj)则继续下一循环 | 
| 950 | ret等于klp_pre_patch_callback(obj) | 
| 951 | 如果ret则 | 
| 952 | 打印警告信息("pre-patch callback failed for object '%s'\n", klp_is_module(obj) ? external : "vmlinux") | 
| 954 | 转到:err | 
| 957 | ret等于klp_patch_object(obj) | 
| 958 | 如果ret则 | 
| 959 | 打印警告信息("failed to patch object '%s'\n", klp_is_module(obj) ? external : "vmlinux") | 
| 961 | 转到:err | 
| 966 | enabled = true | 
| 969 | 返回:0 | 
| 970 | err : | 
| 971 | 打印警告信息("failed to enable patch '%s'\n", Unique handle for this module ) | 
| 973 | klp_cancel_transition() | 
| 974 | 返回:ret | 
| 名称 | 描述 | 
|---|---|
| klp_enable_patch | klp_enable_patch() - enable the livepatch*@patch: patch to be enabled* Initializes the data structure associated with the patch, creates the sysfs* interface, performs the needed symbol lookups and code relocations, | 
| 源代码转换工具 开放的插件接口  | X | 
|---|---|
| 支持:c/c++/esqlc/java Oracle/Informix/Mysql 插件可实现:逻辑报告 代码生成和批量转换代码  |