All of lore.kernel.org
 help / color / mirror / Atom feed
From: Petr Mladek <pmladek@suse.com>
To: Jiri Kosina <jikos@kernel.org>,
	Josh Poimboeuf <jpoimboe@redhat.com>,
	Miroslav Benes <mbenes@suse.cz>
Cc: Joe Lawrence <joe.lawrence@redhat.com>,
	Kamalesh Babulal <kamalesh@linux.vnet.ibm.com>,
	Nicolai Stange <nstange@suse.de>,
	live-patching@vger.kernel.org, linux-kernel@vger.kernel.org,
	Petr Mladek <pmladek@suse.com>
Subject: [PATCH v4 0/5] livepatch: new API to track system state changes
Date: Wed, 30 Oct 2019 16:43:08 +0100	[thread overview]
Message-ID: <20191030154313.13263-1-pmladek@suse.com> (raw)

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 a simple and generic API that
helps to keep and pass information between the livepatches.
It is also usable to prevent loading incompatible livepatches.

Changes since v3:

  + selftests compilation error [kbuild test robot]	
  + fix copyright in selftests [Joe]
  + used macros for the module names in selftests [Joe]
  + allow zero state version [Josh]
  + slightly refactor the code for checking state version [Josh]
  + fix few typos reported by checkpatch.pl [Petr]
  + added Acks [Joe]

Changes since v2:

  + Typo fixes [Miroslav]
  + Move the documentation at the end of the list [Miroslav]
  + Add Miroslav's acks

Changes since v1:

  + Use "unsigned long" instead of "int" for "state.id" [Nicolai]
  + Use "unsigned int" instead of "int" for "state.version [Petr]
  + Include "state.h" to avoid warning about non-static func [Miroslav]
  + Simplify logic in klp_is_state_compatible() [Miroslav]
  + Document how livepatches should handle the state [Nicolai]
  + Fix some typos, formulation, module metadata [Joe, Miroslav]

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        | 167 +++++++++++++++++++++
 include/linux/livepatch.h                       |  17 +++
 kernel/livepatch/Makefile                       |   2 +-
 kernel/livepatch/core.c                         |  44 ++++--
 kernel/livepatch/core.h                         |   5 +-
 kernel/livepatch/state.c                        | 119 +++++++++++++++
 kernel/livepatch/state.h                        |   9 ++
 kernel/livepatch/transition.c                   |  12 +-
 lib/livepatch/Makefile                          |   5 +-
 lib/livepatch/test_klp_state.c                  | 162 ++++++++++++++++++++
 lib/livepatch/test_klp_state2.c                 | 191 ++++++++++++++++++++++++
 lib/livepatch/test_klp_state3.c                 |   5 +
 tools/testing/selftests/livepatch/Makefile      |   3 +-
 tools/testing/selftests/livepatch/test-state.sh | 180 ++++++++++++++++++++++
 15 files changed, 901 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


             reply	other threads:[~2019-10-30 15:43 UTC|newest]

Thread overview: 8+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2019-10-30 15:43 Petr Mladek [this message]
2019-10-30 15:43 ` [PATCH v4 1/5] livepatch: Keep replaced patches until post_patch callback is called Petr Mladek
2019-10-30 15:43 ` [PATCH v4 2/5] livepatch: Basic API to track system state changes Petr Mladek
2019-10-30 15:43 ` [PATCH v4 3/5] livepatch: Allow to distinguish different version of " Petr Mladek
2019-10-30 15:43 ` [PATCH v4 4/5] livepatch: Documentation of the new API for tracking " Petr Mladek
2019-10-30 15:43 ` [PATCH v4 5/5] livepatch: Selftests of the " Petr Mladek
2019-10-31 18:06 ` [PATCH v4 0/5] livepatch: new API to track " Josh Poimboeuf
2019-11-01 12:14   ` Petr Mladek

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20191030154313.13263-1-pmladek@suse.com \
    --to=pmladek@suse.com \
    --cc=jikos@kernel.org \
    --cc=joe.lawrence@redhat.com \
    --cc=jpoimboe@redhat.com \
    --cc=kamalesh@linux.vnet.ibm.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=live-patching@vger.kernel.org \
    --cc=mbenes@suse.cz \
    --cc=nstange@suse.de \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.