Linux Confidential Computing Development
 help / color / mirror / Atom feed
From: "Edgecombe, Rick P" <rick.p.edgecombe@intel.com>
To: "dedekind1@gmail.com" <dedekind1@gmail.com>,
	"seanjc@google.com" <seanjc@google.com>
Cc: "linux-coco@lists.linux.dev" <linux-coco@lists.linux.dev>,
	"x86@kernel.org" <x86@kernel.org>,
	"dave.hansen@linux.intel.com" <dave.hansen@linux.intel.com>,
	"kas@kernel.org" <kas@kernel.org>,
	"binbin.wu@linux.intel.com" <binbin.wu@linux.intel.com>,
	"Li, Xiaoyao" <xiaoyao.li@intel.com>,
	"linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>,
	"sathyanarayanan.kuppuswamy@linux.intel.com"
	<sathyanarayanan.kuppuswamy@linux.intel.com>,
	"bp@alien8.de" <bp@alien8.de>,
	"kvm@vger.kernel.org" <kvm@vger.kernel.org>,
	"tglx@kernel.org" <tglx@kernel.org>,
	"hpa@zytor.com" <hpa@zytor.com>,
	"mingo@redhat.com" <mingo@redhat.com>,
	"Fang, Peter" <peter.fang@intel.com>
Subject: Re: [PATCH v3 0/4] tdx-guest: Make Quote buffer size dynamic
Date: Tue, 18 Aug 2026 23:46:45 +0000	[thread overview]
Message-ID: <a764973b285a3bda0c803432dab36e839ec30ac2.camel@intel.com> (raw)
In-Reply-To: <aoTCmJXjQQbXRKqv@google.com>

On Tue, 2026-08-18 at 13:37 -0700, Sean Christopherson wrote:
> > 3. Why freezing TD report size
> > 
> > Linux supports 1024-byte TD reports via the `TDX_CMD_GET_REPORT0`
> > ioctl. It is already full, no more TD evidence fits, and changing TD
> > report size would require a new ioctl.
> 
> So instead of adding new uAPI for the guest, TDX adds new uAPI to KVM?  That's
> not a very compelling argument.

I agree this is a weak point. The freezing of the TD report size is only a very
minor benefit that results in less guest changes. I was treating it as a tie
breaker level thing.

The reason to not do the quote as a TDG call is to let the host control
contention on the quote resource (s3m, etc). And if we exit out to the host,
adding a host uAPI (KVM or not) lets userspace decide which quoter to use. And
keeps the quote exit working as before.

Just want to call your attention to some discussion on how far we might want to
take this "kick out to have the host manage contention" pattern, if we want to
resolve other guest locking headaches:
https://lore.kernel.org/kvm/0b5a26492f367f793aab38e4a0d9d6f398340f51.camel@intel.com/


snip

> > Therefore, for DICE-based attestation the TDX module adds new TD
> > evidence in the quote instead of expanding the TD report.
> > 
> > Is this the cleanest approach? Maybe not. A clear separation of
> > concern, with TD evidence in the report and the quote only adding
> > signature and trust material, does feel cleaner.
> > 
> > But on the other hand:
> >   - The quote itself is already a per-TD data structure
> >   - The it is inherently variable size because it contains
> >     cryptographic material and trust data
> >   - A fixed-size TD report means that at least one of them is fixed
> >     size, not both.
> 
> Taking this argument a step further, why even have a TD report?  If DICE-based
> attestation can "add evidence" at quote-time, then just throw away the
> separate report entirely.

I think the folks in this thread have converged on that if you did the whole
thing over without SGX, you don't need a report. But you do still need to pass
something from the guest to the quoter so that the guest can know that the
generated quote it gets back is for itself and not some other TD. (Or some other
extra guest call to check the quote after you get it I guess) A nonce only
"report" is just like the report in that it is some bytes of data that the guest
doesn't look at, but just without the TD details in it. 

So given that we have SGX legacy stuff, leaving the report alone and having a TD
scoped quote (KVM based API) is quite similar to throwing the report away. If
you totally unsupported the ability to do SGX attestation, then you would only
end up with a smaller blob to pass out instead of a 1KB blob. In the end it's
not a huge difference, so might as well leave it able to work with SGX
attestation.

But how can we close this, at this point? This is all being hashed out on the
list now, but the hashing out is long and scattered. It may be inefficient for
you to extract the minimum critical points to decide. We could do a more
condensed writeup for you and Paolo to review?

 

  reply	other threads:[~2026-08-18 23:46 UTC|newest]

Thread overview: 29+ 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 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 21:21 ` [PATCH v3 0/4] tdx-guest: Make Quote buffer size dynamic Edgecombe, Rick P
2026-08-11 22:40   ` Edgecombe, Rick P
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
2026-08-12 22:37             ` Peter Fang
2026-08-12 22:47               ` Edgecombe, Rick P
2026-08-12 23:10                 ` Sean Christopherson
2026-08-12 23:30                   ` Edgecombe, Rick P
2026-08-13 19:32                     ` Artem Bityutskiy
2026-08-13 20:14                       ` Edgecombe, Rick P
2026-08-14  5:45                         ` Artem Bityutskiy
2026-08-14  7:37                           ` Peter Fang
2026-08-14 15:55                           ` Edgecombe, Rick P
2026-08-15 11:39                             ` Artem Bityutskiy
2026-08-17 17:26                               ` Edgecombe, Rick P
2026-08-18 11:09                                 ` Artem Bityutskiy
2026-08-18 20:37                       ` Sean Christopherson
2026-08-18 23:46                         ` Edgecombe, Rick P [this message]
2026-08-12 23:27                 ` Peter Fang
2026-08-12 21:02         ` Peter Fang

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=a764973b285a3bda0c803432dab36e839ec30ac2.camel@intel.com \
    --to=rick.p.edgecombe@intel.com \
    --cc=binbin.wu@linux.intel.com \
    --cc=bp@alien8.de \
    --cc=dave.hansen@linux.intel.com \
    --cc=dedekind1@gmail.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