mirror of https://lore.kernel.org/lkml/
 help / color / mirror / Atom feed
From: Josh Poimboeuf <jpoimboe@redhat.com>
To: Evgenii Shatokhin <eshatokhin@virtuozzo.com>
Cc: Petr Mladek <pmladek@suse.com>,
	jikos@kernel.org, mbenes@suse.cz, Jason Baron <jbaron@akamai.com>,
	jeyu@kernel.org, linux-kernel@vger.kernel.org,
	live-patching@vger.kernel.org
Subject: Re: PATCH v6 6/6] livepatch: Add atomic replace
Date: Wed, 31 Jan 2018 15:55:18 -0600	[thread overview]
Message-ID: <20180131215518.cwcxs2atfuzimyxt@treble> (raw)
In-Reply-To: <3e93e7b5-3077-9f03-ae89-55394e70da39@virtuozzo.com>

On Fri, Jan 26, 2018 at 01:33:04PM +0300, Evgenii Shatokhin wrote:
> >    + The callbacks from the replaced patches are not called. It would be
> >      pretty hard to define a reasonable semantic and implement it.
> 
> At least, it surely simplifies error handling, if these callbacks are not
> called.
> 
> Anyway, I guess, this restriction should be mentioned explicitly in the
> docs. I think this is not obvious for the patch developers (esp. those
> familiar with RPM spec files and such ;-) ).
> 
> What concerns me is that downgrading of the cumulative patches with
> callbacks becomes much more difficult this way.
> 
> I mean, suppose a user has v1 of a cumulative patch installed. Then a newer
> version, v2, is released. They install it and find that it is buggy (very
> unfortunate but might still happen). Now they cannot atomically replace v2
> back with v1, because the callbacks from v1 cannot clean up after v2.
> 
> It will be needed to unload v2 explicitly and then load v1 back, which is
> more fragile. The loading failures are much more unlikely with livepatch
> than with the old kpatch, but they are still possible.
> 
> I have no good solution to this though.

I think the solution is to build a v3, which is basically identical to
v1, except it also has callbacks for cleaning up after v2, if necessary.

It should also be smart enough to deal with the case that v2 was not
installed beforehand.

-- 
Josh

  reply	other threads:[~2018-01-31 21:55 UTC|newest]

Thread overview: 24+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2018-01-25 16:01 PATCH v6 0/6] livepatch: Atomic replace feature Petr Mladek
2018-01-25 16:01 ` PATCH v6 1/6] livepatch: Use lists to manage patches, objects and functions Petr Mladek
2018-01-25 16:01 ` PATCH v6 2/6] livepatch: Free only structures with initialized kobject Petr Mladek
2018-02-01 14:25   ` Joe Lawrence
2018-01-25 16:02 ` PATCH v6 3/6] livepatch: Initial support for dynamic structures Petr Mladek
2018-01-31 15:39   ` Miroslav Benes
2018-02-05 10:33     ` Petr Mladek
2018-01-25 16:02 ` PATCH v6 4/6] livepatch: Allow to unpatch only functions of the given type Petr Mladek
2018-01-31 15:42   ` Miroslav Benes
2018-01-25 16:02 ` PATCH v6 5/6] livepatch: Support separate list for replaced patches Petr Mladek
2018-01-31 16:19   ` Miroslav Benes
2018-01-25 16:02 ` PATCH v6 6/6] livepatch: Add atomic replace Petr Mladek
2018-01-26  4:27   ` Jason Baron
2018-01-26  9:09     ` Petr Mladek
2018-01-26 10:33   ` Evgenii Shatokhin
2018-01-31 21:55     ` Josh Poimboeuf [this message]
2018-02-01  8:15       ` Evgenii Shatokhin
2018-02-01 13:49   ` Miroslav Benes
2018-02-05 14:15     ` Petr Mladek
2018-02-01 13:49 ` PATCH v6 0/6] livepatch: Atomic replace feature Miroslav Benes
2018-02-01 14:28   ` Joe Lawrence
2018-02-01 15:08     ` Miroslav Benes
2018-02-01 15:18       ` Josh Poimboeuf
2018-02-01 15:51         ` Miroslav Benes

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=20180131215518.cwcxs2atfuzimyxt@treble \
    --to=jpoimboe@redhat.com \
    --cc=eshatokhin@virtuozzo.com \
    --cc=jbaron@akamai.com \
    --cc=jeyu@kernel.org \
    --cc=jikos@kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=live-patching@vger.kernel.org \
    --cc=mbenes@suse.cz \
    --cc=pmladek@suse.com \
    /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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox

all inboxes | Powered by JetHome®