Lines Matching +full:implementation +full:- +full:defined

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
54 release locks, read, process, and even write some data in a defined way,
55 have return values. In other words, each function has a defined semantic.
74 The aim is to define a so-called consistency model. It attempts to define
75 conditions when the new implementation could be used so that the system
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
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
146 transition, it shows -1. Any tasks which are blocking the transition
174 ---------------------------------------------------------
180 for non-DWARF unwinders, also making sure there's a way for the stack
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:
215 samples/livepatch/livepatch-sample.c.
217 The module includes a new implementation of functions that we want
219 relation between the original and the new implementation. Then there
227 ------------------
239 Documentation/livepatch/module-elf-format.rst for more details.
243 -------------
248 - struct klp_func is defined for each patched function. It describes
249 the relation between the original and the new implementation of a
255 Then it includes the address of the new function. It is defined
257 function is typically defined in the same source file.
265 - struct klp_object defines an array of patched functions (struct
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 -------------
316 implementation of the patched functions at this stage.
339 The right implementation is selected by the ftrace handler, see
348 --------------
360 See Documentation/livepatch/cumulative-patches.rst for more details.
364 --------------
377 to '0'. All the functions (struct klp_func) associated with the to-be-disabled
386 -------------
405 See Documentation/ABI/testing/sysfs-kernel-livepatch for more details.
411 The current Livepatch implementation has several limitations:
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
446 redirected to the new implementation.