Function report |
Source Code:kernel\livepatch\core.c |
Create Date:2022-07-28 10:30:53 |
| Last Modify:2020-03-12 14:18:49 | Copyright©Brick |
| home page | Tree |
| Annotation kernel can get tool activity | Download SCCT | Chinese |
Name:klp_module_coming
Proto:int klp_module_coming(struct module *mod)
Type:int
Parameter:
| Type | Parameter | Name |
|---|---|---|
| struct module * | mod |
| 1139 | If WARN_ON(state != MODULE_STATE_COMING) Then Return -EINVAL |
| 1148 | klp_alive = true |
| 1150 | klp_for_each_patch(patch) |
| 1151 | klp_for_each_object(patch, obj) |
| 1152 | If Not klp_is_module(obj) || strcmp( external , Unique handle for this module ) Then Continue |
| 1158 | If ret Then |
| 1159 | pr_warn("failed to initialize patch '%s' for module '%s' (%d)\n", Unique handle for this module , Unique handle for this module , ret) |
| 1161 | Go to err |
| 1164 | pr_notice("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 | If ret Then |
| 1174 | ret = klp_patch_object(obj) |
| 1175 | If ret Then |
| 1176 | pr_warn("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 | Go to err |
| 1183 | If patch != klp_transition_patch Then klp_post_patch_callback(obj) |
| 1186 | Break |
| 1192 | Return 0 |
| 1194 | err : |
| 1199 | pr_warn("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 | Return ret |
| Name | Describe |
|---|---|
| prepare_coming_module |
| Source code conversion tool public plug-in interface | X |
|---|---|
| Support c/c++/esqlc/java Oracle/Informix/Mysql Plug-in can realize: logical Report Code generation and batch code conversion |