Thread (10 messages) flat view 10 messages, 6 authors, 2017-03-03

Re: [PATCH] module: set __jump_table alignment to 8

From: David Daney <hidden>
Date: 2017-03-02 21:02:54
Also in: linux-arm-kernel, linux-mips, lkml

On 03/02/2017 10:26 AM, Jessica Yu wrote:
quoted hunk ↗ jump to hunk
+++ Steven Rostedt [02/03/17 13:11 -0500]:
quoted
Can I get an Ack from a module maintainer?
Acked-by: Jessica Yu <redacted>

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?

quoted
On Wed,  1 Mar 2017 14:04:53 -0800
David Daney [off-list ref] wrote:
quoted
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 <redacted>
Tested-by: Sachin Sant <redacted>
---
 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)) }
 }
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help