History

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. Link: http://lkml.kernel.org/r/20170301220453.4756-1-david.daney@cavium.com

David Daney committed 9 years ago

Commit ab426321 parent 92ad18e1 file · +2 −0Browse files

Unified · Split

scripts/module-common.lds+2−0
@@ -19,4 +19,6 @@ SECTIONS { · 18 unmodified lines
19 19
20 . = ALIGN(8);20 . = ALIGN(8);
21 .init_array 0 : { *(SORT(.init_array.*)) *(.init_array) }21 .init_array 0 : { *(SORT(.init_array.*)) *(.init_array) }
22
23 __jump_table 0 : ALIGN(8) { KEEP(*(__jump_table)) }
22}24}