All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH v3] retpoline: Add retpoline tag to VERMAGIC
@ 2018-01-16 20:52 Andi Kleen
  2018-01-16 21:24 ` Thomas Gleixner
                   ` (2 more replies)
  0 siblings, 3 replies; 8+ messages in thread
From: Andi Kleen @ 2018-01-16 20:52 UTC (permalink / raw)
  To: tglx
  Cc: torvalds, dwmw, linux-kernel, gregkh, arjan.van.de.ven, jeyu,
	rusty, Andi Kleen

From: Andi Kleen <ak@linux.intel.com>

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)

Signed-off-by: Andi Kleen <ak@linux.intel.com>
---
 include/linux/vermagic.h | 8 +++++++-
 1 file changed, 7 insertions(+), 1 deletion(-)

diff --git a/include/linux/vermagic.h b/include/linux/vermagic.h
index bae807eb2933..853291714ae0 100644
--- a/include/linux/vermagic.h
+++ b/include/linux/vermagic.h
@@ -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
 
-- 
2.14.3

^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: [PATCH v3] retpoline: Add retpoline tag to VERMAGIC
  2018-01-16 20:52 [PATCH v3] retpoline: Add retpoline tag to VERMAGIC Andi Kleen
@ 2018-01-16 21:24 ` Thomas Gleixner
  2018-01-16 22:34   ` Andi Kleen
  2018-01-17  5:11 ` Greg KH
  2018-01-17 10:40 ` [tip:x86/pti] module: " tip-bot for Andi Kleen
  2 siblings, 1 reply; 8+ messages in thread
From: Thomas Gleixner @ 2018-01-16 21:24 UTC (permalink / raw)
  To: Andi Kleen
  Cc: torvalds, dwmw, linux-kernel, gregkh, arjan.van.de.ven, jeyu,
	rusty, Andi Kleen

On Tue, 16 Jan 2018, Andi Kleen wrote:

> From: Andi Kleen <ak@linux.intel.com>
> 
> 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)
> 
> Signed-off-by: Andi Kleen <ak@linux.intel.com>

Acked-by: Thomas Gleixner <tglx@linutronix.de>

> ---
>  include/linux/vermagic.h | 8 +++++++-
>  1 file changed, 7 insertions(+), 1 deletion(-)
> 
> diff --git a/include/linux/vermagic.h b/include/linux/vermagic.h
> index bae807eb2933..853291714ae0 100644
> --- a/include/linux/vermagic.h
> +++ b/include/linux/vermagic.h
> @@ -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
>  
> -- 
> 2.14.3
> 
> 

^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: [PATCH v3] retpoline: Add retpoline tag to VERMAGIC
  2018-01-16 21:24 ` Thomas Gleixner
@ 2018-01-16 22:34   ` Andi Kleen
  2018-01-17  7:38     ` Thomas Gleixner
  0 siblings, 1 reply; 8+ messages in thread
From: Andi Kleen @ 2018-01-16 22:34 UTC (permalink / raw)
  To: Thomas Gleixner
  Cc: Andi Kleen, torvalds, dwmw, linux-kernel, gregkh,
	arjan.van.de.ven, jeyu, rusty, Andi Kleen

On Tue, Jan 16, 2018 at 10:24:53PM +0100, Thomas Gleixner wrote:
> On Tue, 16 Jan 2018, Andi Kleen wrote:
> 
> > From: Andi Kleen <ak@linux.intel.com>
> > 
> > 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)
> > 
> > Signed-off-by: Andi Kleen <ak@linux.intel.com>
> 
> Acked-by: Thomas Gleixner <tglx@linutronix.de>

Thanks. Through which tree should this go?
Or Linus, could you take it directly?

-Andi

^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: [PATCH v3] retpoline: Add retpoline tag to VERMAGIC
  2018-01-16 20:52 [PATCH v3] retpoline: Add retpoline tag to VERMAGIC Andi Kleen
  2018-01-16 21:24 ` Thomas Gleixner
@ 2018-01-17  5:11 ` Greg KH
  2018-01-17 10:40 ` [tip:x86/pti] module: " tip-bot for Andi Kleen
  2 siblings, 0 replies; 8+ messages in thread
From: Greg KH @ 2018-01-17  5:11 UTC (permalink / raw)
  To: Andi Kleen
  Cc: tglx, torvalds, dwmw, linux-kernel, arjan.van.de.ven, jeyu,
	rusty, Andi Kleen

On Tue, Jan 16, 2018 at 12:52:28PM -0800, Andi Kleen wrote:
> From: Andi Kleen <ak@linux.intel.com>
> 
> 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)
> 
> Signed-off-by: Andi Kleen <ak@linux.intel.com>


Reviewed-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: [PATCH v3] retpoline: Add retpoline tag to VERMAGIC
  2018-01-16 22:34   ` Andi Kleen
@ 2018-01-17  7:38     ` Thomas Gleixner
  0 siblings, 0 replies; 8+ messages in thread
From: Thomas Gleixner @ 2018-01-17  7:38 UTC (permalink / raw)
  To: Andi Kleen
  Cc: torvalds, dwmw, linux-kernel, gregkh, arjan.van.de.ven, jeyu,
	rusty, Andi Kleen

On Tue, 16 Jan 2018, Andi Kleen wrote:

> On Tue, Jan 16, 2018 at 10:24:53PM +0100, Thomas Gleixner wrote:
> > On Tue, 16 Jan 2018, Andi Kleen wrote:
> > 
> > > From: Andi Kleen <ak@linux.intel.com>
> > > 
> > > 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)
> > > 
> > > Signed-off-by: Andi Kleen <ak@linux.intel.com>
> > 
> > Acked-by: Thomas Gleixner <tglx@linutronix.de>
> 
> 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

^ permalink raw reply	[flat|nested] 8+ messages in thread

* [tip:x86/pti] module: Add retpoline tag to VERMAGIC
  2018-01-16 20:52 [PATCH v3] retpoline: Add retpoline tag to VERMAGIC Andi Kleen
  2018-01-16 21:24 ` Thomas Gleixner
  2018-01-17  5:11 ` Greg KH
@ 2018-01-17 10:40 ` tip-bot for Andi Kleen
  2018-01-18 17:02   ` Josh Poimboeuf
  2 siblings, 1 reply; 8+ messages in thread
From: tip-bot for Andi Kleen @ 2018-01-17 10:40 UTC (permalink / raw)
  To: linux-tip-commits; +Cc: linux-kernel, gregkh, ak, dwmw, mingo, hpa, tglx

Commit-ID:  6cfb521ac0d5b97470883ff9b7facae264b7ab12
Gitweb:     https://git.kernel.org/tip/6cfb521ac0d5b97470883ff9b7facae264b7ab12
Author:     Andi Kleen <ak@linux.intel.com>
AuthorDate: Tue, 16 Jan 2018 12:52:28 -0800
Committer:  Thomas Gleixner <tglx@linutronix.de>
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.

Signed-off-by: Andi Kleen <ak@linux.intel.com>
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Reviewed-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Acked-by: David Woodhouse <dwmw@amazon.co.uk>
Cc: rusty@rustcorp.com.au
Cc: arjan.van.de.ven@intel.com
Cc: jeyu@kernel.org
Cc: torvalds@linux-foundation.org
Link: https://lkml.kernel.org/r/20180116205228.4890-1-andi@firstfloor.org
---
 include/linux/vermagic.h | 8 +++++++-
 1 file changed, 7 insertions(+), 1 deletion(-)

diff --git a/include/linux/vermagic.h b/include/linux/vermagic.h
index bae807e..8532917 100644
--- a/include/linux/vermagic.h
+++ b/include/linux/vermagic.h
@@ -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
 

^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: [tip:x86/pti] module: Add retpoline tag to VERMAGIC
  2018-01-17 10:40 ` [tip:x86/pti] module: " tip-bot for Andi Kleen
@ 2018-01-18 17:02   ` Josh Poimboeuf
  2018-01-18 17:39     ` Thomas Gleixner
  0 siblings, 1 reply; 8+ messages in thread
From: Josh Poimboeuf @ 2018-01-18 17:02 UTC (permalink / raw)
  To: tip-bot for Andi Kleen
  Cc: linux-tip-commits, linux-kernel, gregkh, ak, dwmw, mingo, hpa, tglx

On Wed, Jan 17, 2018 at 02:40:43AM -0800, tip-bot for Andi Kleen wrote:
> Commit-ID:  6cfb521ac0d5b97470883ff9b7facae264b7ab12
> Gitweb:     https://git.kernel.org/tip/6cfb521ac0d5b97470883ff9b7facae264b7ab12
> Author:     Andi Kleen <ak@linux.intel.com>
> AuthorDate: Tue, 16 Jan 2018 12:52:28 -0800
> Committer:  Thomas Gleixner <tglx@linutronix.de>
> 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.

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?

-- 
Josh

^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: [tip:x86/pti] module: Add retpoline tag to VERMAGIC
  2018-01-18 17:02   ` Josh Poimboeuf
@ 2018-01-18 17:39     ` Thomas Gleixner
  0 siblings, 0 replies; 8+ messages in thread
From: Thomas Gleixner @ 2018-01-18 17:39 UTC (permalink / raw)
  To: Josh Poimboeuf
  Cc: tip-bot for Andi Kleen, linux-tip-commits, linux-kernel, gregkh,
	ak, dwmw, mingo, hpa

On Thu, 18 Jan 2018, Josh Poimboeuf wrote:

> On Wed, Jan 17, 2018 at 02:40:43AM -0800, tip-bot for Andi Kleen wrote:
> > Commit-ID:  6cfb521ac0d5b97470883ff9b7facae264b7ab12
> > Gitweb:     https://git.kernel.org/tip/6cfb521ac0d5b97470883ff9b7facae264b7ab12
> > Author:     Andi Kleen <ak@linux.intel.com>
> > AuthorDate: Tue, 16 Jan 2018 12:52:28 -0800
> > Committer:  Thomas Gleixner <tglx@linutronix.de>
> > 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.
> 
> 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?

If the user does that then the sysfs output is not our problem anymore,
really.

Thanks,

	tglx

^ permalink raw reply	[flat|nested] 8+ messages in thread

end of thread, other threads:[~2018-01-18 17:39 UTC | newest]

Thread overview: 8+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2018-01-16 20:52 [PATCH v3] retpoline: Add retpoline tag to VERMAGIC Andi Kleen
2018-01-16 21:24 ` Thomas Gleixner
2018-01-16 22:34   ` Andi Kleen
2018-01-17  7:38     ` Thomas Gleixner
2018-01-17  5:11 ` Greg KH
2018-01-17 10:40 ` [tip:x86/pti] module: " tip-bot for Andi Kleen
2018-01-18 17:02   ` Josh Poimboeuf
2018-01-18 17:39     ` Thomas Gleixner

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.