[PATCH v7 0/7] livepatch: Atomic replace feature

From: Petr Mladek
Date: Tue Feb 06 2018 - 05:34:55 EST


The atomic replace allows to create cumulative patches. They
are useful when you maintain many livepatches and want to remove
one that is lower on the stack. In addition it is very useful when
more patches touch the same function and there are dependencies
between them.

Changes against v6:

+ used list_move when disabling replaced patches [Jason]
+ renamed KLP_FUNC_ORIGINAL -> KLP_FUNC_STATIC [Mirek]
+ used klp_is_func_type() in klp_unpatch_object() [Mirek]
+ moved static definition of klp_get_or_add_object() [Mirek]
+ updated comment about synchronization in forced mode [Mirek]
+ added user documentation
+ fixed several typos

Jason Baron (5):
livepatch: Use lists to manage patches, objects and functions
livepatch: Initial support for dynamic structures
livepatch: Allow to unpatch only functions of the given type
livepatch: Support separate list for replaced patches.
livepatch: Add atomic replace

Petr Mladek (2):
livepatch: Free only structures with initialized kobject
livepatch: Atomic replace and cumulative patches documentation

Documentation/livepatch/cumulative-patches.txt | 76 +++++
include/linux/livepatch.h | 59 +++-
kernel/livepatch/core.c | 378 ++++++++++++++++++++++---
kernel/livepatch/core.h | 4 +
kernel/livepatch/patch.c | 29 +-
kernel/livepatch/patch.h | 4 +-
kernel/livepatch/transition.c | 41 ++-
7 files changed, 543 insertions(+), 48 deletions(-)
create mode 100644 Documentation/livepatch/cumulative-patches.txt

--
2.13.6