lkml.org 
[lkml]   [2022]   [Jan]   [28]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Subject[PATCH v9 30/43] KVM: SEV: Add documentation for SEV-SNP CPUID Enforcement
    Date
    From: Michael Roth <michael.roth@amd.com>

    Update the documentation with SEV-SNP CPUID enforcement.

    Signed-off-by: Michael Roth <michael.roth@amd.com>
    Signed-off-by: Brijesh Singh <brijesh.singh@amd.com>
    ---
    .../virt/kvm/amd-memory-encryption.rst | 28 +++++++++++++++++++
    1 file changed, 28 insertions(+)

    diff --git a/Documentation/virt/kvm/amd-memory-encryption.rst b/Documentation/virt/kvm/amd-memory-encryption.rst
    index 1c6847fff304..0c72f44cc11a 100644
    --- a/Documentation/virt/kvm/amd-memory-encryption.rst
    +++ b/Documentation/virt/kvm/amd-memory-encryption.rst
    @@ -433,6 +433,34 @@ issued by the hypervisor to make the guest ready for execution.

    Returns: 0 on success, -negative on error

    +SEV-SNP CPUID Enforcement
    +=========================
    +
    +SEV-SNP guests can access a special page that contains a table of CPUID values
    +that have been validated by the PSP as part of the SNP_LAUNCH_UPDATE firmware
    +command. It provides the following assurances regarding the validity of CPUID
    +values:
    +
    + - Its address is obtained via bootloader/firmware (via CC blob), and those
    + binaries will be measured as part of the SEV-SNP attestation report.
    + - Its initial state will be encrypted/pvalidated, so attempts to modify
    + it during run-time will result in garbage being written, or #VC exceptions
    + being generated due to changes in validation state if the hypervisor tries
    + to swap the backing page.
    + - Attempts to bypass PSP checks by the hypervisor by using a normal page, or
    + a non-CPUID encrypted page will change the measurement provided by the
    + SEV-SNP attestation report.
    + - The CPUID page contents are *not* measured, but attempts to modify the
    + expected contents of a CPUID page as part of guest initialization will be
    + gated by the PSP CPUID enforcement policy checks performed on the page
    + during SNP_LAUNCH_UPDATE, and noticeable later if the guest owner
    + implements their own checks of the CPUID values.
    +
    +It is important to note that this last assurance is only useful if the kernel
    +has taken care to make use of the SEV-SNP CPUID throughout all stages of boot.
    +Otherwise, guest owner attestation provides no assurance that the kernel wasn't
    +fed incorrect values at some point during boot.
    +
    References
    ==========

    --
    2.25.1
    \
     
     \ /
      Last update: 2022-01-28 18:20    [W:2.811 / U:0.104 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site