2020-07-16 13:58:00

by Jarkko Sakkinen

[permalink] [raw]
Subject: [PATCH v36 07/24] x86/cpu/intel: Add nosgx kernel parameter

Add kernel parameter to disable Intel SGX kernel support.

Tested-by: Sean Christopherson <[email protected]>
Reviewed-by: Sean Christopherson <[email protected]>
Signed-off-by: Jarkko Sakkinen <[email protected]>
---
Documentation/admin-guide/kernel-parameters.txt | 2 ++
arch/x86/kernel/cpu/feat_ctl.c | 9 +++++++++
2 files changed, 11 insertions(+)

diff --git a/Documentation/admin-guide/kernel-parameters.txt b/Documentation/admin-guide/kernel-parameters.txt
index fb95fad81c79..e747bd9ca911 100644
--- a/Documentation/admin-guide/kernel-parameters.txt
+++ b/Documentation/admin-guide/kernel-parameters.txt
@@ -3314,6 +3314,8 @@

nosep [BUGS=X86-32] Disables x86 SYSENTER/SYSEXIT support.

+ nosgx [X86-64,SGX] Disables Intel SGX kernel support.
+
nosmp [SMP] Tells an SMP kernel to act as a UP kernel,
and disable the IO APIC. legacy for "maxcpus=0".

diff --git a/arch/x86/kernel/cpu/feat_ctl.c b/arch/x86/kernel/cpu/feat_ctl.c
index c3afcd2e4342..1837df39527f 100644
--- a/arch/x86/kernel/cpu/feat_ctl.c
+++ b/arch/x86/kernel/cpu/feat_ctl.c
@@ -101,6 +101,15 @@ static void clear_sgx_caps(void)
setup_clear_cpu_cap(X86_FEATURE_SGX2);
}

+static int __init nosgx(char *str)
+{
+ clear_sgx_caps();
+
+ return 0;
+}
+
+early_param("nosgx", nosgx);
+
void init_ia32_feat_ctl(struct cpuinfo_x86 *c)
{
bool tboot = tboot_enabled();
--
2.25.1


2020-08-06 17:15:56

by Darren Kenny

[permalink] [raw]
Subject: Re: [PATCH v36 07/24] x86/cpu/intel: Add nosgx kernel parameter

On Thursday, 2020-07-16 at 16:52:46 +03, Jarkko Sakkinen wrote:
> Add kernel parameter to disable Intel SGX kernel support.
>
> Tested-by: Sean Christopherson <[email protected]>
> Reviewed-by: Sean Christopherson <[email protected]>
> Signed-off-by: Jarkko Sakkinen <[email protected]>

Reviewed-by: Darren Kenny <[email protected]>

> ---
> Documentation/admin-guide/kernel-parameters.txt | 2 ++
> arch/x86/kernel/cpu/feat_ctl.c | 9 +++++++++
> 2 files changed, 11 insertions(+)
>
> diff --git a/Documentation/admin-guide/kernel-parameters.txt b/Documentation/admin-guide/kernel-parameters.txt
> index fb95fad81c79..e747bd9ca911 100644
> --- a/Documentation/admin-guide/kernel-parameters.txt
> +++ b/Documentation/admin-guide/kernel-parameters.txt
> @@ -3314,6 +3314,8 @@
>
> nosep [BUGS=X86-32] Disables x86 SYSENTER/SYSEXIT support.
>
> + nosgx [X86-64,SGX] Disables Intel SGX kernel support.
> +
> nosmp [SMP] Tells an SMP kernel to act as a UP kernel,
> and disable the IO APIC. legacy for "maxcpus=0".
>
> diff --git a/arch/x86/kernel/cpu/feat_ctl.c b/arch/x86/kernel/cpu/feat_ctl.c
> index c3afcd2e4342..1837df39527f 100644
> --- a/arch/x86/kernel/cpu/feat_ctl.c
> +++ b/arch/x86/kernel/cpu/feat_ctl.c
> @@ -101,6 +101,15 @@ static void clear_sgx_caps(void)
> setup_clear_cpu_cap(X86_FEATURE_SGX2);
> }
>
> +static int __init nosgx(char *str)
> +{
> + clear_sgx_caps();
> +
> + return 0;
> +}
> +
> +early_param("nosgx", nosgx);
> +
> void init_ia32_feat_ctl(struct cpuinfo_x86 *c)
> {
> bool tboot = tboot_enabled();
> --
> 2.25.1