Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1751668AbcDOI3H (ORCPT ); Fri, 15 Apr 2016 04:29:07 -0400 Received: from mx2.suse.de ([195.135.220.15]:50194 "EHLO mx2.suse.de" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1752555AbcDOI3D (ORCPT ); Fri, 15 Apr 2016 04:29:03 -0400 Date: Fri, 15 Apr 2016 10:28:58 +0200 (CEST) From: Miroslav Benes To: Jessica Yu cc: Michael Ellerman , linuxppc-dev@ozlabs.org, bsingharora@gmail.com, duwe@lst.de, linux-kernel@vger.kernel.org, rostedt@goodmis.org, kamalesh@linux.vnet.ibm.com, pmladek@suse.com, jikos@kernel.org, live-patching@vger.kernel.org Subject: Re: Live patching for powerpc In-Reply-To: <20160414192031.GB25297@packer-debian-8-amd64.digitalocean.com> Message-ID: References: <1460552003-15409-1-git-send-email-mpe@ellerman.id.au> <20160413182228.GA16776@packer-debian-8-amd64.digitalocean.com> <20160414192031.GB25297@packer-debian-8-amd64.digitalocean.com> User-Agent: Alpine 2.00 (LNX 1167 2008-08-23) MIME-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 1622 Lines: 37 On Thu, 14 Apr 2016, Jessica Yu wrote: > +++ Miroslav Benes [14/04/16 15:28 +0200]: > > On Wed, 13 Apr 2016, Jessica Yu wrote: > > > > A second concern I have is that apply_relocate_add() relies on > > > sections like .stubs and .toc (for 64-bit) and .init.plt and .plt > > > sections (for 32-bit). In order for apply_relocate_add() to work for > > > livepatch, we must make sure these sections aren't thrown away and are > > > not in init module memory since this memory will be freed at the end > > > of module load (see how INIT_OFFSET_MASK is used in kernel/module.c). > > > As long as these sections are placed in module core memory, we will be > > > OK. I need to think about this a bit more. > > > > I knew I shouldn't have opened arch/powerpc/kernel/module*.c. > > > > We could always hack sh_flags of those sections in > > module_arch_frob_sections() to make them stay. > > > > I think we are fine here too. The onus would be on the patch build > tool (e.g., kpatch) to set the sh_flags to SHF_ALLOC, like we > already do to keep the klp relocation sections in memory :-) Yes, this is probably the best way. > For the 32-bit module code, I don't believe we would need to preserve > the .init.plt section for livepatch's call to apply_relocate_add(), > since relocations to init sections should've been applied during > module initialization, and we don't patch those types of functions. > Please correct me if my understanding is off. I think you are right, but I also think we don't have to worry about 32-bit powerpc anyway. This patch set supports ppc64le only so we can leave it for now. Miroslav