From: Jason Gunthorpe <jgg@nvidia.com>
To: Xu Yilun <yilun.xu@linux.intel.com>
Cc: "Aneesh Kumar K.V (Arm)" <aneesh.kumar@kernel.org>,
linux-coco@lists.linux.dev, Jiri Pirko <jiri@resnulli.us>,
Kevin Tian <kevin.tian@intel.com>,
Alexey Kardashevskiy <aik@amd.com>,
Catalin Marinas <catalin.marinas@arm.com>,
Suzuki K Poulose <suzuki.poulose@arm.com>,
Steven Price <steven.price@arm.com>,
Kiryl Shutsemau <kas@kernel.org>,
Rick Edgecombe <rick.p.edgecombe@intel.com>,
Dave Hansen <dave.hansen@linux.intel.com>,
Jonathan Cameron <jic23@kernel.org>,
Bjorn Helgaas <bhelgaas@google.com>,
Ashish Kalra <ashish.kalra@amd.com>,
Tom Lendacky <thomas.lendacky@amd.com>,
John Allen <john.allen@amd.com>, Will Deacon <will@kernel.org>,
Mark Rutland <mark.rutland@arm.com>,
patches@lists.linux.dev
Subject: Re: [RFC PATCH v1 00/11] PCI/TSM: Add CTLV attestation
Date: Fri, 30 Oct 2026 12:32:55 -0300 [thread overview]
Message-ID: <20261030153255.GK3734323@nvidia.com> (raw)
In-Reply-To: <auSO1IDQ8iN6wHVv@yilunxu-OptiPlex-7050>
On Fri, Oct 30, 2026 at 08:34:28PM +0800, Xu Yilun wrote:
> On Wed, Oct 28, 2026 at 08:56:07PM +0530, Aneesh Kumar K.V (Arm) wrote:
> > This series connects PCI/TSM to the common CTLV attestation interface.
> > Userspace can discover a device's evidence objects, retrieve them, and
> > accept the evidence before the kernel establishes a secure link or moves
> > a guest device into TDISP RUN. It replaces the PCI/TSM netlink evidence
> > interface while retaining connect, disconnect, lock and unlock in sysfs.
> >
> > This series builds on the CTLV attestation series [1] and Arm CCA
> > device-assignment support. It covers PCI/TSM attestation through
> > certificate slot-zero.
> >
> > The development tree is available at:
> >
> > https://gitlab.arm.com/linux-arm/linux-cca.git cca/topics/cca-da-attestation
> >
> > That branch also includes the follow-up Rust SPDM certificate-slot
> > discovery work, generic attestation fixes, and CTLV tooling fixes.
> >
> > [1] https://lore.kernel.org/all/20261015145053.3664509-1-jiri@resnulli.us
> >
> > The host flow separates identity collection from session and IDE setup:
> >
> > sysfs connect
> > -> collect and cache the certificate chain
> > DEVICE_GET / EVIDENCE_GET
> > -> discover available objects and retrieve the chain for verification
>
> Is it possible that these two steps combined to one? They collect, cache
> the certificates, then hand over the cache to userspace when requested. Why
> not just use one user interface to collect and hand over the certificates?
Any caching needs a careful think.. We should be caching globally in
the attestation subsystem things like certificate chains so we can do
GET_DIGESTS and then skip the GET_CERTIFICATES if we already have it..
And if we are going to do this rustspdm + TSM stuff the certificate
caching should be shared between those components too.
Other stuff is not caching, it is storing immutable data about a
single SPDM session. Like the transcript.. This needs to be properly
lifetime bound to the session itself through a session generation.
> Could the flow be:
>
> 1. DEVICE_GET/EVIDENCE_GET
> -> collect and retrieve the certificates via native SPDM
> 2. sysfs connect
> -> establish the *TSM-based* secure session and IDE streams
> 3. sysfs disconnect
> -> release the *TSM-based* streams and identity context
>
> This way we don't even touch the existing host side TSM.
I don't think this is a great idea, ideally we should be seeing the
TSM world expand their APIs to support slot discovery properly and
securely. Injecting rustspdm to make up those gaps should be seen as a
temporary thing. Thus the uAPI presented should be uniform between and
old and new TSM..
There should also be some continuity, possibly in the kernel, to bind
the digests/certificates from the first phase through to the
authenticated phase to avoid downgrade attacks. See my reply to Elena
This is much harder to do if the tsm driver goes away in the middle of
the process.
Jason
prev parent reply other threads:[~2026-10-30 15:33 UTC|newest]
Thread overview: 30+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-10-28 15:26 [RFC PATCH v1 00/11] PCI/TSM: Add CTLV attestation Aneesh Kumar K.V (Arm)
2026-10-28 15:26 ` [RFC PATCH v1 01/11] attestation: Restrict inherited operations per instance Aneesh Kumar K.V (Arm)
2026-10-30 13:29 ` Jiri Pirko
2026-10-28 15:26 ` [RFC PATCH v1 02/11] attestation: Filter evidence objects " Aneesh Kumar K.V (Arm)
2026-10-30 13:44 ` Jiri Pirko
2026-10-28 15:26 ` [RFC PATCH v1 03/11] attestation: Enter secure operation when evidence is accepted Aneesh Kumar K.V (Arm)
2026-10-30 13:51 ` Jiri Pirko
2026-10-30 15:36 ` Jason Gunthorpe
2026-10-28 15:26 ` [RFC PATCH v1 04/11] attestation: Bind object selection to accepted evidence snapshots Aneesh Kumar K.V (Arm)
2026-10-28 15:26 ` [RFC PATCH v1 05/11] attestation: Make the evidence-get challenge attribute optional Aneesh Kumar K.V (Arm)
2026-10-28 15:26 ` [RFC PATCH v1 06/11] PCI/TSM: Describe the PCI attestation control family Aneesh Kumar K.V (Arm)
2026-10-30 14:01 ` Jiri Pirko
2026-10-30 15:43 ` Jason Gunthorpe
2026-10-28 15:26 ` [RFC PATCH v1 07/11] attestation: Add attestation helpers for PCI/TSM integration Aneesh Kumar K.V (Arm)
2026-10-28 15:26 ` [RFC PATCH v1 08/11] PCI/TSM: Bind CTLV attestation to connected and locked contexts Aneesh Kumar K.V (Arm)
2026-10-28 22:56 ` Dave Jiang
2026-10-29 5:30 ` Aneesh Kumar K.V
2026-10-29 12:41 ` Jason Gunthorpe
2026-10-30 14:04 ` Jiri Pirko
2026-10-30 14:08 ` Jiri Pirko
2026-10-30 15:39 ` Jason Gunthorpe
2026-10-28 15:26 ` [RFC PATCH v1 09/11] crypto/ccp: Defer SEV-TIO link setup until evidence acceptance Aneesh Kumar K.V (Arm)
2026-10-28 15:26 ` [RFC PATCH v1 10/11] virt: coco: arm-cca-host: Publish slot zero and establish streams after acceptance Aneesh Kumar K.V (Arm)
2026-10-29 16:56 ` Dave Jiang
2026-10-29 17:10 ` Jason Gunthorpe
2026-10-30 9:58 ` Reshetova, Elena
2026-10-30 13:15 ` Jason Gunthorpe
2026-10-28 15:26 ` [RFC PATCH v1 11/11] virt: coco: arm-cca-guest: Refresh selected evidence against trusted digests Aneesh Kumar K.V (Arm)
2026-10-30 12:34 ` [RFC PATCH v1 00/11] PCI/TSM: Add CTLV attestation Xu Yilun
2026-10-30 15:32 ` Jason Gunthorpe [this message]
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20261030153255.GK3734323@nvidia.com \
--to=jgg@nvidia.com \
--cc=aik@amd.com \
--cc=aneesh.kumar@kernel.org \
--cc=ashish.kalra@amd.com \
--cc=bhelgaas@google.com \
--cc=catalin.marinas@arm.com \
--cc=dave.hansen@linux.intel.com \
--cc=jic23@kernel.org \
--cc=jiri@resnulli.us \
--cc=john.allen@amd.com \
--cc=kas@kernel.org \
--cc=kevin.tian@intel.com \
--cc=linux-coco@lists.linux.dev \
--cc=mark.rutland@arm.com \
--cc=patches@lists.linux.dev \
--cc=rick.p.edgecombe@intel.com \
--cc=steven.price@arm.com \
--cc=suzuki.poulose@arm.com \
--cc=thomas.lendacky@amd.com \
--cc=will@kernel.org \
--cc=yilun.xu@linux.intel.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox