[PATCH] module: set __jump_table alignment to 8
Jessica Yu
jeyu at redhat.com
Fri Mar 3 05:26:25 AEDT 2017
+++ Steven Rostedt [02/03/17 13:11 -0500]:
>
>Can I get an Ack from a module maintainer?
Acked-by: Jessica Yu <jeyu at redhat.com>
Thanks!
Jessica
>On Wed, 1 Mar 2017 14:04:53 -0800
>David Daney <david.daney at cavium.com> wrote:
>
>> 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 at cavium.com>
>> Tested-by: Sachin Sant <sachinp at linux.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)) }
>> }
>
More information about the Linuxppc-dev
mailing list