retpoline: Add retpoline tag to VERMAGIC
PATCH v3 1/1 retpoline: Add retpoline tag to VERMAGIC
From: Andi Kleen <[email protected]>
Add a marker for retpoline to the module VERMAGIC. This catches the case when a non RETPOLINE compiled module gets loaded into a retpoline kernel, making it insecure.
It doesn't handle the case when retpoline has been runtime disabled. Even in this case the match of the retcompile status will be enforced. This implies that even with retpoline run time disabled all modules loaded need to be recompiled.
This supersedes an earlier patch that did the same checking using a new module tag (so it's really a v3)
--- include/linux/vermagic.h | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-)
include/linux/vermagic.h +7 -1
@@ -31,11 +31,17 @@#else #define MODULE_RANDSTRUCT_PLUGIN #endif +#ifdef RETPOLINE +#define MODULE_VERMAGIC_RETPOLINE "retpoline " +#else +#define MODULE_VERMAGIC_RETPOLINE "" +#endif #define VERMAGIC_STRING \ UTS_RELEASE " " \ MODULE_VERMAGIC_SMP MODULE_VERMAGIC_PREEMPT \ MODULE_VERMAGIC_MODULE_UNLOAD MODULE_VERMAGIC_MODVERSIONS \ MODULE_ARCH_VERMAGIC \ - MODULE_RANDSTRUCT_PLUGIN + MODULE_RANDSTRUCT_PLUGIN \ + MODULE_VERMAGIC_RETPOLINE
Signature · 1 line
2.14.3
Quoted 11 lines · Andi Kleen
From: Andi Kleen <[email protected]>
Add a marker for retpoline to the module VERMAGIC. This catches the case when a non RETPOLINE compiled module gets loaded into a retpoline kernel, making it insecure.
It doesn't handle the case when retpoline has been runtime disabled. Even in this case the match of the retcompile status will be enforced. This implies that even with retpoline run time disabled all modules loaded need to be recompiled.
Quoted 4 lines
This supersedes an earlier patch that did the same checking using a new module tag (so it's really a v3)
Signed-off-by Andi Kleen <[email protected]>
Quoted 31 lines
--- include/linux/vermagic.h | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-)include/linux/vermagic.h +7
-1@@ -31,11 +31,17 @@#else #define MODULE_RANDSTRUCT_PLUGIN #endif +#ifdef RETPOLINE +#define MODULE_VERMAGIC_RETPOLINE "retpoline " +#else +#define MODULE_VERMAGIC_RETPOLINE "" +#endif #define VERMAGIC_STRING \ UTS_RELEASE " " \ MODULE_VERMAGIC_SMP MODULE_VERMAGIC_PREEMPT \ MODULE_VERMAGIC_MODULE_UNLOAD MODULE_VERMAGIC_MODVERSIONS \ MODULE_ARCH_VERMAGIC \ - MODULE_RANDSTRUCT_PLUGIN + MODULE_RANDSTRUCT_PLUGIN \ + MODULE_VERMAGIC_RETPOLINESignature · 1 line
2.14.3
Quoted 13 lines · Thomas Gleixner
Quoted 11 lines · Andi Kleen
From: Andi Kleen <[email protected]>
Add a marker for retpoline to the module VERMAGIC. This catches the case when a non RETPOLINE compiled module gets loaded into a retpoline kernel, making it insecure.
It doesn't handle the case when retpoline has been runtime disabled. Even in this case the match of the retcompile status will be enforced. This implies that even with retpoline run time disabled all modules loaded need to be recompiled.
Quoted 6 lines
Quoted 4 lines
This supersedes an earlier patch that did the same checking using a new module tag (so it's really a v3)
Signed-off-by Andi Kleen <[email protected]>Acked-by Thomas Gleixner <[email protected]>
Thanks. Through which tree should this go?
Or Linus, could you take it directly?
-Andi
Quoted 17 lines · Andi Kleen
Quoted 16 lines · Thomas Gleixner
Quoted 14 lines · Andi Kleen
From: Andi Kleen <[email protected]>
Add a marker for retpoline to the module VERMAGIC. This catches the case when a non RETPOLINE compiled module gets loaded into a retpoline kernel, making it insecure.
It doesn't handle the case when retpoline has been runtime disabled. Even in this case the match of the retcompile status will be enforced. This implies that even with retpoline run time disabled all modules loaded need to be recompiled.
This supersedes an earlier patch that did the same checking using a new module tag (so it's really a v3)
Quoted 6 lines
Quoted 3 lines
Quoted 1 line
Signed-off-by Andi Kleen <[email protected]>Acked-by Thomas Gleixner <[email protected]>Thanks. Through which tree should this go?
Or Linus, could you take it directly?
I can route it through x86/pti where I have still stuff to send linuswards.
Thanks,
tglx
Quoted 11 lines · Andi Kleen
From: Andi Kleen <[email protected]>
Add a marker for retpoline to the module VERMAGIC. This catches the case when a non RETPOLINE compiled module gets loaded into a retpoline kernel, making it insecure.
It doesn't handle the case when retpoline has been runtime disabled. Even in this case the match of the retcompile status will be enforced. This implies that even with retpoline run time disabled all modules loaded need to be recompiled.
Quoted 4 lines
This supersedes an earlier patch that did the same checking using a new module tag (so it's really a v3)
Signed-off-by Andi Kleen <[email protected]>
tip-bot for Andi Kleen
merge bot[tip:x86/pti] module: Add retpoline tag to VERMAGIC
In reply to Andi Kleenmodule: Add retpoline tag to VERMAGIC
Commit-ID: 6cfb521ac0d5b97470883ff9b7facae264b7ab12 Gitweb: https://git.kernel.org/tip/6cfb521ac0d5b97470883ff9b7facae264b7ab12 Author: Andi Kleen <[email protected]> AuthorDate: Tue, 16 Jan 2018 12:52:28 -0800 Committer: Thomas Gleixner <[email protected]> CommitDate: Wed, 17 Jan 2018 11:35:14 +0100
module: Add retpoline tag to VERMAGIC
Add a marker for retpoline to the module VERMAGIC. This catches the case when a non RETPOLINE compiled module gets loaded into a retpoline kernel, making it insecure.
It doesn't handle the case when retpoline has been runtime disabled. Even in this case the match of the retcompile status will be enforced. This implies that even with retpoline run time disabled all modules loaded need to be recompiled.
--- include/linux/vermagic.h | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-)
include/linux/vermagic.h +7 -1
@@ -31,11 +31,17 @@#else #define MODULE_RANDSTRUCT_PLUGIN #endif +#ifdef RETPOLINE +#define MODULE_VERMAGIC_RETPOLINE "retpoline " +#else +#define MODULE_VERMAGIC_RETPOLINE "" +#endif #define VERMAGIC_STRING \ UTS_RELEASE " " \ MODULE_VERMAGIC_SMP MODULE_VERMAGIC_PREEMPT \ MODULE_VERMAGIC_MODULE_UNLOAD MODULE_VERMAGIC_MODVERSIONS \ MODULE_ARCH_VERMAGIC \ - MODULE_RANDSTRUCT_PLUGIN + MODULE_RANDSTRUCT_PLUGIN \ + MODULE_VERMAGIC_RETPOLINE
Re: [tip:x86/pti] module: Add retpoline tag to VERMAGIC
Quoted 9 lines · tip-bot for Andi Kleen
Commit-ID: 6cfb521ac0d5b97470883ff9b7facae264b7ab12 Gitweb: https://git.kernel.org/tip/6cfb521ac0d5b97470883ff9b7facae264b7ab12 Author: Andi Kleen <[email protected]> AuthorDate: Tue, 16 Jan 2018 12:52:28 -0800 Committer: Thomas Gleixner <[email protected]> CommitDate: Wed, 17 Jan 2018 11:35:14 +0100module: Add retpoline tag to VERMAGIC
Quoted 8 lines
Add a marker for retpoline to the module VERMAGIC. This catches the case when a non RETPOLINE compiled module gets loaded into a retpoline kernel, making it insecure.
It doesn't handle the case when retpoline has been runtime disabled. Even in this case the match of the retcompile status will be enforced. This implies that even with retpoline run time disabled all modules loaded need to be recompiled.
If the user overrides the vermagic and loads the module, shouldn't we update the spectre_v2 sysfs vulnerability status and print a warning like in v2?
Signature · 1 line
Josh
Re: [tip:x86/pti] module: Add retpoline tag to VERMAGIC
Quoted 14 lines · Josh Poimboeuf
Quoted 13 lines · tip-bot for Andi Kleen
Commit-ID: 6cfb521ac0d5b97470883ff9b7facae264b7ab12 Gitweb: https://git.kernel.org/tip/6cfb521ac0d5b97470883ff9b7facae264b7ab12 Author: Andi Kleen <[email protected]> AuthorDate: Tue, 16 Jan 2018 12:52:28 -0800 Committer: Thomas Gleixner <[email protected]> CommitDate: Wed, 17 Jan 2018 11:35:14 +0100module: Add retpoline tag to VERMAGIC
Add a marker for retpoline to the module VERMAGIC. This catches the case when a non RETPOLINE compiled module gets loaded into a retpoline kernel, making it insecure.
Quoted 8 lines
Quoted 4 lines
It doesn't handle the case when retpoline has been runtime disabled. Even in this case the match of the retcompile status will be enforced. This implies that even with retpoline run time disabled all modules loaded need to be recompiled.
If the user overrides the vermagic and loads the module, shouldn't we update the
spectre_v2sysfs vulnerability status and print a warning like in v2?
If the user does that then the sysfs output is not our problem anymore, really.
Thanks,
tglx