Function report |
Source Code:kernel\livepatch\transition.c |
Create Date:2022-07-28 10:31:53 |
| Last Modify:2020-03-12 14:18:49 | Copyright©Brick |
| home page | Tree |
| Annotation kernel can get tool activity | Download SCCT | Chinese |
Name:The transition to the target patch state is complete. Clean up the data* structures.
Proto:static void klp_complete_transition(void)
Type:void
Parameter:Nothing
| 76 | pr_debug("'%s': completing %s transition\n", Unique handle for this module , klp_target_state == KLP_PATCHED ? "patching" : "unpatching") |
| 80 | If replace && klp_target_state == KLP_PATCHED Then |
| 85 | If klp_target_state == KLP_UNPATCHED Then |
| 102 | klp_for_each_func(obj, func) |
| 103 | transition = false |
| 106 | If klp_target_state == KLP_PATCHED Then We allow to patch also functions where RCU is not watching,* e |
| 109 | read_lock( & tasklist_lock) |
| 112 | patch_state = ask patch states |
| 114 | read_unlock( & tasklist_lock) |
| 116 | for_each_possible_cpu(cpu) |
| 117 | task = dle_task - return the idle task for a given CPU.*@cpu: the processor in question.* Return: The idle task for the CPU @cpu. |
| 119 | patch_state = ask patch states |
| 123 | If Not klp_is_object_loaded(obj) Then Continue |
| 125 | If klp_target_state == KLP_PATCHED Then klp_post_patch_callback(obj) |
| 127 | Else if klp_target_state == KLP_UNPATCHED Then klp_post_unpatch_callback(obj) |
| 131 | pr_notice("'%s': %s complete\n", Unique handle for this module , klp_target_state == KLP_PATCHED ? "patching" : "unpatching") |
| 135 | klp_transition_patch = NULL |
| Name | Describe |
|---|---|
| klp_cancel_transition | This is called in the error path, to cancel a transition before it has* started, i.e. klp_init_transition() has been called but* klp_start_transition() hasn't. If the transition *has* been started,* klp_reverse_transition() should be used instead. |
| klp_try_complete_transition | Try to switch all remaining tasks to the target patch state by walking the* stacks of sleeping tasks and looking for any to-be-patched or* to-be-unpatched functions. If such functions are found, the task can't be* switched yet. |
| 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 |