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

2017-03-02 Thread Michael Ellerman
Steven Rostedt  writes:
> On Thu, 02 Mar 2017 22:18:30 +1100
> Michael Ellerman  wrote:
>> Michael Ellerman  writes:
>> > David Daney  writes:  
>> >> 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.  
>> >
>> > It would obviously be nice if this could go in before the commit that
>> > exposes the breakage, but I guess that's problematic because Steve
>> > doesn't want to rebase the tracing tree.
>> >
>> > Steve I think you've already sent your pull request for this cycle? So I
>> > guess if this can go in your first batch of fixes?  
>> 
>> Ugh. Was looking at the wrong tree - Linus has already merged the commit
>> in question, so the above is all moot.
>
> No problem. I've got some other "fixes" to push to Linus. That's what
> the -rc releases are for. To fix up breakage from the merge window ;-)

Yep, no drama.

> I'll pull this into my tree.

Thanks.

cheers


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

2017-03-02 Thread Jessica Yu

+++ David Daney [02/03/17 11:24 -0800]:

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 

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?


Sure thing. Thanks for the heads up!

Jessica


On Wed,  1 Mar 2017 14:04:53 -0800
David Daney  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 
Tested-by: Sachin Sant 
---
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_array0 : { *(SORT(.init_array.*)) *(.init_array) }
+
+__jump_table0 : ALIGN(8) { KEEP(*(__jump_table)) }
}






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

2017-03-02 Thread David Daney

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 

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  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 
Tested-by: Sachin Sant 
---
 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_array0 : { *(SORT(.init_array.*)) *(.init_array) }
+
+__jump_table0 : ALIGN(8) { KEEP(*(__jump_table)) }
 }






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

2017-03-02 Thread Jessica Yu

+++ Steven Rostedt [02/03/17 13:11 -0500]:


Can I get an Ack from a module maintainer?


Acked-by: Jessica Yu 

Thanks!

Jessica


On Wed,  1 Mar 2017 14:04:53 -0800
David Daney  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 
Tested-by: Sachin Sant 
---
 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_table0 : ALIGN(8) { KEEP(*(__jump_table)) }
 }




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

2017-03-02 Thread Steven Rostedt

Can I get an Ack from a module maintainer?

Thanks!

-- Steve


On Wed,  1 Mar 2017 14:04:53 -0800
David Daney  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 
> Tested-by: Sachin Sant 
> ---
>  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_table0 : ALIGN(8) { KEEP(*(__jump_table)) }
>  }



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

2017-03-02 Thread Steven Rostedt
On Thu, 02 Mar 2017 22:18:30 +1100
Michael Ellerman  wrote:

> Michael Ellerman  writes:
> > David Daney  writes:  
> >> 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.  
> >
> > It would obviously be nice if this could go in before the commit that
> > exposes the breakage, but I guess that's problematic because Steve
> > doesn't want to rebase the tracing tree.
> >
> > Steve I think you've already sent your pull request for this cycle? So I
> > guess if this can go in your first batch of fixes?  
> 
> Ugh. Was looking at the wrong tree - Linus has already merged the commit
> in question, so the above is all moot.

No problem. I've got some other "fixes" to push to Linus. That's what
the -rc releases are for. To fix up breakage from the merge window ;-)

I'll pull this into my tree.

Thanks!

-- Steve


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

2017-03-02 Thread Jason Baron

On 03/01/2017 05:04 PM, David Daney 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 
Tested-by: Sachin Sant 
---


Looks good to me.

Reviewed-by: Jason Baron 

Thanks,

-Jason


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

2017-03-02 Thread Michael Ellerman
Michael Ellerman  writes:
> David Daney  writes:
>> 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.
>
> It would obviously be nice if this could go in before the commit that
> exposes the breakage, but I guess that's problematic because Steve
> doesn't want to rebase the tracing tree.
>
> Steve I think you've already sent your pull request for this cycle? So I
> guess if this can go in your first batch of fixes?

Ugh. Was looking at the wrong tree - Linus has already merged the commit
in question, so the above is all moot.

cheers


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

2017-03-02 Thread Michael Ellerman
David Daney  writes:

> 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.

Thanks for doing the patch.

If it helps:

Acked-by: Michael Ellerman  (powerpc)

> 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.

It would obviously be nice if this could go in before the commit that
exposes the breakage, but I guess that's problematic because Steve
doesn't want to rebase the tracing tree.

Steve I think you've already sent your pull request for this cycle? So I
guess if this can go in your first batch of fixes?

Or we could just send it directly to Linus?

cheers

> 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 
> Tested-by: Sachin Sant 
> ---
>  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_table0 : ALIGN(8) { KEEP(*(__jump_table)) }
>  }
> -- 
> 2.9.3


[PATCH] module: set __jump_table alignment to 8

2017-03-01 Thread David Daney
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 
Tested-by: Sachin Sant 
---
 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_table0 : ALIGN(8) { KEEP(*(__jump_table)) }
 }
-- 
2.9.3