lkml.org 
[lkml]   [2019]   [Jun]   [11]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
From
Subject[RFC 0/5] livepatch: new API to track system state changes
Date
Hi,

this is another piece in the puzzle that helps to maintain more
livepatches.

Especially pre/post (un)patch callbacks might change a system state.
Any newly installed livepatch has to somehow deal with system state
modifications done be already installed livepatches.

This patchset provides, hopefully, a simple and generic API that
helps to keep and pass information between the livepatches.
It is also usable to prevent loading incompatible livepatches.

There was also a related idea to add a sticky flag. It should be
easy to add it later. It would perfectly fit into the new struct
klp_state.

Petr Mladek (5):
livepatch: Keep replaced patches until post_patch callback is called
livepatch: Basic API to track system state changes
livepatch: Allow to distinguish different version of system state
changes
livepatch: Documentation of the new API for tracking system state
changes
livepatch: Selftests of the API for tracking system state changes

Documentation/livepatch/index.rst | 1 +
Documentation/livepatch/system-state.rst | 80 ++++++++++
include/linux/livepatch.h | 17 +++
kernel/livepatch/Makefile | 2 +-
kernel/livepatch/core.c | 44 ++++--
kernel/livepatch/core.h | 5 +-
kernel/livepatch/state.c | 121 +++++++++++++++
kernel/livepatch/state.h | 9 ++
kernel/livepatch/transition.c | 12 +-
lib/livepatch/Makefile | 5 +-
lib/livepatch/test_klp_state.c | 161 ++++++++++++++++++++
lib/livepatch/test_klp_state2.c | 190 ++++++++++++++++++++++++
lib/livepatch/test_klp_state3.c | 5 +
tools/testing/selftests/livepatch/Makefile | 3 +-
tools/testing/selftests/livepatch/test-state.sh | 180 ++++++++++++++++++++++
15 files changed, 814 insertions(+), 21 deletions(-)
create mode 100644 Documentation/livepatch/system-state.rst
create mode 100644 kernel/livepatch/state.c
create mode 100644 kernel/livepatch/state.h
create mode 100644 lib/livepatch/test_klp_state.c
create mode 100644 lib/livepatch/test_klp_state2.c
create mode 100644 lib/livepatch/test_klp_state3.c
create mode 100755 tools/testing/selftests/livepatch/test-state.sh

--
2.16.4

\
 
 \ /
  Last update: 2019-06-11 15:57    [W:0.198 / U:2.004 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site