Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1759652AbcCDSRD (ORCPT ); Fri, 4 Mar 2016 13:17:03 -0500 Received: from verein.lst.de ([213.95.11.211]:56766 "EHLO newverein.lst.de" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1752956AbcCDSRA (ORCPT ); Fri, 4 Mar 2016 13:17:00 -0500 Date: Fri, 4 Mar 2016 19:16:57 +0100 From: Torsten Duwe To: Petr Mladek Cc: linuxppc-dev@ozlabs.org, Balbir Singh , linux-kernel@vger.kernel.org, rostedt@goodmis.org, kamalesh@linux.vnet.ibm.com, jeyu@redhat.com, jkosina@suse.cz, live-patching@vger.kernel.org, mbenes@suse.cz Subject: Re: [PATCH][v4] livepatch/ppc: Enable livepatching on powerpc Message-ID: <20160304181657.GA30434@lst.de> References: <1457023921-2051-1-git-send-email-pmladek@suse.com> <20160304124247.GA20914@lst.de> <20160304130137.GC3166@pathway.suse.cz> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20160304130137.GC3166@pathway.suse.cz> User-Agent: Mutt/1.5.17 (2007-11-01) Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 1012 Lines: 28 On Fri, Mar 04, 2016 at 02:01:37PM +0100, Petr Mladek wrote: > > Do I understand it correctly that we could not patch functions that > pass arguments on the stack with this implementation? If yes, how hard > would be to get it working, please? At least, it would be great to > catch this problem and handle it with grace. Otherwise, it might > be hard to debug. No, those functions only require special attention. I needed _any_ location to store the caller's TOC; and the stack is thread-safe and recursion-safe. The current caller's frame is already full so I had to create a new one. A patch function could e.g. grab that TOC value in a prologue and then pop that stack frame. Or it could add those 32 bytes to the assumed arguments' stack offsets. > > > Where shall we put this warning? > > Sadly, we do not have any Documentation/livepatch/ yet/. > I still hope that we could handle it somehow in the code. I really think some documentation would be good, a live patch howto for a start... Torsten