kernel-livepatch-tools/kgr.man

84 lines
2.2 KiB
Groff

.\" Libor Pechacek <lpechacek@suse.com>
.\"
.TH KLP 8 2017-12-13 "SLES 15" "SLE Live Patching"
.SH NAME
kgr \- compatibility wrapper for migration from kGraft / SLE 12
.SH SYNOPSIS
.ll +8
.B kgr
.RB [ " \-hv " ]
.RI COMMAND
.ll -8
.SH DESCRIPTION
.I kgr
is a lightweight wrapper for the new klp tool. It is provided for smooth
migration from SLE 12 and will be removed in future SLE releases.
.SH COMMANDS
.TP
.B status
See klp(1) for description.
.TP
.B check
See klp(1) for description.
.TP
.B patches
See klp(1) for description.
.TP
.B blocking
See klp(1) for description. Unlike the SLE 12 implementation, this command
displays execution threads. Processes display is known to be incomplete for
multi-threaded applications.
.TP
.B blocking_threads
Obsolete command.
Same as
.I kgr
.IR blocking .
.TP
.B poke
Obsolete command. Send STOP and CONT signals to processess that are blocking
kGraft progress. See
.SM
.B CAVEATS
for discussion about this method.
.SH OPTIONS
.TP
.B \-h --help
Display a help screen and quit.
.TP
.B \-v --verbose
Verbose. Makes
.I kgr
print out process command line with
.B blocking
and
.B blocking_threads
commands.
Another
.B \-v
will display also strack traces.
.TP
.B \--version
Version. Display the version number.
.SH EXIT STATUS
With
.B
check
command the exit status is 0 when system is ready for kernel live patching and
1 when patching is in progress. For other commands the exit status is 0 upon
successful command completion and 1 upon error.
.SH CAVEATS
By design, kGraft technology requires the processes to cross the user
space/kernel boundary to present them with the patched kernel code. Processes
that sleep in kernel code at the time the patch module is loaded will prevent
patching process from finishing until they leave kernel space. These processes
usually leave kernel after the event, for which they are waiting, happens or
timeout elapses.
.P
Sending regular processes STOP signal followed by CONT signal achieves the
goal of making them to cross the user space/kernel boundary immediately. However, this
method may not be suitable for all processes running in the system and does not
apply to kernel threads and processess in
.B D
process state. This method is also known to interfere with shell job control.