Re: [PATCH][v4] livepatch/ppc: Enable livepatching on powerpc

From: Miroslav Benes
Date: Fri Mar 04 2016 - 04:31:46 EST



Hi,

On Fri, 4 Mar 2016, Michael Ellerman wrote:

> Hi Petr,
>
> On Thu, 2016-03-03 at 17:52 +0100, Petr Mladek wrote:
>
> > From: Balbir Singh <bsingharora@xxxxxxxxx>
> >
> > Changelog v4:
> > 1. Renamed klp_matchaddr() to klp_get_ftrace_location()
> > and used it just to convert the function address.
> > 2. Synced klp_write_module_reloc() with s390(); made it
> > inline, no error message, return -ENOSYS
>
> OK.
>
> > 3. Added an error message when including
> > powerpc/include/asm/livepatch.h without HAVE_LIVEPATCH
>
> I don't know why we want to do that, I don't see how it is helpful. It doesn't
> even do what it says:
>
> > +#ifdef CONFIG_LIVEPATCH
> ...
> > +#else /* CONFIG_LIVEPATCH */
> > +#error Include linux/livepatch.h, not asm/livepatch.h
> > +#endif /* CONFIG_LIVEPATCH */
>
> If I turn on CONFIG_LIVEPATCH then I can quite happily include asm/livepatch.h
> and not get an error. So the check doesn't do what the message suggests.

Well, yes. I looked into the archives to find if there was a reason to
even introduce it. It was not. It came up during a review process of the
livepatching patch set somehow and we left it there. I only changed the
error message to the mentioned one because we deemed it was better.

> If we *really* want to prevent people from including asm/livepatch.h then it
> needs to check for _LINUX_LIVEPATCH_H_. But there's no reason I can see why we
> *must* prevent people from including asm/livepatch.h.
>
> And on x86 & s390 it does:
>
> #else
> #error Live patching support is disabled; check CONFIG_LIVEPATCH
> #endif
>
> Which is also not helpful AFAICS, and just likely to break the build for no
> good reason.

This is the old message. See 383bf44d1a8b ("livepatch: change the error
message in asm/livepatch.h header files").

Anyway, it really does not mean much. I'll send a patch for s390 and x86
to remove it completely in a minute.

Thanks,
Miroslav