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

From: Josh Poimboeuf
Date: Wed May 04 2016 - 13:02:43 EST


On Wed, May 04, 2016 at 02:39:40PM +0200, Petr Mladek wrote:
> On Thu 2016-04-28 15:44:48, Josh Poimboeuf wrote:
> > 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.

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()

--
Josh