Re: [PATCH v2 4/5] livepatch: Documentation of the new API for tracking system state changes

From: Miroslav Benes
Date: Tue Aug 13 2019 - 09:43:19 EST


On Fri, 19 Jul 2019, Petr Mladek wrote:

> Documentation explaining the motivation, capabilities, and usage
> of the new API for tracking system state changes.
>
> Signed-off-by: Petr Mladek <pmladek@xxxxxxxx>
> ---
> Documentation/livepatch/index.rst | 1 +
> Documentation/livepatch/system-state.rst | 167 +++++++++++++++++++++++++++++++
> 2 files changed, 168 insertions(+)
> create mode 100644 Documentation/livepatch/system-state.rst
>
> diff --git a/Documentation/livepatch/index.rst b/Documentation/livepatch/index.rst
> index edd291d51847..94bbbc2c8993 100644
> --- a/Documentation/livepatch/index.rst
> +++ b/Documentation/livepatch/index.rst
> @@ -9,6 +9,7 @@ Kernel Livepatching
>
> livepatch
> callbacks
> + system-state
> cumulative-patches
> module-elf-format
> shadow-vars

This is really a nitpick, but wouldn't it be better to move system-state
to the end of the list, because it relies on the information from the
other parts?

> diff --git a/Documentation/livepatch/system-state.rst b/Documentation/livepatch/system-state.rst
> new file mode 100644
> index 000000000000..f04ef2b9089a
> --- /dev/null
> +++ b/Documentation/livepatch/system-state.rst
> @@ -0,0 +1,167 @@
> +====================
> +System State Changes
> +====================
> +
> +Some users are really reluctant to reboot a system. This brings the need
> +to provide more livepatches and maintain some compatibility between them.
> +
> +Maintaining more livepatches is much easier with cumulative livepatches.
> +Each new livepatch completely replaces any older one. It can keep,
> +add, and even remove fixes. And it is typically safe to replace any version
> +of the livepatch with any other one thanks to the atomic replace feature.
> +
> +The problems might come with shadow variables and callbacks. They might
> +change the system behavior or state so that it is not longer safe to

s/not longer/no longer/ (there are more instances of this in the patch).

Miroslav