Commit ab426321 authored by David Daney's avatar David Daney Committed by Steven Rostedt (VMware)

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 3821fd35
("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.

Link: http://lkml.kernel.org/r/20170301220453.4756-1-david.daney@cavium.comReviewed-by: default avatarJason Baron <jbaron@akamai.com>
Acked-by: default avatarJessica Yu <jeyu@redhat.com>
Acked-by: Michael Ellerman <mpe@ellerman.id.au> (powerpc)
Tested-by: default avatarSachin Sant <sachinp@linux.vnet.ibm.com>
Signed-off-by: default avatarDavid Daney <david.daney@cavium.com>
Signed-off-by: default avatarSteven Rostedt (VMware) <rostedt@goodmis.org>
parent 92ad18ec
...@@ -19,4 +19,6 @@ SECTIONS { ...@@ -19,4 +19,6 @@ SECTIONS {
. = ALIGN(8); . = ALIGN(8);
.init_array 0 : { *(SORT(.init_array.*)) *(.init_array) } .init_array 0 : { *(SORT(.init_array.*)) *(.init_array) }
__jump_table 0 : ALIGN(8) { KEEP(*(__jump_table)) }
} }
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment