Re: [PATCH v24 07/24] x86/cpu/intel: Detect SGX supprt

From: Jarkko Sakkinen
Date: Wed Dec 18 2019 - 19:42:30 EST


On Tue, 2019-12-17 at 16:17 +0100, Borislav Petkov wrote:
> On Sat, Nov 30, 2019 at 01:13:09AM +0200, Jarkko Sakkinen wrote:
>
> Typo in the subject:
>
> Subject: Re: [PATCH v24 07/24] x86/cpu/intel: Detect SGX supprt
> ^^^^^^
> > From: Sean Christopherson <sean.j.christopherson@xxxxxxxxx>
> >
> > When the CPU supports SGX, check that the BIOS has enabled SGX and SGX1
> > opcodes are available. Otherwise, all the SGX related capabilities.
> >
> > In addition, clear X86_FEATURE_SGX_LC also in the case when the launch
> > enclave are read-only. This way the feature bit reflects the level that
> > Linux supports the launch control.
> >
> > The check is done for every CPU, not just BSP, in order to verify that
> > MSR_IA32_FEATURE_CONTROL is correctly configured on all CPUs. The other
> > parts of the kernel, like the enclave driver, expect the same
> > configuration from all CPUs.
> >
> > Signed-off-by: Sean Christopherson <sean.j.christopherson@xxxxxxxxx>
> > Co-developed-by: Jarkko Sakkinen <jarkko.sakkinen@xxxxxxxxxxxxxxx>
> > Signed-off-by: Jarkko Sakkinen <jarkko.sakkinen@xxxxxxxxxxxxxxx>
> > ---
> > arch/x86/kernel/cpu/intel.c | 41 +++++++++++++++++++++++++++++++++++++
> > 1 file changed, 41 insertions(+)
>
> ...
>
> > @@ -761,6 +797,11 @@ static void init_intel(struct cpuinfo_x86 *c)
> > if (cpu_has(c, X86_FEATURE_TME))
> > detect_tme(c);
> >
> > +#ifdef CONFIG_INTEL_SGX
> > + if (cpu_has(c, X86_FEATURE_SGX))
> > + detect_sgx(c);
> > +#endif
>
> You can remove the ifdeffery here and put the ifdef around the function
> body and drop the __maybe_unused tag:

OK, so I remember getting feedback on some unrelated to SGX stuff
that I should use __maybe_unused in the past. That is why I used
it here instead of ifdeffery.

It is used in bunch of places in the kernel. I'm a bit confused
when using it is a right thing and when it should be avoided.

/Jarkko