• Home
  • Raw
  • Download

Lines Matching +full:idle +full:- +full:state +full:- +full:name

30   - The kernel probes are the most generic. The code can be redirected by
33 - The function tracer calls the code from a predefined location that is
35 compiler using the '-pg' gcc option.
37 - Livepatching typically needs to redirect the code at the very beginning
74 The aim is to define a so-called consistency model. It attempts to define
79 kpatch: it uses kGraft's per-task consistency and syscall barrier
83 Patches are applied on a per-task basis, when the task is deemed safe to
85 transition state where tasks are converging to the patched state.
86 Usually this transition state can complete in a few seconds. The same
88 the patched state to the unpatched state.
90 An interrupt handler inherits the patched state of the task it
92 patched state of the parent.
108 a) Patching I/O-bound user tasks which are sleeping on an affected
111 b) Patching CPU-bound user tasks. If the task is highly CPU-bound
115 3. For idle "swapper" tasks, since they don't ever exit the kernel, they
116 instead have a klp_update_patch_state() call in the idle loop which
117 allows them to be patched before the CPU enters the idle state.
135 are stuck in the initial patch state.
140 converge back to the original patch state.
146 transition, it shows -1. Any tasks which are blocking the transition
148 patched state. This may be harmful to the system though. Sending a fake signal
151 interrupted or woken up, and forced to change their patched state. The fake
157 state. Important note! The force attribute is intended for cases when the
174 ---------------------------------------------------------
180 for non-DWARF unwinders, also making sure there's a way for the stack
186 location to switch the kthread's patch state would be at a designated
188 structures are in a well-defined state.
194 There the safe location must be carefully selected on a case-by-case
198 able to use the non-stack-checking parts of the consistency model:
203 b) patching kthreads and idle tasks at their designated patch points.
215 samples/livepatch/livepatch-sample.c.
227 ------------------
239 Documentation/livepatch/module-elf-format.rst for more details.
243 -------------
248 - struct klp_func is defined for each patched function. It describes
252 The structure includes the name, as a string, of the original function.
260 be used to disambiguate functions of the same name. This is not the
263 kallsyms allows for searching symbols according to the object name.
265 - struct klp_object defines an array of patched functions (struct
267 (NULL) or a module name.
275 - struct klp_patch defines an array of patched objects (struct
283 For more details on how the patch is applied on a per-task basis,
287 5. Livepatch life-cycle
299 ------------
312 -------------
321 /sys/kernel/livepatch/<name>. The patch is rejected when any above
324 Second, livepatch enters into a transition state where tasks are converging
325 to the patched state. If an original function is patched for the first
328 in /sys/kernel/livepatch/<name>/transition. For more information about
348 --------------
360 See Documentation/livepatch/cumulative-patches.rst for more details.
364 --------------
367 /sys/kernel/livepatch/<name>/enabled.
369 First, livepatch enters into a transition state where tasks are converging
370 to the unpatched state. The system starts using either the code from
372 indicated by a value of '1' in /sys/kernel/livepatch/<name>/transition.
377 to '0'. All the functions (struct klp_func) associated with the to-be-disabled
386 -------------
391 to a new patch state (patched/unpatched) without being forced it is
405 See Documentation/ABI/testing/sysfs-kernel-livepatch for more details.
413 - Only functions that can be traced could be patched.
423 - Livepatch works reliably only when the dynamic ftrace is located at
428 using -fentry gcc compiler option on x86_64.
437 - Kretprobes using the ftrace framework conflict with the patched
445 - Kprobes in the original function are ignored when the code is