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 3ywyXZ6Nj5zDqmD for ; Tue, 12 Dec 2017 22:39:26 +1100 (AEDT) In-Reply-To: <20171116174537.duz4x6vfzhp44lfh@treble> To: Josh Poimboeuf , "Naveen N. Rao" From: Michael Ellerman Cc: linux-kernel@vger.kernel.org, Kamalesh Babulal , live-patching@vger.kernel.org, linuxppc-dev@lists.ozlabs.org Subject: Re: [v4.2] powerpc/modules: Don't try to restore r2 after a sibling call Message-Id: <3ywyXY71NTz9t3m@ozlabs.org> Date: Tue, 12 Dec 2017 22:39:25 +1100 (AEDT) List-Id: Linux on PowerPC Developers Mail List List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , On Thu, 2017-11-16 at 17:45:37 UTC, Josh Poimboeuf wrote: > > From: Josh Poimboeuf > Subject: [PATCH v4.2] powerpc/modules: Don't try to restore r2 after a sibling call > > When attempting to load a livepatch module, I got the following error: > > module_64: patch_module: Expect noop after relocate, got 3c820000 > > The error was triggered by the following code in > unregister_netdevice_queue(): > > 14c: 00 00 00 48 b 14c > 14c: R_PPC64_REL24 net_set_todo > 150: 00 00 82 3c addis r4,r2,0 > > GCC didn't insert a nop after the branch to net_set_todo() because it's > a sibling call, so it never returns. The nop isn't needed after the > branch in that case. > > Signed-off-by: Josh Poimboeuf > Acked-by: Naveen N. Rao Applied to powerpc next, thanks. https://git.kernel.org/powerpc/c/b9eab08d012fa093947b230f9a8725 cheers