From: "Edgecombe, Rick P" <rick.p.edgecombe@intel.com>
To: "sathyanarayanan.kuppuswamy@linux.intel.com"
<sathyanarayanan.kuppuswamy@linux.intel.com>,
"kas@kernel.org" <kas@kernel.org>,
"seanjc@google.com" <seanjc@google.com>,
"Fang, Peter" <peter.fang@intel.com>,
"dave.hansen@linux.intel.com" <dave.hansen@linux.intel.com>,
"Bityutskiy, Artem" <artem.bityutskiy@intel.com>
Cc: "bp@alien8.de" <bp@alien8.de>, "x86@kernel.org" <x86@kernel.org>,
"binbin.wu@linux.intel.com" <binbin.wu@linux.intel.com>,
"hpa@zytor.com" <hpa@zytor.com>,
"mingo@redhat.com" <mingo@redhat.com>,
"linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>,
"Li, Xiaoyao" <xiaoyao.li@intel.com>,
"tglx@kernel.org" <tglx@kernel.org>,
"kvm@vger.kernel.org" <kvm@vger.kernel.org>,
"linux-coco@lists.linux.dev" <linux-coco@lists.linux.dev>
Subject: Re: [PATCH v3 0/4] tdx-guest: Make Quote buffer size dynamic
Date: Tue, 11 Aug 2026 22:40:27 +0000 [thread overview]
Message-ID: <80b4ea89ebf17398c3bee21d157c7f97ea32aadf.camel@intel.com> (raw)
In-Reply-To: <e0a90fba3f8424412387aa08f1fdc708abeedc73.camel@intel.com>
Sean, Dave, Kiryl,
In PUCK we talked about how the TD scoped quote operation avoids changes
in the guest. But this series is actually changing the guest, so is
somewhat at odds to that assertion. It turns out there are some tradeoffs
here that also connect to TDX migration uAPI. Please see below for an
explanation and recommended course of action.
As a gentle recall helper... The general attestation flow converts a
report to a quote, which then gets checked by a verifier. The report is
like a snapshot of the guest and its environment. The quote is a signed
version of the report plus hardware certs. It's signed with a hardware key
and can use different kinds of crypto.
These pieces are evolving to handle a few problems at once:
- The stuff that needs to be attested is growing. Basically more platform
details and devices are getting added to the blobs.
- The crypto stuff is growing. The post quantum crypto stuff is large,
etc. That stuff lives in the quote.
- Migration wants a quote that is platform specific and not TD specific.
Because the platform details are growing, they need to either go into a
larger report or added later via a TD scoped quote. But the post quantum
crypto stuff is going to bloat the quote either way.
If the report grows to include all the TD specific details, then the QUOTE
seamcall can be platform scoped because all the details that it needs are
passed in as args.
But if it is TD scoped, the report can stay the same size and the extra
details can just be added during the quote operation. For migration, it
only needs a platform scoped quote. If there are extra details about a
specific TD, the migration stuff can be fine to just ignore them. (i.e. it
can get what it needs from TD scoped quotes or platform scoped quotes).
The current QUOTE seamcall supports both: platform scoped and TD scoped
operations. But since we could get by with either only a platform or TD
scoped seamcall for both operations, we could reduce the kernel's uAPIs,
or change the API's location. Per recent discussion, Sean sees TD scoped
APIs living in KVM and platform scoped things living in the host
driver/tip. So all that leaves us with something like this:
|Normal quote |Migration quote |Report size|Quote size|uAPI location |
-|----------------|----------------|-----------|----------|---------------|
1|Platform scoped |Platform scoped |Grows |Grows |TDX host driver|
2|TD scoped |TD scoped |Fixed |Grows |KVM |
3|TD scoped |Platform scoped |Fixed |Grows |Both |
I'm thinking we should proceed with 2 because only the quote size changes.
So less guest changes over time. 3 is not really a disaster either, but we
shouldn't need 2 uABIs. For 1, from early discussion it seems it can be
made to work but sounds like it will require some more extensive changes
to the TDX attestation stuff. So probably needs a bit more investigation
before we can say it won't disturb some other VMM vendor, etc.
next prev parent reply other threads:[~2026-08-11 22:40 UTC|newest]
Thread overview: 15+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-07-29 12:29 [PATCH v3 0/4] tdx-guest: Make Quote buffer size dynamic Peter Fang
2026-07-29 12:29 ` [PATCH v3 1/4] x86/tdx: Add helper to query maximum TD Quote size Peter Fang
2026-07-29 12:29 ` [PATCH v3 2/4] virt: tdx-guest: Calculate the Quote buffer size safely Peter Fang
2026-07-29 18:29 ` Kuppuswamy Sathyanarayanan
2026-07-29 12:29 ` [PATCH v3 3/4] virt: tdx-guest: Use a variable to store the Quote buffer size Peter Fang
2026-07-29 12:58 ` sashiko-bot
2026-07-29 18:47 ` Kuppuswamy Sathyanarayanan
2026-07-29 12:29 ` [PATCH v3 4/4] virt: tdx-guest: Allocate Quote buffer dynamically Peter Fang
2026-07-29 12:55 ` sashiko-bot
2026-07-29 21:21 ` [PATCH v3 0/4] tdx-guest: Make Quote buffer size dynamic Edgecombe, Rick P
2026-08-11 22:40 ` Edgecombe, Rick P [this message]
2026-08-12 14:08 ` Sean Christopherson
2026-08-12 16:02 ` Edgecombe, Rick P
2026-08-12 16:43 ` Sean Christopherson
2026-08-12 17:22 ` Edgecombe, Rick P
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=80b4ea89ebf17398c3bee21d157c7f97ea32aadf.camel@intel.com \
--to=rick.p.edgecombe@intel.com \
--cc=artem.bityutskiy@intel.com \
--cc=binbin.wu@linux.intel.com \
--cc=bp@alien8.de \
--cc=dave.hansen@linux.intel.com \
--cc=hpa@zytor.com \
--cc=kas@kernel.org \
--cc=kvm@vger.kernel.org \
--cc=linux-coco@lists.linux.dev \
--cc=linux-kernel@vger.kernel.org \
--cc=mingo@redhat.com \
--cc=peter.fang@intel.com \
--cc=sathyanarayanan.kuppuswamy@linux.intel.com \
--cc=seanjc@google.com \
--cc=tglx@kernel.org \
--cc=x86@kernel.org \
--cc=xiaoyao.li@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