Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1752037AbdCBK60 (ORCPT ); Thu, 2 Mar 2017 05:58:26 -0500 Received: from ozlabs.org ([103.22.144.67]:53321 "EHLO ozlabs.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751099AbdCBK6G (ORCPT ); Thu, 2 Mar 2017 05:58:06 -0500 From: Michael Ellerman To: David Daney , Jason Baron , Steven Rostedt , Sachin Sant , linux-kernel@vger.kernel.org Cc: linux-mips@linux-mips.org, linuxppc-dev@lists.ozlabs.org, linux-arm-kernel@lists.infradead.org, Chris Metcalf , Ralf Baechle , Russell King , Rabin Vincent , Paul Mackerras , Anton Blanchard , Ingo Molnar , Zhigang Lu , David Daney Subject: Re: [PATCH] module: set __jump_table alignment to 8 In-Reply-To: <20170301220453.4756-1-david.daney@cavium.com> References: <20170301220453.4756-1-david.daney@cavium.com> User-Agent: Notmuch/0.21 (https://notmuchmail.org) Date: Thu, 02 Mar 2017 21:47:07 +1100 Message-ID: <87varsj6qc.fsf@concordia.ellerman.id.au> MIME-Version: 1.0 Content-Type: text/plain Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 1544 Lines: 49 David Daney writes: > For powerpc the __jump_table section in modules is not aligned, this > causes a WARN_ON() splat when loading a module containing a __jump_table. Thanks for doing the patch. If it helps: Acked-by: Michael Ellerman (powerpc) > Strict alignment became necessary with commit 3821fd35b58d > ("jump_label: Reduce the size of struct static_key"), currently in > linux-next, which uses the two least significant bits of pointers to > __jump_table elements. It would obviously be nice if this could go in before the commit that exposes the breakage, but I guess that's problematic because Steve doesn't want to rebase the tracing tree. Steve I think you've already sent your pull request for this cycle? So I guess if this can go in your first batch of fixes? Or we could just send it directly to Linus? cheers > Fix by forcing __jump_table to 8, which is the same alignment used for > this section in the kernel proper. > > Signed-off-by: David Daney > Tested-by: Sachin Sant > --- > scripts/module-common.lds | 2 ++ > 1 file changed, 2 insertions(+) > > diff --git a/scripts/module-common.lds b/scripts/module-common.lds > index 73a2c7d..53234e8 100644 > --- a/scripts/module-common.lds > +++ b/scripts/module-common.lds > @@ -19,4 +19,6 @@ SECTIONS { > > . = ALIGN(8); > .init_array 0 : { *(SORT(.init_array.*)) *(.init_array) } > + > + __jump_table 0 : ALIGN(8) { KEEP(*(__jump_table)) } > } > -- > 2.9.3