|
|
Log in / Subscribe / Register

configfs-tsm: Attestation Report ABI

From:  Dan Williams <dan.j.williams-AT-intel.com>
To:  linux-coco-AT-lists.linux.dev
Subject:  [PATCH v6 0/7] configfs-tsm: Attestation Report ABI
Date:  Thu, 12 Oct 2023 19:13:54 -0700
Message-ID:  <169716323436.984874.9170967990536970455.stgit@dwillia2-xfh.jf.intel.com>
Cc:  Brijesh Singh <brijesh.singh-AT-amd.com>, Kuppuswamy Sathyanarayanan <sathyanarayanan.kuppuswamy-AT-linux.intel.com>, Erdem Aktas <erdemaktas-AT-google.com>, Peter Zijlstra <peterz-AT-infradead.org>, Tom Lendacky <thomas.lendacky-AT-amd.com>, Peter Gonda <pgonda-AT-google.com>, Borislav Petkov <bp-AT-alien8.de>, Dionna Amalie Glaze <dionnaglaze-AT-google.com>, Jeremi Piotrowski <jpiotrowski-AT-linux.microsoft.com>, Thomas Gleixner <tglx-AT-linutronix.de>, Samuel Ortiz <sameo-AT-rivosinc.com>, Dionna Glaze <dionnaglaze-AT-google.com>, Pankaj Gupta <pankaj.gupta-AT-amd.com>, Greg Kroah-Hartman <gregkh-AT-linuxfoundation.org>, Andrew Morton <akpm-AT-linux-foundation.org>, James Bottomley <James.Bottomley-AT-HansenPartnership.com>, sathyanarayanan.kuppuswamy-AT-linux.intel.com, dave.hansen-AT-linux.intel.com, bp-AT-alien8.de
Archive-link:  Article

Changes since v5 [1]:
- Dump the raw cert_table via a new @auxblob attribute rather than
  concatenate the certificate data. (Dionna and Tom)
- Fix usage of guard(), drop erroneous copy-pasted mutex_unlock().
  (Tom)

[1]: http://lore.kernel.org/r/169700203032.779347.116034847218...

---

Merge notes: I am looking for Dave or Boris to pick this up, I believe
all outstanding comments have been resolved and this has now been
smoke-tested on AMD and Intel platforms (both v5 and v6).

---

An attestation report is signed evidence of how a Trusted Virtual
Machine (TVM) was launched and its current state. A verifying party uses
the report to make judgements of the confidentiality and integrity of
that execution environment. Upon successful attestation the verifying
party may, for example, proceed to deploy secrets to the TVM to carry
out a workload. Multiple confidential computing platforms share this
similar flow.
 
The approach of adding adding new char devs and new ioctls, for what
amounts to the same logical functionality with minor formatting
differences across vendors [2], is untenable. Common concepts and the
community benefit from common infrastructure. 
 
Use configfs for this facility for maintainability compared to ioctl(),
and for its scalability compared to sysfs. Atomicity can be enforced at
item creation time, and a conflict detection mechanism is included for
scenarios where multiple threads may share a single configuration
instance.
 
[2]: http://lore.kernel.org/r/cover.1684048511.git.sathyanaray...


---

Dan Williams (6):
      virt: sevguest: Fix passing a stack buffer as a scatterlist target
      virt: coco: Add a coco/Makefile and coco/Kconfig
      configfs-tsm: Introduce a shared ABI for attestation reports
      virt: sevguest: Prep for kernel internal get_ext_report()
      mm/slab: Add __free() support for kvfree
      virt: sevguest: Add TSM_REPORTS support for SNP_GET_EXT_REPORT

Kuppuswamy Sathyanarayanan (1):
      virt: tdx-guest: Add Quote generation support using TSM_REPORTS


 Documentation/ABI/testing/configfs-tsm  |   82 ++++++
 MAINTAINERS                             |    8 +
 arch/x86/coco/tdx/tdx.c                 |   21 ++
 arch/x86/include/asm/shared/tdx.h       |    1 
 arch/x86/include/asm/tdx.h              |    2 
 drivers/virt/Kconfig                    |    6 
 drivers/virt/Makefile                   |    4 
 drivers/virt/coco/Kconfig               |   14 +
 drivers/virt/coco/Makefile              |    8 +
 drivers/virt/coco/sev-guest/Kconfig     |    1 
 drivers/virt/coco/sev-guest/sev-guest.c |  212 ++++++++++++++--
 drivers/virt/coco/tdx-guest/Kconfig     |    1 
 drivers/virt/coco/tdx-guest/tdx-guest.c |  229 +++++++++++++++++
 drivers/virt/coco/tsm.c                 |  423 +++++++++++++++++++++++++++++++
 include/linux/slab.h                    |    2 
 include/linux/tsm.h                     |   68 +++++
 16 files changed, 1046 insertions(+), 36 deletions(-)
 create mode 100644 Documentation/ABI/testing/configfs-tsm
 create mode 100644 drivers/virt/coco/Kconfig
 create mode 100644 drivers/virt/coco/Makefile
 create mode 100644 drivers/virt/coco/tsm.c
 create mode 100644 include/linux/tsm.h

base-commit: 6465e260f48790807eef06b583b38ca9789b6072



Copyright © 2023, Eklektix, Inc.
Comments and public postings are copyrighted by their creators.
Linux is a registered trademark of Linus Torvalds