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

From: Torsten Duwe
Date: Thu Mar 17 2016 - 11:43:14 EST

On Wed, Mar 09, 2016 at 05:59:40PM +1100, Balbir Singh wrote:
> Changelog v6:
> 1. Experimental changes -- need loads of testing
> Based on the assumption that very far TOC and LR values
> indicate the call happened through a stub and the
> stub return works differently from a local call which
> uses klp_return_helper.

Well, this is true, but the inverse is not.
Less than 2GiB between LR and TOC is a necessary but not a sufficient
condition for a local call.

I see the problem with your code that it hardly detects calls from one module
to another nearby. It will fail iff you mistake a global call to a module loaded
earlier to be local while patching AND you access global data / 64-bit constants
after that call before the TOC is sanitised again.