[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-Id: <20170301220453.4756-1-david.daney@cavium.com>
Date: Wed, 1 Mar 2017 14:04:53 -0800
From: David Daney <david.daney@...ium.com>
To: Jason Baron <jbaron@...mai.com>,
Steven Rostedt <rostedt@...dmis.org>,
Michael Ellerman <mpe@...erman.id.au>,
Sachin Sant <sachinp@...ux.vnet.ibm.com>,
linux-kernel@...r.kernel.org
Cc: linux-mips@...ux-mips.org, linuxppc-dev@...ts.ozlabs.org,
linux-arm-kernel@...ts.infradead.org,
Chris Metcalf <cmetcalf@...lanox.com>,
Ralf Baechle <ralf@...ux-mips.org>,
Russell King <linux@...linux.org.uk>,
Rabin Vincent <rabin@....in>,
Paul Mackerras <paulus@...ba.org>,
Anton Blanchard <anton@...ba.org>,
Ingo Molnar <mingo@...nel.org>, Zhigang Lu <zlu@...hip.com>,
David Daney <david.daney@...ium.com>
Subject: [PATCH] module: set __jump_table alignment to 8
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.
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.
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 <david.daney@...ium.com>
Tested-by: Sachin Sant <sachinp@...ux.vnet.ibm.com>
---
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
Powered by blists - more mailing lists