[svsm-devel] [PATCH v5 12/13] x86/sev: Extend the config-fs attestation support for an SVSM
Tom Lendacky
thomas.lendacky at amd.com
Thu Jun 6 21:15:38 CEST 2024
On 6/5/24 10:18, Tom Lendacky wrote:
> When an SVSM is present, the guest can also request attestation reports
> from the SVSM. These SVSM attestation reports can be used to attest the
> SVSM and any services running within the SVSM.
>
> Extend the config-fs attestation support to allow for an SVSM attestation
> report. This involves creating four (4) new config-fs attributes:
>
> - 'service-provider' (input)
> This attribute is used to determine whether the attestation request
> should be sent to the specified service provider or to the SEV
> firmware. The SVSM service provider is represented by the value
> 'svsm'.
>
> - 'service_guid' (input)
> Used for requesting the attestation of a single service within the
> service provider. A null GUID implies that the SVSM_ATTEST_SERVICES
> call should be used to request the attestation report. A non-null
> GUID implies that the SVSM_ATTEST_SINGLE_SERVICE call should be used.
>
> - 'service_manifest_version' (input)
> Used with the SVSM_ATTEST_SINGLE_SERVICE call, the service version
> represents a specific service manifest version be used for the
> attestation report.
>
> - 'manifestblob' (output)
> Used to return the service manifest associated with the attestation
> report.
>
> Only display these new attributes when running under an SVSM.
>
> Signed-off-by: Tom Lendacky <thomas.lendacky at amd.com>
> ---
> Documentation/ABI/testing/configfs-tsm | 63 +++++++++
> arch/x86/include/asm/sev.h | 31 ++++-
> arch/x86/kernel/sev.c | 50 +++++++
> drivers/virt/coco/sev-guest/sev-guest.c | 178 ++++++++++++++++++++++++
> drivers/virt/coco/tsm.c | 93 ++++++++++++-
> include/linux/tsm.h | 19 +++
> 6 files changed, 431 insertions(+), 3 deletions(-)
>
Here's a small change to provide better error detail that you can squash
into this patch if that's ok.
Thanks,
Tom
diff --git a/drivers/virt/coco/sev-guest/sev-guest.c b/drivers/virt/coco/sev-guest/sev-guest.c
index 655865164705..e32ac31e0630 100644
--- a/drivers/virt/coco/sev-guest/sev-guest.c
+++ b/drivers/virt/coco/sev-guest/sev-guest.c
@@ -886,7 +886,8 @@ static int sev_svsm_report_new(struct tsm_report *report, void *data)
return -EINVAL;
default:
- pr_err_ratelimited("SVSM attestation request failed (%#x)\n", ret);
+ pr_err_ratelimited("SVSM attestation request failed (%d / 0x%llx)\n",
+ ret, call.rax_out);
return -EINVAL;
}
}
More information about the Svsm-devel
mailing list