Lines Matching full:patch
13 #include "patch.h"
53 * We allow to patch also functions where RCU is not watching,
66 * The transition to the target patch state is complete. Clean up the data
94 * from this patch on the ops->func_stack. Otherwise, after in klp_complete_transition()
158 * patch state.
239 * Determine whether it's safe to transition the task to the target patch state
277 * Try to safely switch a task to the target patch state. If it's currently
304 * functions. If all goes well, switch the task to the target patch in klp_try_switch_task()
381 * Try to switch all remaining tasks to the target patch state by walking the
386 * If any tasks are still stuck in the initial patch state, schedule a retry.
392 struct klp_patch *patch; in klp_try_complete_transition() local
398 * Try to switch the tasks to the target patch state by walking their in klp_try_complete_transition()
404 * unless the patch includes changes to a very common function. in klp_try_complete_transition()
445 patch = klp_transition_patch; in klp_try_complete_transition()
453 if (!patch->enabled) in klp_try_complete_transition()
454 klp_free_patch_async(patch); in klp_try_complete_transition()
455 else if (patch->replace) in klp_try_complete_transition()
456 klp_free_replaced_patches_async(patch); in klp_try_complete_transition()
460 * Start the transition to the specified target patch state so tasks can begin
475 * Mark all normal tasks as needing a patch state update. They'll in klp_start_transition()
486 * Mark all idle tasks as needing a patch state update. They'll switch in klp_start_transition()
500 * Initialize the global target patch state and all tasks to the initial patch
504 void klp_init_transition(struct klp_patch *patch, int state) in klp_init_transition() argument
514 klp_transition_patch = patch; in klp_init_transition()
517 * Set the global target patch state which tasks will switch to. This in klp_init_transition()
522 pr_debug("'%s': initializing %s transition\n", patch->mod->name, in klp_init_transition()
526 * Initialize all tasks to the initial patch state to prepare them for in klp_init_transition()
567 klp_for_each_object(patch, obj) in klp_init_transition()
574 * reverse the direction of the target patch state. This can be done to
576 * tasks which are stuck in the initial patch state.
630 struct klp_patch *patch; in klp_force_transition() local
644 klp_for_each_patch(patch) in klp_force_transition()
645 patch->forced = true; in klp_force_transition()