From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from ozlabs.org (bilbo.ozlabs.org [103.22.144.67]) (using TLSv1.2 with cipher ADH-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by lists.ozlabs.org (Postfix) with ESMTPS id 3ywyXb1zQ1zDrVC for ; Tue, 12 Dec 2017 22:39:27 +1100 (AEDT) In-Reply-To: <20171114092910.20399-2-kamalesh@linux.vnet.ibm.com> To: Kamalesh Babulal From: Michael Ellerman Cc: Aravinda Prasad , Jessica Yu , linux-kernel@vger.kernel.org, Kamalesh Babulal , Torsten Duwe , Josh Poimboeuf , live-patching@vger.kernel.org, "Naveen N . Rao" , linuxppc-dev@lists.ozlabs.org Subject: Re: [v4, 1/3] kernel/modules: Add REL24 relocation support of livepatch symbols Message-Id: <3ywyXZ6nm7z9t2f@ozlabs.org> Date: Tue, 12 Dec 2017 22:39:26 +1100 (AEDT) List-Id: Linux on PowerPC Developers Mail List List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , On Tue, 2017-11-14 at 09:29:08 UTC, Kamalesh Babulal wrote: > Livepatch re-uses module loader function apply_relocate_add() to write > relocations, instead of managing them by arch-dependent > klp_write_module_reloc() function. > > apply_relocate_add() doesn't understand livepatch symbols (marked with > SHN_LIVEPATCH symbol section index) and assumes them to be local symbols > by default for R_PPC64_REL24 relocation type. It fails with an error, > when trying to calculate offset with local_entry_offset(): > > module_64: kpatch_meminfo: REL24 -1152921504897399800 out of range! > > Whereas livepatch symbols are essentially SHN_UNDEF, should be > called via stub used for global calls. This issue can be fixed by > teaching apply_relocate_add() to handle both SHN_UNDEF/SHN_LIVEPATCH > symbols via the same stub. This patch extends SHN_UNDEF code to handle > livepatch symbols too. > > Signed-off-by: Kamalesh Babulal > CC: Balbir Singh > Cc: Naveen N. Rao > Cc: Josh Poimboeuf > Cc: Jessica Yu > Cc: Ananth N Mavinakayanahalli > Cc: Aravinda Prasad > Cc: Torsten Duwe Applied to powerpc next, thanks. https://git.kernel.org/powerpc/c/a443bf6e8a7674b86221f4922cae82 cheers