Re: [PATCH V5 1/3] platform/x86: Add Intel Software Defined Silicon driver

From: Greg KH
Date: Fri Feb 04 2022 - 01:57:17 EST


On Thu, Feb 03, 2022 at 09:30:44PM -0800, David E. Box wrote:
> Intel Software Defined Silicon (SDSi) is a post manufacturing mechanism for
> activating additional silicon features. Features are enabled through a
> license activation process. The SDSi driver provides a per socket, sysfs
> attribute interface for applications to perform 3 main provisioning
> functions:
>
> 1. Provision an Authentication Key Certificate (AKC), a key written to
> internal NVRAM that is used to authenticate a capability specific
> activation payload.
>
> 2. Provision a Capability Activation Payload (CAP), a token authenticated
> using the AKC and applied to the CPU configuration to activate a new
> feature.
>
> 3. Read the SDSi State Certificate, containing the CPU configuration
> state.
>
> The operations perform function specific mailbox commands that forward the
> requests to SDSi hardware to perform authentication of the payloads and
> enable the silicon configuration (to be made available after power
> cycling).
>
> The SDSi device itself is enumerated as an auxiliary device from the
> intel_vsec driver and as such has a build dependency on CONFIG_INTEL_VSEC.
>
> Link: https://github.com/intel/intel-sdsi
> Signed-off-by: David E. Box <david.e.box@xxxxxxxxxxxxxxx>
> Reviewed-by: Mark Gross <markgross@xxxxxxxxxx>
> ---
> V5
> - Update kernel version to 5.18 in API doc and copyrights to 2022.
> - Remove unneeded prototypes.
> - In binary attribute handlers where ret is only used for errors,
> replace,
> return (ret < 0) ? ret : size;
> with,
> return ret ?: size;

That's horrible, please no.

Will you remember what this does in 5 years when you have to look at it
again? Spell it out, this saves nothing in runtime or code size:
if (ret < 0)
return ret;
return size;

There, obvious, simple, and can be read by anyone.

thanks,

greg k-h