[PATCH] module: set __jump_table alignment to 8

David Daney ddaney at caviumnetworks.com
Thu Mar 2 11:24:23 PST 2017


On 03/02/2017 10:26 AM, Jessica Yu wrote:
> +++ 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

Thanks Jessica,

Can you also add scripts/module-common.lds to MAINTAINERS so that 
get_maintainers.pl will indicate that Jessica Yu and Rusty Russell be 
CCed on things like this in the future?


>
>> 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 linux-arm-kernel mailing list