public inbox for development@lists.ipfire.org
 help / color / mirror / Atom feed
* [PATCH] kernel: enable CONFIG_GCC_PLUGIN_STACKLEAK
@ 2020-06-09 17:53 Peter Müller
  2020-06-10  8:28 ` Michael Tremer
  0 siblings, 1 reply; 3+ messages in thread
From: Peter Müller @ 2020-06-09 17:53 UTC (permalink / raw)
  To: development

[-- Attachment #1: Type: text/plain, Size: 2929 bytes --]

Quoted from https://kernsec.org/wiki/index.php/Kernel_Self_Protection_Project/Recommended_Settings:

> # Wipe stack contents on syscall exit (reduces stale data lifetime in stack)
> CONFIG_GCC_PLUGIN_STACKLEAK=y

Not sure what performance penalities this introduces in real life...

Fixes: #12382

Cc: Arne Fitzenreiter <arne.fitzenreiter(a)ipfire.org>
Signed-off-by: Peter Müller <peter.mueller(a)ipfire.org>
---
 config/kernel/kernel.config.aarch64-ipfire        | 1 +
 config/kernel/kernel.config.armv5tel-ipfire-multi | 1 +
 config/kernel/kernel.config.i586-ipfire           | 1 +
 config/kernel/kernel.config.x86_64-ipfire         | 1 +
 4 files changed, 4 insertions(+)

diff --git a/config/kernel/kernel.config.aarch64-ipfire b/config/kernel/kernel.config.aarch64-ipfire
index e0f2f6df8..f4240e0ae 100644
--- a/config/kernel/kernel.config.aarch64-ipfire
+++ b/config/kernel/kernel.config.aarch64-ipfire
@@ -256,6 +256,7 @@ CONFIG_HAVE_GCC_PLUGINS=y
 CONFIG_GCC_PLUGINS=y
 # CONFIG_GCC_PLUGIN_CYC_COMPLEXITY is not set
 CONFIG_GCC_PLUGIN_LATENT_ENTROPY=y
+CONFIG_GCC_PLUGIN_STACKLEAK=y
 CONFIG_GCC_PLUGIN_STRUCTLEAK=y
 CONFIG_GCC_PLUGIN_STRUCTLEAK_BYREF_ALL=y
 # CONFIG_GCC_PLUGIN_STRUCTLEAK_VERBOSE is not set
diff --git a/config/kernel/kernel.config.armv5tel-ipfire-multi b/config/kernel/kernel.config.armv5tel-ipfire-multi
index 15183300f..2bcfbdbdd 100644
--- a/config/kernel/kernel.config.armv5tel-ipfire-multi
+++ b/config/kernel/kernel.config.armv5tel-ipfire-multi
@@ -252,6 +252,7 @@ CONFIG_HAVE_GCC_PLUGINS=y
 CONFIG_GCC_PLUGINS=y
 # CONFIG_GCC_PLUGIN_CYC_COMPLEXITY is not set
 CONFIG_GCC_PLUGIN_LATENT_ENTROPY=y
+CONFIG_GCC_PLUGIN_STACKLEAK=y
 CONFIG_GCC_PLUGIN_STRUCTLEAK=y
 CONFIG_GCC_PLUGIN_STRUCTLEAK_BYREF_ALL=y
 # CONFIG_GCC_PLUGIN_STRUCTLEAK_VERBOSE is not set
diff --git a/config/kernel/kernel.config.i586-ipfire b/config/kernel/kernel.config.i586-ipfire
index 578931497..a72cde41a 100644
--- a/config/kernel/kernel.config.i586-ipfire
+++ b/config/kernel/kernel.config.i586-ipfire
@@ -283,6 +283,7 @@ CONFIG_HAVE_GCC_PLUGINS=y
 CONFIG_GCC_PLUGINS=y
 # CONFIG_GCC_PLUGIN_CYC_COMPLEXITY is not set
 CONFIG_GCC_PLUGIN_LATENT_ENTROPY=y
+CONFIG_GCC_PLUGIN_STACKLEAK=y
 CONFIG_GCC_PLUGIN_STRUCTLEAK=y
 CONFIG_GCC_PLUGIN_STRUCTLEAK_BYREF_ALL=y
 # CONFIG_GCC_PLUGIN_STRUCTLEAK_VERBOSE is not set
diff --git a/config/kernel/kernel.config.x86_64-ipfire b/config/kernel/kernel.config.x86_64-ipfire
index 6a5fbbfe9..cd116d780 100644
--- a/config/kernel/kernel.config.x86_64-ipfire
+++ b/config/kernel/kernel.config.x86_64-ipfire
@@ -293,6 +293,7 @@ CONFIG_HAVE_GCC_PLUGINS=y
 CONFIG_GCC_PLUGINS=y
 # CONFIG_GCC_PLUGIN_CYC_COMPLEXITY is not set
 CONFIG_GCC_PLUGIN_LATENT_ENTROPY=y
+CONFIG_GCC_PLUGIN_STACKLEAK=y
 CONFIG_GCC_PLUGIN_STRUCTLEAK=y
 CONFIG_GCC_PLUGIN_STRUCTLEAK_BYREF_ALL=y
 # CONFIG_GCC_PLUGIN_STRUCTLEAK_VERBOSE is not set
-- 
2.26.2

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

* Re: [PATCH] kernel: enable CONFIG_GCC_PLUGIN_STACKLEAK
  2020-06-09 17:53 [PATCH] kernel: enable CONFIG_GCC_PLUGIN_STACKLEAK Peter Müller
@ 2020-06-10  8:28 ` Michael Tremer
  2020-06-10 14:48   ` Arne Fitzenreiter
  0 siblings, 1 reply; 3+ messages in thread
From: Michael Tremer @ 2020-06-10  8:28 UTC (permalink / raw)
  To: development

[-- Attachment #1: Type: text/plain, Size: 3226 bytes --]

Hi,

> On 9 Jun 2020, at 18:53, Peter Müller <peter.mueller(a)ipfire.org> wrote:
> 
> Quoted from https://kernsec.org/wiki/index.php/Kernel_Self_Protection_Project/Recommended_Settings:
> 
>> # Wipe stack contents on syscall exit (reduces stale data lifetime in stack)
>> CONFIG_GCC_PLUGIN_STACKLEAK=y
> 
> Not sure what performance penalities this introduces in real life...

Well, should we not find out before we make this generally available for all users?

-Michael

> 
> Fixes: #12382
> 
> Cc: Arne Fitzenreiter <arne.fitzenreiter(a)ipfire.org>
> Signed-off-by: Peter Müller <peter.mueller(a)ipfire.org>
> ---
> config/kernel/kernel.config.aarch64-ipfire        | 1 +
> config/kernel/kernel.config.armv5tel-ipfire-multi | 1 +
> config/kernel/kernel.config.i586-ipfire           | 1 +
> config/kernel/kernel.config.x86_64-ipfire         | 1 +
> 4 files changed, 4 insertions(+)
> 
> diff --git a/config/kernel/kernel.config.aarch64-ipfire b/config/kernel/kernel.config.aarch64-ipfire
> index e0f2f6df8..f4240e0ae 100644
> --- a/config/kernel/kernel.config.aarch64-ipfire
> +++ b/config/kernel/kernel.config.aarch64-ipfire
> @@ -256,6 +256,7 @@ CONFIG_HAVE_GCC_PLUGINS=y
> CONFIG_GCC_PLUGINS=y
> # CONFIG_GCC_PLUGIN_CYC_COMPLEXITY is not set
> CONFIG_GCC_PLUGIN_LATENT_ENTROPY=y
> +CONFIG_GCC_PLUGIN_STACKLEAK=y
> CONFIG_GCC_PLUGIN_STRUCTLEAK=y
> CONFIG_GCC_PLUGIN_STRUCTLEAK_BYREF_ALL=y
> # CONFIG_GCC_PLUGIN_STRUCTLEAK_VERBOSE is not set
> diff --git a/config/kernel/kernel.config.armv5tel-ipfire-multi b/config/kernel/kernel.config.armv5tel-ipfire-multi
> index 15183300f..2bcfbdbdd 100644
> --- a/config/kernel/kernel.config.armv5tel-ipfire-multi
> +++ b/config/kernel/kernel.config.armv5tel-ipfire-multi
> @@ -252,6 +252,7 @@ CONFIG_HAVE_GCC_PLUGINS=y
> CONFIG_GCC_PLUGINS=y
> # CONFIG_GCC_PLUGIN_CYC_COMPLEXITY is not set
> CONFIG_GCC_PLUGIN_LATENT_ENTROPY=y
> +CONFIG_GCC_PLUGIN_STACKLEAK=y
> CONFIG_GCC_PLUGIN_STRUCTLEAK=y
> CONFIG_GCC_PLUGIN_STRUCTLEAK_BYREF_ALL=y
> # CONFIG_GCC_PLUGIN_STRUCTLEAK_VERBOSE is not set
> diff --git a/config/kernel/kernel.config.i586-ipfire b/config/kernel/kernel.config.i586-ipfire
> index 578931497..a72cde41a 100644
> --- a/config/kernel/kernel.config.i586-ipfire
> +++ b/config/kernel/kernel.config.i586-ipfire
> @@ -283,6 +283,7 @@ CONFIG_HAVE_GCC_PLUGINS=y
> CONFIG_GCC_PLUGINS=y
> # CONFIG_GCC_PLUGIN_CYC_COMPLEXITY is not set
> CONFIG_GCC_PLUGIN_LATENT_ENTROPY=y
> +CONFIG_GCC_PLUGIN_STACKLEAK=y
> CONFIG_GCC_PLUGIN_STRUCTLEAK=y
> CONFIG_GCC_PLUGIN_STRUCTLEAK_BYREF_ALL=y
> # CONFIG_GCC_PLUGIN_STRUCTLEAK_VERBOSE is not set
> diff --git a/config/kernel/kernel.config.x86_64-ipfire b/config/kernel/kernel.config.x86_64-ipfire
> index 6a5fbbfe9..cd116d780 100644
> --- a/config/kernel/kernel.config.x86_64-ipfire
> +++ b/config/kernel/kernel.config.x86_64-ipfire
> @@ -293,6 +293,7 @@ CONFIG_HAVE_GCC_PLUGINS=y
> CONFIG_GCC_PLUGINS=y
> # CONFIG_GCC_PLUGIN_CYC_COMPLEXITY is not set
> CONFIG_GCC_PLUGIN_LATENT_ENTROPY=y
> +CONFIG_GCC_PLUGIN_STACKLEAK=y
> CONFIG_GCC_PLUGIN_STRUCTLEAK=y
> CONFIG_GCC_PLUGIN_STRUCTLEAK_BYREF_ALL=y
> # CONFIG_GCC_PLUGIN_STRUCTLEAK_VERBOSE is not set
> -- 
> 2.26.2


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

* Re: [PATCH] kernel: enable CONFIG_GCC_PLUGIN_STACKLEAK
  2020-06-10  8:28 ` Michael Tremer
@ 2020-06-10 14:48   ` Arne Fitzenreiter
  0 siblings, 0 replies; 3+ messages in thread
From: Arne Fitzenreiter @ 2020-06-10 14:48 UTC (permalink / raw)
  To: development

[-- Attachment #1: Type: text/plain, Size: 3474 bytes --]

This option not exist in kernel 4.14!!! It was added with kernel 5.2

Arne


Am 2020-06-10 10:28, schrieb Michael Tremer:
> Hi,
> 
>> On 9 Jun 2020, at 18:53, Peter Müller <peter.mueller(a)ipfire.org> 
>> wrote:
>> 
>> Quoted from 
>> https://kernsec.org/wiki/index.php/Kernel_Self_Protection_Project/Recommended_Settings:
>> 
>>> # Wipe stack contents on syscall exit (reduces stale data lifetime in 
>>> stack)
>>> CONFIG_GCC_PLUGIN_STACKLEAK=y
>> 
>> Not sure what performance penalities this introduces in real life...
> 
> Well, should we not find out before we make this generally available
> for all users?
> 
> -Michael
> 
>> 
>> Fixes: #12382
>> 
>> Cc: Arne Fitzenreiter <arne.fitzenreiter(a)ipfire.org>
>> Signed-off-by: Peter Müller <peter.mueller(a)ipfire.org>
>> ---
>> config/kernel/kernel.config.aarch64-ipfire        | 1 +
>> config/kernel/kernel.config.armv5tel-ipfire-multi | 1 +
>> config/kernel/kernel.config.i586-ipfire           | 1 +
>> config/kernel/kernel.config.x86_64-ipfire         | 1 +
>> 4 files changed, 4 insertions(+)
>> 
>> diff --git a/config/kernel/kernel.config.aarch64-ipfire 
>> b/config/kernel/kernel.config.aarch64-ipfire
>> index e0f2f6df8..f4240e0ae 100644
>> --- a/config/kernel/kernel.config.aarch64-ipfire
>> +++ b/config/kernel/kernel.config.aarch64-ipfire
>> @@ -256,6 +256,7 @@ CONFIG_HAVE_GCC_PLUGINS=y
>> CONFIG_GCC_PLUGINS=y
>> # CONFIG_GCC_PLUGIN_CYC_COMPLEXITY is not set
>> CONFIG_GCC_PLUGIN_LATENT_ENTROPY=y
>> +CONFIG_GCC_PLUGIN_STACKLEAK=y
>> CONFIG_GCC_PLUGIN_STRUCTLEAK=y
>> CONFIG_GCC_PLUGIN_STRUCTLEAK_BYREF_ALL=y
>> # CONFIG_GCC_PLUGIN_STRUCTLEAK_VERBOSE is not set
>> diff --git a/config/kernel/kernel.config.armv5tel-ipfire-multi 
>> b/config/kernel/kernel.config.armv5tel-ipfire-multi
>> index 15183300f..2bcfbdbdd 100644
>> --- a/config/kernel/kernel.config.armv5tel-ipfire-multi
>> +++ b/config/kernel/kernel.config.armv5tel-ipfire-multi
>> @@ -252,6 +252,7 @@ CONFIG_HAVE_GCC_PLUGINS=y
>> CONFIG_GCC_PLUGINS=y
>> # CONFIG_GCC_PLUGIN_CYC_COMPLEXITY is not set
>> CONFIG_GCC_PLUGIN_LATENT_ENTROPY=y
>> +CONFIG_GCC_PLUGIN_STACKLEAK=y
>> CONFIG_GCC_PLUGIN_STRUCTLEAK=y
>> CONFIG_GCC_PLUGIN_STRUCTLEAK_BYREF_ALL=y
>> # CONFIG_GCC_PLUGIN_STRUCTLEAK_VERBOSE is not set
>> diff --git a/config/kernel/kernel.config.i586-ipfire 
>> b/config/kernel/kernel.config.i586-ipfire
>> index 578931497..a72cde41a 100644
>> --- a/config/kernel/kernel.config.i586-ipfire
>> +++ b/config/kernel/kernel.config.i586-ipfire
>> @@ -283,6 +283,7 @@ CONFIG_HAVE_GCC_PLUGINS=y
>> CONFIG_GCC_PLUGINS=y
>> # CONFIG_GCC_PLUGIN_CYC_COMPLEXITY is not set
>> CONFIG_GCC_PLUGIN_LATENT_ENTROPY=y
>> +CONFIG_GCC_PLUGIN_STACKLEAK=y
>> CONFIG_GCC_PLUGIN_STRUCTLEAK=y
>> CONFIG_GCC_PLUGIN_STRUCTLEAK_BYREF_ALL=y
>> # CONFIG_GCC_PLUGIN_STRUCTLEAK_VERBOSE is not set
>> diff --git a/config/kernel/kernel.config.x86_64-ipfire 
>> b/config/kernel/kernel.config.x86_64-ipfire
>> index 6a5fbbfe9..cd116d780 100644
>> --- a/config/kernel/kernel.config.x86_64-ipfire
>> +++ b/config/kernel/kernel.config.x86_64-ipfire
>> @@ -293,6 +293,7 @@ CONFIG_HAVE_GCC_PLUGINS=y
>> CONFIG_GCC_PLUGINS=y
>> # CONFIG_GCC_PLUGIN_CYC_COMPLEXITY is not set
>> CONFIG_GCC_PLUGIN_LATENT_ENTROPY=y
>> +CONFIG_GCC_PLUGIN_STACKLEAK=y
>> CONFIG_GCC_PLUGIN_STRUCTLEAK=y
>> CONFIG_GCC_PLUGIN_STRUCTLEAK_BYREF_ALL=y
>> # CONFIG_GCC_PLUGIN_STRUCTLEAK_VERBOSE is not set
>> --
>> 2.26.2

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

end of thread, other threads:[~2020-06-10 14:48 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2020-06-09 17:53 [PATCH] kernel: enable CONFIG_GCC_PLUGIN_STACKLEAK Peter Müller
2020-06-10  8:28 ` Michael Tremer
2020-06-10 14:48   ` Arne Fitzenreiter

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox