Re: PATCH v6 0/6] livepatch: Atomic replace feature

From: Miroslav Benes
Date: Thu Feb 01 2018 - 10:51:38 EST


On Thu, 1 Feb 2018, Josh Poimboeuf wrote:

> On Thu, Feb 01, 2018 at 04:08:14PM +0100, Miroslav Benes wrote:
> > On Thu, 1 Feb 2018, Joe Lawrence wrote:
> >
> > > On 02/01/2018 08:49 AM, Miroslav Benes wrote:
> > > >
> > > > Well, one more thing. I think there is a problem with shadow variables.
> > > > Similar to callbacks situation. Shadow variables cannot be destroyed the
> > > > way it is shown in our samples. Cumulative patches want to preserve
> > > > everything as much as possible. If I'm right, it should be mentioned in
> > > > the documentation.
> > >
> > > Are you talking about using klp_shadow_free_all() call in a module_exit
> > > routine? Yeah, I think in this case, that responsibility would be
> > > passed to the newly loaded cumulative patch, right?
> >
> > Yes, but we haven't got an option not to call it here (as with callbacks,
> > where we can omit callbacks completely with atomic replace patches). A
> > live patch author must be aware of this and use shadow variables
> > appropriately.
>
> So maybe we should recommend that shadow variables generally be freed
> from a post-unpatch callback.

Yes, that's a possibility. In other words, if there is a need to call
klp_shadow_free_all() somewhere, it should be in a post-unpatch callback.

Miroslav