summaryrefslogtreecommitdiffstats
path: root/scripts
diff options
context:
space:
mode:
authorDavid Daney <david.daney@cavium.com>2017-03-01 14:04:53 -0800
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>2017-12-16 10:33:51 +0100
commitd180639d86e1dfd28edad94992443ac731a5e517 (patch)
treed81d17e59c8a4909b09ad035b1b9b7097a7f762e /scripts
parent23f9e8448219a75f4f135f672308fb757db8a992 (diff)
downloadlinux-stable-d180639d86e1dfd28edad94992443ac731a5e517.tar.gz
linux-stable-d180639d86e1dfd28edad94992443ac731a5e517.tar.bz2
linux-stable-d180639d86e1dfd28edad94992443ac731a5e517.zip
module: set __jump_table alignment to 8
[ Upstream commit ab42632156becd35d3884ee5c14da2bedbf3149a ] 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. Link: http://lkml.kernel.org/r/20170301220453.4756-1-david.daney@cavium.com Reviewed-by: Jason Baron <jbaron@akamai.com> Acked-by: Jessica Yu <jeyu@redhat.com> Acked-by: Michael Ellerman <mpe@ellerman.id.au> (powerpc) Tested-by: Sachin Sant <sachinp@linux.vnet.ibm.com> Signed-off-by: David Daney <david.daney@cavium.com> Signed-off-by: Steven Rostedt (VMware) <rostedt@goodmis.org> Signed-off-by: Sasha Levin <alexander.levin@verizon.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Diffstat (limited to 'scripts')
-rw-r--r--scripts/module-common.lds2
1 files changed, 2 insertions, 0 deletions
diff --git a/scripts/module-common.lds b/scripts/module-common.lds
index 73a2c7da0e55..53234e85192a 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)) }
}