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 |