]> Gentwo Git Trees - linux/.git/commit
x86/sev: Extend the config-fs attestation support for an SVSM
authorTom Lendacky <thomas.lendacky@amd.com>
Wed, 5 Jun 2024 15:18:55 +0000 (10:18 -0500)
committerBorislav Petkov (AMD) <bp@alien8.de>
Mon, 17 Jun 2024 18:42:57 +0000 (20:42 +0200)
commit627dc671518b7f004ce04c45e8711f8dca94a57c
treee897e9293c33e2bedbd883cbea453d3d9973cc63
parent20dfee95936413708701eb151f419597fdd9d948
x86/sev: Extend the config-fs attestation support for an SVSM

When an SVSM is present, the guest can also request attestation reports
from it. 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 provide such. This involves
creating four 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.

  [ bp: Massage.
   - s/svsm_attestation_call/svsm_attest_call/g ]

Signed-off-by: Tom Lendacky <thomas.lendacky@amd.com>
Signed-off-by: Borislav Petkov (AMD) <bp@alien8.de>
Link: https://lore.kernel.org/r/965015dce3c76bb8724839d50c5dea4e4b5d598f.1717600736.git.thomas.lendacky@amd.com
Documentation/ABI/testing/configfs-tsm
arch/x86/include/asm/sev.h
arch/x86/kernel/sev.c
drivers/virt/coco/sev-guest/sev-guest.c
drivers/virt/coco/tsm.c
include/linux/tsm.h