mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git
synced 2024-09-12 05:48:40 +00:00
![Miroslav Benes](/assets/img/avatar_default.png)
If a task sleeps in a set of patched functions uninterruptedly, it could block the whole transition indefinitely. Thus it may be useful to clear its TIF_PATCH_PENDING to allow the process to finish. Admin can do that now by writing to force sysfs attribute in livepatch sysfs directory. TIF_PATCH_PENDING is then cleared for all tasks and the transition can finish successfully. Important note! Administrator should not use this feature without a clearance from a patch distributor. It must be checked that by doing so the consistency model guarantees are not violated. Removal (rmmod) of patch modules is permanently disabled when the feature is used. It cannot be guaranteed there is no task sleeping in such module. Signed-off-by: Miroslav Benes <mbenes@suse.cz> Acked-by: Josh Poimboeuf <jpoimboe@redhat.com> Reviewed-by: Petr Mladek <pmladek@suse.com> Signed-off-by: Jiri Kosina <jkosina@suse.cz>
82 lines
2.8 KiB
Text
82 lines
2.8 KiB
Text
What: /sys/kernel/livepatch
|
|
Date: Nov 2014
|
|
KernelVersion: 3.19.0
|
|
Contact: live-patching@vger.kernel.org
|
|
Description:
|
|
Interface for kernel live patching
|
|
|
|
The /sys/kernel/livepatch directory contains subdirectories for
|
|
each loaded live patch module.
|
|
|
|
What: /sys/kernel/livepatch/<patch>
|
|
Date: Nov 2014
|
|
KernelVersion: 3.19.0
|
|
Contact: live-patching@vger.kernel.org
|
|
Description:
|
|
The patch directory contains subdirectories for each kernel
|
|
object (vmlinux or a module) in which it patched functions.
|
|
|
|
What: /sys/kernel/livepatch/<patch>/enabled
|
|
Date: Nov 2014
|
|
KernelVersion: 3.19.0
|
|
Contact: live-patching@vger.kernel.org
|
|
Description:
|
|
A writable attribute that indicates whether the patched
|
|
code is currently applied. Writing 0 will disable the patch
|
|
while writing 1 will re-enable the patch.
|
|
|
|
What: /sys/kernel/livepatch/<patch>/transition
|
|
Date: Feb 2017
|
|
KernelVersion: 4.12.0
|
|
Contact: live-patching@vger.kernel.org
|
|
Description:
|
|
An attribute which indicates whether the patch is currently in
|
|
transition.
|
|
|
|
What: /sys/kernel/livepatch/<patch>/signal
|
|
Date: Nov 2017
|
|
KernelVersion: 4.15.0
|
|
Contact: live-patching@vger.kernel.org
|
|
Description:
|
|
A writable attribute that allows administrator to affect the
|
|
course of an existing transition. Writing 1 sends a fake
|
|
signal to all remaining blocking tasks. The fake signal
|
|
means that no proper signal is delivered (there is no data in
|
|
signal pending structures). Tasks are interrupted or woken up,
|
|
and forced to change their patched state.
|
|
|
|
What: /sys/kernel/livepatch/<patch>/force
|
|
Date: Nov 2017
|
|
KernelVersion: 4.15.0
|
|
Contact: live-patching@vger.kernel.org
|
|
Description:
|
|
A writable attribute that allows administrator to affect the
|
|
course of an existing transition. Writing 1 clears
|
|
TIF_PATCH_PENDING flag of all tasks and thus forces the tasks to
|
|
the patched or unpatched state. Administrator should not
|
|
use this feature without a clearance from a patch
|
|
distributor. Removal (rmmod) of patch modules is permanently
|
|
disabled when the feature is used. See
|
|
Documentation/livepatch/livepatch.txt for more information.
|
|
|
|
What: /sys/kernel/livepatch/<patch>/<object>
|
|
Date: Nov 2014
|
|
KernelVersion: 3.19.0
|
|
Contact: live-patching@vger.kernel.org
|
|
Description:
|
|
The object directory contains subdirectories for each function
|
|
that is patched within the object.
|
|
|
|
What: /sys/kernel/livepatch/<patch>/<object>/<function,sympos>
|
|
Date: Nov 2014
|
|
KernelVersion: 3.19.0
|
|
Contact: live-patching@vger.kernel.org
|
|
Description:
|
|
The function directory contains attributes regarding the
|
|
properties and state of the patched function.
|
|
|
|
The directory name contains the patched function name and a
|
|
sympos number corresponding to the nth occurrence of the symbol
|
|
name in kallsyms for the patched object.
|
|
|
|
There are currently no such attributes.
|