Re: [PATCH] module: set __jump_table alignment to 8
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
+++ 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
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
+++ 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
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
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
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
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
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