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