Branch: refs/heads/master
  Home:   https://github.com/tianocore/edk2
  Commit: f05eb2dfe5d39b76df5ad33d8abb48425823b398
      
https://github.com/tianocore/edk2/commit/f05eb2dfe5d39b76df5ad33d8abb48425823b398
  Author: James Bottomley <j...@linux.ibm.com>
  Date:   2021-07-29 (Thu, 29 Jul 2021)

  Changed paths:
    M OvmfPkg/AmdSev/SecretDxe/SecretDxe.c

  Log Message:
  -----------
  OvmfPkg/AmdSev/SecretDxe: fix header comment to generic naming

Commit 96201ae7bf97 ("OvmfPkg/AmdSev/SecretDxe: make secret location
naming generic", 2020-12-15) replaced references to SEV with the generic
term Confidential Computing, but missed the file header comment.  Fix
the naming in that header.

Cc: Ard Biesheuvel <ardb+tianoc...@kernel.org>
Cc: Jordan Justen <jordan.l.jus...@intel.com>
Cc: Ashish Kalra <ashish.ka...@amd.com>
Cc: Brijesh Singh <brijesh.si...@amd.com>
Cc: Erdem Aktas <erdemak...@google.com>
Cc: James Bottomley <j...@linux.ibm.com>
Cc: Jiewen Yao <jiewen....@intel.com>
Cc: Min Xu <min.m...@intel.com>
Cc: Tom Lendacky <thomas.lenda...@amd.com>
Ref: https://bugzilla.tianocore.org/show_bug.cgi?id=3457
Signed-off-by: James Bottomley <j...@linux.ibm.com>
Reviewed-by: Brijesh Singh <brijesh.si...@amd.com>
Reviewed-by: Jiewen Yao <jiewen....@intel.com>


  Commit: 35e267cb3480b3eb5785fd4435a60c00449757d3
      
https://github.com/tianocore/edk2/commit/35e267cb3480b3eb5785fd4435a60c00449757d3
  Author: Dov Murik <dovmu...@linux.ibm.com>
  Date:   2021-07-29 (Thu, 29 Jul 2021)

  Changed paths:
    M OvmfPkg/AmdSev/AmdSevX64.dsc

  Log Message:
  -----------
  OvmfPkg/AmdSev: use GenericQemuLoadImageLib in AmdSev builds

Newer kernels support efistub and therefore don't need all the legacy
stuff in X86QemuLoadImageLib, which are harder to secure.  Specifically
the verification of kernel/initrd/cmdline blobs will be added only to
the GenericQemuLoadImageLib implementation, so use that for SEV builds.

Cc: Ard Biesheuvel <ardb+tianoc...@kernel.org>
Cc: Jordan Justen <jordan.l.jus...@intel.com>
Cc: Ashish Kalra <ashish.ka...@amd.com>
Cc: Brijesh Singh <brijesh.si...@amd.com>
Cc: Erdem Aktas <erdemak...@google.com>
Cc: James Bottomley <j...@linux.ibm.com>
Cc: Jiewen Yao <jiewen....@intel.com>
Cc: Min Xu <min.m...@intel.com>
Cc: Tom Lendacky <thomas.lenda...@amd.com>
Ref: https://bugzilla.tianocore.org/show_bug.cgi?id=3457
Signed-off-by: Dov Murik <dovmu...@linux.ibm.com>
Reviewed-by: Brijesh Singh <brijesh.si...@amd.com>
Reviewed-by: Jiewen Yao <jiewen....@intel.com>


  Commit: a26a08dc1fc8f2539d6eb20d808646ff46715908
      
https://github.com/tianocore/edk2/commit/a26a08dc1fc8f2539d6eb20d808646ff46715908
  Author: James Bottomley <j...@linux.ibm.com>
  Date:   2021-07-29 (Thu, 29 Jul 2021)

  Changed paths:
    M OvmfPkg/AmdSev/AmdSevX64.dsc
    M OvmfPkg/Library/PlatformBootManagerLibGrub/BdsPlatform.c
    M OvmfPkg/Library/PlatformBootManagerLibGrub/BdsPlatform.h
    M OvmfPkg/Library/PlatformBootManagerLibGrub/PlatformBootManagerLibGrub.inf
    A OvmfPkg/Library/PlatformBootManagerLibGrub/QemuKernel.c

  Log Message:
  -----------
  OvmfPkg: PlatformBootManagerLibGrub: Allow executing kernel via fw_cfg

Support QEMU's -kernel option.

Create a QemuKernel.c for PlatformBootManagerLibGrub
which is an exact copy of the file
PlatformBootManagerLib/QemuKernel.c .

Cc: Ard Biesheuvel <ardb+tianoc...@kernel.org>
Cc: Jordan Justen <jordan.l.jus...@intel.com>
Cc: Ashish Kalra <ashish.ka...@amd.com>
Cc: Brijesh Singh <brijesh.si...@amd.com>
Cc: Erdem Aktas <erdemak...@google.com>
Cc: James Bottomley <j...@linux.ibm.com>
Cc: Jiewen Yao <jiewen....@intel.com>
Cc: Min Xu <min.m...@intel.com>
Cc: Tom Lendacky <thomas.lenda...@amd.com>
Ref: https://bugzilla.tianocore.org/show_bug.cgi?id=3457
Signed-off-by: James Bottomley <j...@linux.ibm.com>
Reviewed-by: Brijesh Singh <brijesh.si...@amd.com>
Reviewed-by: Jiewen Yao <jiewen....@intel.com>


  Commit: 0cb48007f7cbb7a3fc6771bf7f1017d8658a18d2
      
https://github.com/tianocore/edk2/commit/0cb48007f7cbb7a3fc6771bf7f1017d8658a18d2
  Author: Dov Murik <dovmu...@linux.ibm.com>
  Date:   2021-07-29 (Thu, 29 Jul 2021)

  Changed paths:
    A OvmfPkg/Include/Library/BlobVerifierLib.h
    A OvmfPkg/Library/BlobVerifierLibNull/BlobVerifierLibNull.inf
    A OvmfPkg/Library/BlobVerifierLibNull/BlobVerifierNull.c
    M OvmfPkg/OvmfPkg.dec

  Log Message:
  -----------
  OvmfPkg: add library class BlobVerifierLib with null implementation

BlobVerifierLib will be used to verify blobs fetching them from QEMU's
firmware config (fw_cfg) in platforms that enable such verification.

The null implementation BlobVerifierLibNull treats all blobs as valid.

Cc: Ard Biesheuvel <ardb+tianoc...@kernel.org>
Cc: Jordan Justen <jordan.l.jus...@intel.com>
Cc: Ashish Kalra <ashish.ka...@amd.com>
Cc: Brijesh Singh <brijesh.si...@amd.com>
Cc: Erdem Aktas <erdemak...@google.com>
Cc: James Bottomley <j...@linux.ibm.com>
Cc: Jiewen Yao <jiewen....@intel.com>
Cc: Min Xu <min.m...@intel.com>
Cc: Tom Lendacky <thomas.lenda...@amd.com>
Ref: https://bugzilla.tianocore.org/show_bug.cgi?id=3457
Signed-off-by: Dov Murik <dovmu...@linux.ibm.com>
Reviewed-by: Tom Lendacky <thomas.lenda...@amd.com>
Reviewed-by: Jiewen Yao <jiewen....@intel.com>


  Commit: c73e31f54d2787465511830091f966ebf0db057a
      
https://github.com/tianocore/edk2/commit/c73e31f54d2787465511830091f966ebf0db057a
  Author: Dov Murik <dovmu...@linux.ibm.com>
  Date:   2021-07-29 (Thu, 29 Jul 2021)

  Changed paths:
    M OvmfPkg/AmdSev/AmdSevX64.dsc
    M OvmfPkg/OvmfPkgIa32.dsc
    M OvmfPkg/OvmfPkgIa32X64.dsc
    M OvmfPkg/OvmfPkgX64.dsc

  Log Message:
  -----------
  OvmfPkg: add BlobVerifierLibNull to DSC

This prepares the ground for calling VerifyBlob() in
QemuKernelLoaderFsDxe.

Cc: Ard Biesheuvel <ardb+tianoc...@kernel.org>
Cc: Jordan Justen <jordan.l.jus...@intel.com>
Cc: Ashish Kalra <ashish.ka...@amd.com>
Cc: Brijesh Singh <brijesh.si...@amd.com>
Cc: Erdem Aktas <erdemak...@google.com>
Cc: James Bottomley <j...@linux.ibm.com>
Cc: Jiewen Yao <jiewen....@intel.com>
Cc: Min Xu <min.m...@intel.com>
Cc: Tom Lendacky <thomas.lenda...@amd.com>
Ref: https://bugzilla.tianocore.org/show_bug.cgi?id=3457
Signed-off-by: Dov Murik <dovmu...@linux.ibm.com>
Reviewed-by: Tom Lendacky <thomas.lenda...@amd.com>
Reviewed-by: Jiewen Yao <jiewen....@intel.com>


  Commit: 6bf5580a3d6cebf9ec509e94bef12ae01845d6c2
      
https://github.com/tianocore/edk2/commit/6bf5580a3d6cebf9ec509e94bef12ae01845d6c2
  Author: Dov Murik <dovmu...@linux.ibm.com>
  Date:   2021-07-29 (Thu, 29 Jul 2021)

  Changed paths:
    M ArmVirtPkg/ArmVirtQemu.dsc
    M ArmVirtPkg/ArmVirtQemuKernel.dsc

  Log Message:
  -----------
  ArmVirtPkg: add BlobVerifierLibNull to DSC

This prepares the ground for calling VerifyBlob() in
QemuKernelLoaderFsDxe.

Cc: Ard Biesheuvel <ardb+tianoc...@kernel.org>
Cc: Leif Lindholm <l...@nuviainc.com>
Cc: Sami Mujawar <sami.muja...@arm.com>
Cc: Jordan Justen <jordan.l.jus...@intel.com>
Cc: Ashish Kalra <ashish.ka...@amd.com>
Cc: Brijesh Singh <brijesh.si...@amd.com>
Cc: Erdem Aktas <erdemak...@google.com>
Cc: James Bottomley <j...@linux.ibm.com>
Cc: Jiewen Yao <jiewen....@intel.com>
Cc: Min Xu <min.m...@intel.com>
Cc: Tom Lendacky <thomas.lenda...@amd.com>
Ref: https://bugzilla.tianocore.org/show_bug.cgi?id=3457
Signed-off-by: Dov Murik <dovmu...@linux.ibm.com>
Reviewed-by: Ard Biesheuvel <a...@kernel.org>
Acked-by: Jiewen Yao <jiewen....@intel.com>


  Commit: d10ad8444f29658d56eb7650a3781bc6cebe2620
      
https://github.com/tianocore/edk2/commit/d10ad8444f29658d56eb7650a3781bc6cebe2620
  Author: Dov Murik <dovmu...@linux.ibm.com>
  Date:   2021-07-29 (Thu, 29 Jul 2021)

  Changed paths:
    M OvmfPkg/QemuKernelLoaderFsDxe/QemuKernelLoaderFsDxe.c

  Log Message:
  -----------
  OvmfPkg/QemuKernelLoaderFsDxe: call VerifyBlob after fetch from fw_cfg

In QemuKernelLoaderFsDxeEntrypoint we use FetchBlob to read the content
of the kernel/initrd/cmdline from the QEMU fw_cfg interface.  Insert a
call to VerifyBlob after fetching to allow BlobVerifierLib
implementations to add a verification step for these blobs.

This will allow confidential computing OVMF builds to add verification
mechanisms for these blobs that originate from an untrusted source
(QEMU).

The null implementation of BlobVerifierLib does nothing in VerifyBlob,
and therefore no functional change is expected.

Cc: Ard Biesheuvel <ardb+tianoc...@kernel.org>
Cc: Jordan Justen <jordan.l.jus...@intel.com>
Cc: Ashish Kalra <ashish.ka...@amd.com>
Cc: Brijesh Singh <brijesh.si...@amd.com>
Cc: Erdem Aktas <erdemak...@google.com>
Cc: James Bottomley <j...@linux.ibm.com>
Cc: Jiewen Yao <jiewen....@intel.com>
Cc: Min Xu <min.m...@intel.com>
Cc: Tom Lendacky <thomas.lenda...@amd.com>
Ref: https://bugzilla.tianocore.org/show_bug.cgi?id=3457
Co-developed-by: James Bottomley <j...@linux.ibm.com>
Signed-off-by: James Bottomley <j...@linux.ibm.com>
Signed-off-by: Dov Murik <dovmu...@linux.ibm.com>
Reviewed-by: Brijesh Singh <brijesh.si...@amd.com>
Reviewed-by: Tom Lendacky <thomas.lenda...@amd.com>
Reviewed-by: Jiewen Yao <jiewen....@intel.com>


  Commit: 5ace477f34f3339c1fb8d590430b5e15b69f099f
      
https://github.com/tianocore/edk2/commit/5ace477f34f3339c1fb8d590430b5e15b69f099f
  Author: Dov Murik <dovmu...@linux.ibm.com>
  Date:   2021-07-29 (Thu, 29 Jul 2021)

  Changed paths:
    M OvmfPkg/AmdSev/SecretPei/SecretPei.c

  Log Message:
  -----------
  OvmfPkg/AmdSev/SecretPei: build hob for full page

Round up the size of the SEV launch secret area to a whole page, as
required by BuildMemoryAllocationHob.  This will allow the secret
area defined in the MEMFD to take less than a whole 4KB page.

Cc: Ard Biesheuvel <ardb+tianoc...@kernel.org>
Cc: Jordan Justen <jordan.l.jus...@intel.com>
Cc: Ashish Kalra <ashish.ka...@amd.com>
Cc: Brijesh Singh <brijesh.si...@amd.com>
Cc: Erdem Aktas <erdemak...@google.com>
Cc: James Bottomley <j...@linux.ibm.com>
Cc: Jiewen Yao <jiewen....@intel.com>
Cc: Min Xu <min.m...@intel.com>
Cc: Tom Lendacky <thomas.lenda...@amd.com>
Ref: https://bugzilla.tianocore.org/show_bug.cgi?id=3457
Signed-off-by: Dov Murik <dovmu...@linux.ibm.com>
Reviewed-by: Tom Lendacky <thomas.lenda...@amd.com>
Reviewed-by: Brijesh Singh <brijesh.si...@amd.com>
Reviewed-by: Jiewen Yao <jiewen....@intel.com>


  Commit: 0deeab36d179e79de7b93bb930b4d6eb24185416
      
https://github.com/tianocore/edk2/commit/0deeab36d179e79de7b93bb930b4d6eb24185416
  Author: James Bottomley <j...@linux.ibm.com>
  Date:   2021-07-29 (Thu, 29 Jul 2021)

  Changed paths:
    M OvmfPkg/AmdSev/AmdSevX64.fdf
    M OvmfPkg/OvmfPkg.dec
    M OvmfPkg/ResetVector/Ia16/ResetVectorVtf0.asm
    M OvmfPkg/ResetVector/ResetVector.inf
    M OvmfPkg/ResetVector/ResetVector.nasmb

  Log Message:
  -----------
  OvmfPkg/AmdSev: reserve MEMFD space for for firmware config hashes

Split the existing 4KB page reserved for SEV launch secrets into two
parts: first 3KB for SEV launch secrets and last 1KB for firmware
config hashes.

The area of the firmware config hashes will be attested (measured) by
the PSP and thus the untrusted VMM can't pass in different files from
what the guest owner allows.

Declare this in the Reset Vector table using GUID
7255371f-3a3b-4b04-927b-1da6efa8d454 and a uint32_t table of a base
and size value (similar to the structure used to declare the launch
secret block).

Cc: Ard Biesheuvel <ardb+tianoc...@kernel.org>
Cc: Jordan Justen <jordan.l.jus...@intel.com>
Cc: Ashish Kalra <ashish.ka...@amd.com>
Cc: Brijesh Singh <brijesh.si...@amd.com>
Cc: Erdem Aktas <erdemak...@google.com>
Cc: James Bottomley <j...@linux.ibm.com>
Cc: Jiewen Yao <jiewen....@intel.com>
Cc: Min Xu <min.m...@intel.com>
Cc: Tom Lendacky <thomas.lenda...@amd.com>
Ref: https://bugzilla.tianocore.org/show_bug.cgi?id=3457
Co-developed-by: Dov Murik <dovmu...@linux.ibm.com>
Signed-off-by: Dov Murik <dovmu...@linux.ibm.com>
Signed-off-by: James Bottomley <j...@linux.ibm.com>
Reviewed-by: Tom Lendacky <thomas.lenda...@amd.com>
Reviewed-by: Brijesh Singh <brijesh.si...@amd.com>
Reviewed-by: Jiewen Yao <jiewen....@intel.com>


  Commit: 385b9d80a0100490b833f6483e5593fa1abc21b4
      
https://github.com/tianocore/edk2/commit/385b9d80a0100490b833f6483e5593fa1abc21b4
  Author: Dov Murik <dovmu...@linux.ibm.com>
  Date:   2021-07-29 (Thu, 29 Jul 2021)

  Changed paths:
    A OvmfPkg/AmdSev/BlobVerifierLibSevHashes/BlobVerifierLibSevHashes.inf
    A OvmfPkg/AmdSev/BlobVerifierLibSevHashes/BlobVerifierSevHashes.c
    M OvmfPkg/OvmfPkg.ci.yaml

  Log Message:
  -----------
  OvmfPkg/AmdSev: add BlobVerifierLibSevHashes

Add an implementation for BlobVerifierLib that locates the SEV hashes
table and verifies that the calculated hashes of the kernel, initrd, and
cmdline blobs indeed match the expected hashes stated in the hashes
table.

If there's a missing hash or a hash mismatch then EFI_ACCESS_DENIED is
returned which will cause a failure to load a kernel image.

Cc: Ard Biesheuvel <ardb+tianoc...@kernel.org>
Cc: Jordan Justen <jordan.l.jus...@intel.com>
Cc: Ashish Kalra <ashish.ka...@amd.com>
Cc: Brijesh Singh <brijesh.si...@amd.com>
Cc: Erdem Aktas <erdemak...@google.com>
Cc: James Bottomley <j...@linux.ibm.com>
Cc: Jiewen Yao <jiewen....@intel.com>
Cc: Min Xu <min.m...@intel.com>
Cc: Tom Lendacky <thomas.lenda...@amd.com>
Ref: https://bugzilla.tianocore.org/show_bug.cgi?id=3457
Co-developed-by: James Bottomley <j...@linux.ibm.com>
Signed-off-by: James Bottomley <j...@linux.ibm.com>
Signed-off-by: Dov Murik <dovmu...@linux.ibm.com>
Reviewed-by: Jiewen Yao <jiewen....@intel.com>
[ardb: add CryptoPkg to accepted dependencies list for CI]


  Commit: 514b3aa08ece52140b769a8676595655691c7cb3
      
https://github.com/tianocore/edk2/commit/514b3aa08ece52140b769a8676595655691c7cb3
  Author: Dov Murik <dovmu...@linux.ibm.com>
  Date:   2021-07-29 (Thu, 29 Jul 2021)

  Changed paths:
    M OvmfPkg/AmdSev/AmdSevX64.dsc

  Log Message:
  -----------
  OvmfPkg/AmdSev: Enforce hash verification of kernel blobs

In the AmdSevX64 build, use BlobVerifierLibSevHashes to enforce
verification of hashes of the kernel/initrd/cmdline blobs fetched from
firmware config.

This allows for secure (measured) boot of SEV guests with QEMU's
-kernel/-initrd/-append switches (with the corresponding QEMU support
for injecting the hashes table into initial measured guest memory).

Cc: Ard Biesheuvel <ardb+tianoc...@kernel.org>
Cc: Jordan Justen <jordan.l.jus...@intel.com>
Cc: Ashish Kalra <ashish.ka...@amd.com>
Cc: Brijesh Singh <brijesh.si...@amd.com>
Cc: Erdem Aktas <erdemak...@google.com>
Cc: James Bottomley <j...@linux.ibm.com>
Cc: Jiewen Yao <jiewen....@intel.com>
Cc: Min Xu <min.m...@intel.com>
Cc: Tom Lendacky <thomas.lenda...@amd.com>
Ref: https://bugzilla.tianocore.org/show_bug.cgi?id=3457
Signed-off-by: Dov Murik <dovmu...@linux.ibm.com>
Reviewed-by: Tom Lendacky <thomas.lenda...@amd.com>
Reviewed-by: Jiewen Yao <jiewen....@intel.com>


Compare: https://github.com/tianocore/edk2/compare/dc485c556d5f...514b3aa08ece


_______________________________________________
edk2-commits mailing list
edk2-commits@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/edk2-commits

Reply via email to