Thread (118 messages) 118 messages, 12 authors, 2016-06-23

Re: barriers: was: [RFC PATCH v2 17/18] livepatch: change to a per-task consistency model

From: Petr Mladek <pmladek@suse.com>
Date: 2016-05-05 10:22:04
Also in: linux-s390, linuxppc-dev

On Wed 2016-05-04 12:02:36, Josh Poimboeuf wrote:
On Wed, May 04, 2016 at 02:39:40PM +0200, Petr Mladek wrote:
quoted
On Thu 2016-04-28 15:44:48, Josh Poimboeuf wrote:
quoted
Change livepatch to use a basic per-task consistency model.  This is the
foundation which will eventually enable us to patch those ~10% of
security patches which change function or data semantics.  This is the
biggest remaining piece needed to make livepatch more generally useful.
I spent a lot of time with checking the memory barriers. It seems that
they are basically correct.  Let me use my own words to show how
I understand it. I hope that it will help others with review.
[...snip a ton of useful comments...]

Thanks, this will help a lot!  I'll try to incorporate your barrier
comments into the code.
Thanks a lot.
I also agree that kpatch_patch_task() is poorly named.  I was trying to
make it clear to external callers that "hey, the task is getting patched
now!", but it's internally inconsistent with livepatch code because we
make a distinction between patching and unpatching.

Maybe I'll do:

  klp_update_task_patch_state()
I like it. It is long but it well describes the purpose.

Livepatch is using many state variables:

  + global:                klp_transition_patch, klp_target_state
  + per task specific:     TIF_PENDING_PATCH, patch_state
  + per each new function: transition, patched
  + per old function:      func_stack
  + per object:            patched, loaded
  + per patch:             enabled

The dependency between them and the workflow is important to
create a mental picture about the Livepatching. Good names
help with it.

Best Regards,
Petr
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help