[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <9dff7095-9796-dbf1-3269-d0e480cccaec@linux.intel.com>
Date: Sat, 6 Jul 2024 17:05:01 +0300 (EEST)
From: Ilpo Järvinen <ilpo.jarvinen@...ux.intel.com>
To: "David E. Box" <david.e.box@...ux.intel.com>
cc: linux-doc@...r.kernel.org, Hans de Goede <hdegoede@...hat.com>,
LKML <linux-kernel@...r.kernel.org>, platform-driver-x86@...r.kernel.org
Subject: Re: [PATCH V4 1/3] platform/x86/intel/sdsi: Add ioctl SPDM
transport
On Fri, 7 Jun 2024, David E. Box wrote:
> Intel On Demand adds attestation and firmware measurement retrieval
> services through use of the protocols defined the Security Protocols and
> Data Measurement (SPDM) specification. SPDM messages exchanges are used to
> authenticate On Demand hardware and to retrieve signed measurements of the
> NVRAM state used to track feature provisioning and the NVRAM state used for
> metering services. These allow software to verify the authenticity of the
> On Demand hardware as well as the integrity of the reported silicon
> configuration.
>
> Add an ioctl interface for sending SPDM messages through the On Demand
> mailbox. Provides commands to get a list of SPDM enabled devices, get the
> message size limits for SPDM Requesters and Responders, and perform an SPDM
> message exchange.
>
> Signed-off-by: David E. Box <david.e.box@...ux.intel.com>
> Link: https://www.dmtf.org/sites/default/files/standards/documents/DSP0274_1.0.1.pdf [1]
> ---
> V4
> - In sdsi_spdm_do_command(), change rsp_size from u32 to int to
> catch error from sdsi_spdm_exchange(). Reported by lkp.
> - Use SPDM_HEADER_SIZE in sdsi_spdm_do_command()
> V3
> - Use %zu format for size_t
> - Simplify return in sdsi_spdm_ioctl()
>
> V2
> - Move size < 4 check into sdsi_spdm_exchange() and add comment
> clarifying return values of that function.
> - Use SZ_4K and add helpers
> - Use devm_kasprintf()
> - Remove unnecessary parens
> - Use --attest for long option
>
> .../userspace-api/ioctl/ioctl-number.rst | 1 +
> MAINTAINERS | 1 +
> drivers/platform/x86/intel/sdsi.c | 209 +++++++++++++++++-
> include/uapi/linux/intel_sdsi.h | 81 +++++++
> 4 files changed, 291 insertions(+), 1 deletion(-)
> create mode 100644 include/uapi/linux/intel_sdsi.h
> diff --git a/include/uapi/linux/intel_sdsi.h b/include/uapi/linux/intel_sdsi.h
> new file mode 100644
> index 000000000000..8e28764f4a98
> --- /dev/null
> +++ b/include/uapi/linux/intel_sdsi.h
> +/**
> + * struct sdsi_spdm_message - The SPDM message sent and received from the device
> + * @spdm_version: Supported SPDM version
> + * @request_response_code: The SPDM message code for requests and responses
> + * @param1: Parameter 1
> + * @param2: Parameter 2
> + * @buffer: SDPM message specific buffer
> + *
Extra newline here.
> + */
> +struct sdsi_spdm_message {
> + SPDM_HEADER;
> + __u8 buffer[SZ_4K - SPDM_HEADER_SIZE];
> +};
--
i.
Powered by blists - more mailing lists