Re: [PATCH 0/3] livepatch/rcu: Handle some subtle issues between livepatching and RCU

From: Paul E. McKenney
Date: Thu May 04 2017 - 12:55:38 EST


On Thu, May 04, 2017 at 12:55:13PM +0200, Petr Mladek wrote:
> Steven and Paul recently discussed some issues when using RCU
> functionality in ftrace handlers. A good summary can be found at
> https://lkml.kernel.org/r/20170412115304.3077dbc8@xxxxxxxxxxxxxxxxxx
>
> This discussion made us to revisit the ftrace handler used by
> the livepatches. Some changes seem to be needed. A perfect solution
> looks rather complicated. I have implemented a sub-optimal
> one and split it into three patches for easier review.
>
> Please, note that we were on the safe side before introducing
> the hybrid consistency model. The ftrace handler worked correctly
> with empty function stack. Also the patch removal was not possible.
> But we need to be more careful now.

I don't know enough to say much about the live patching, but the
characterization of how RCU works is correct.

Thanx, Paul

> Petr Mladek (3):
> livepatch/rcu: Guarantee consistency when patching idle kthreads
> livepatch/rcu: Warn when system consistency is broken in RCU code
> livepatch/rcu: Disable livepatch removal when safety is not guaranteed
>
> Documentation/livepatch/livepatch.txt | 19 +++++++++++++++++++
> kernel/livepatch/patch.c | 14 ++++++++++++++
> kernel/livepatch/transition.c | 7 ++++++-
> kernel/livepatch/transition.h | 2 ++
> 4 files changed, 41 insertions(+), 1 deletion(-)
>
> --
> 1.8.5.6
>