All of lore.kernel.org
 help / color / mirror / Atom feed
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.

  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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.