Re: [RFC v2-fix 1/1] x86/tdx: Make DMA pages shared

From: Dave Hansen
Date: Tue May 18 2021 - 18:32:10 EST


On 5/18/21 3:12 PM, Kuppuswamy, Sathyanarayanan wrote:
> "TDX is similar. In TDX architecture, the private guest memory is
> encrypted, which prevents anything other than guest from
> accessing/modifying it. So to communicate with I/O devices, we need
> to create decrypted mapping and make the pages shared."

That's actually even more wrong. :(

Check out "Machine Check Architecture Background" in the TDX
architecture spec.

Modification is totally permitted in the architecture. A host can write
all day long to guest memory. Depending on how you use the word,
"access" can also include writes.

TDX really just prevents guests from *consuming* the gunk that an
attacker might write.

Also, don't say "decrypted". The memory is probably still TME-enabled
and probably encrypted on the DIMM. It's still encrypted even if
shared, it's just using the TME key, not the TD key.