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

From: Torsten Duwe <[email-masked]>
Date: Thu, 17 Mar 2016 16:42:56 +0100

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.

	Torsten