Path: csiph.com!aioe.org!gothmog.csi.it!bofh.it!news.nic.it!robomod From: Torsten Duwe Newsgroups: linux.kernel Subject: Re: [PATCH][v6][RFC] livepatch/ppc: Enable livepatching on powerpc Date: Thu, 17 Mar 2016 16:50:01 +0100 Message-ID: References: X-Original-To: Balbir Singh MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline User-Agent: Mutt/1.5.17 (2007-11-01) Sender: robomod@news.nic.it List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Approved: robomod@news.nic.it Lines: 19 Organization: linux.* mail to news gateway X-Original-Cc: linuxppc-dev@ozlabs.org, linux-kernel@vger.kernel.org, rostedt@goodmis.org, kamalesh@linux.vnet.ibm.com, pmladek@suse.com, jeyu@redhat.com, jkosina@suse.cz, live-patching@vger.kernel.org, mbenes@suse.cz X-Original-Date: Thu, 17 Mar 2016 16:42:56 +0100 X-Original-Message-ID: <20160317154256.GA32575@lst.de> X-Original-References: <1457506780-19556-1-git-send-email-bsingharora@gmail.com> X-Original-Sender: linux-kernel-owner@vger.kernel.org Xref: csiph.com linux.kernel:1359962 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