Lines Matching full:patch

13 #include "patch.h"
52 * We allow to patch also functions where RCU is not watching,
65 * The transition to the target patch state is complete. Clean up the data
93 * from this patch on the ops->func_stack. Otherwise, after in klp_complete_transition()
157 * patch state.
238 * Determine whether it's safe to transition the task to the target patch state
285 * Try to safely switch a task to the target patch state. If it's currently
307 * functions. If all goes well, switch the task to the target patch in klp_try_switch_task()
377 * Try to switch all remaining tasks to the target patch state by walking the
382 * If any tasks are still stuck in the initial patch state, schedule a retry.
388 struct klp_patch *patch; in klp_try_complete_transition() local
394 * Try to switch the tasks to the target patch state by walking their in klp_try_complete_transition()
400 * unless the patch includes changes to a very common function. in klp_try_complete_transition()
444 patch = klp_transition_patch; in klp_try_complete_transition()
452 if (!patch->enabled) in klp_try_complete_transition()
453 klp_free_patch_async(patch); in klp_try_complete_transition()
454 else if (patch->replace) in klp_try_complete_transition()
455 klp_free_replaced_patches_async(patch); in klp_try_complete_transition()
459 * Start the transition to the specified target patch state so tasks can begin
474 * Mark all normal tasks as needing a patch state update. They'll in klp_start_transition()
485 * Mark all idle tasks as needing a patch state update. They'll switch in klp_start_transition()
499 * Initialize the global target patch state and all tasks to the initial patch
503 void klp_init_transition(struct klp_patch *patch, int state) in klp_init_transition() argument
513 klp_transition_patch = patch; in klp_init_transition()
516 * Set the global target patch state which tasks will switch to. This in klp_init_transition()
521 pr_debug("'%s': initializing %s transition\n", patch->mod->name, in klp_init_transition()
525 * Initialize all tasks to the initial patch state to prepare them for in klp_init_transition()
566 klp_for_each_object(patch, obj) in klp_init_transition()
573 * reverse the direction of the target patch state. This can be done to
575 * tasks which are stuck in the initial patch state.
643 struct klp_patch *patch; in klp_force_transition() local
661 klp_for_each_patch(patch) { in klp_force_transition()
662 if (patch != klp_transition_patch) in klp_force_transition()
663 patch->forced = true; in klp_force_transition()