Re: [RFC 06/16] kgr: add Documentation

From: Pavel Machek
Date: Tue May 06 2014 - 07:03:23 EST


Hi!

> This is a text provided by Udo and polished.
>
> Signed-off-by: Jiri Slaby <jslaby@xxxxxxx>
> Cc: Udo Seidel <udoseidel@xxxxxx>
> ---
> Documentation/kgr.txt | 26 ++++++++++++++++++++++++++
> 1 file changed, 26 insertions(+)
> create mode 100644 Documentation/kgr.txt
>
> diff --git a/Documentation/kgr.txt b/Documentation/kgr.txt
> new file mode 100644
> index 000000000000..5b62415641cf
> --- /dev/null
> +++ b/Documentation/kgr.txt
> @@ -0,0 +1,26 @@
> +Live Kernel Patching with kGraft
> +--------------------------------
> +
> +Written by Udo Seidel <udoseidel at gmx dot de>
> +Based on the Blog entry by Vojtech Pavlik
> +
> +April 2014
> +
> +kGraft's developement was started by the SUSE Labs. kGraft builds on
> +technologies and ideas that are already present in the kernel: ftrace
> +and its mcount-based reserved space in function headers, the
> +INT3/IPI-NMI patching also used in jumplabels, and RCU-like update of
> +code that does not require stopping the kernel. For more information
> +about ftrace please checkout the Documentation shipped with the kernel
> +or search for howtos and explanations on the Internet.

This should really provide filename in Documentation/ directory it is refering to.

> +A kGraft patch is a kernel module and fully relies on the in-kernel
> +module loader to link the new code with the kernel. Thanks to all
> +that, the design can be nicely minimalistic.

I feel some more details would be nice here.

> +While kGraft is, by choice, limited to replacing whole functions and
> +constants they reference, this does not limit the set of code patches
> +that can be applied significantly. kGraft offers tools to assist in
> +creating the live patch modules, identifying which functions need to
> +be replaced based on a patch, and creating the patch module source
> +code. They are located in /tools/kgraft/.

For what functions it does not work? Anything used in interrupt context?
What about assembly? What happens if that function uses &label to
do some magic?

--
(english) http://www.livejournal.com/~pavelmachek
(cesky, pictures) http://atrey.karlin.mff.cuni.cz/~pavel/picture/horses/blog.html
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/