Re: [RFC] KVM: mm: fd-based approach for supporting KVM guest private memory

From: Dave Hansen
Date: Thu Sep 02 2021 - 15:08:07 EST


On 9/2/21 11:57 AM, Sean Christopherson wrote:
> On Thu, Sep 02, 2021, Andy Lutomirski wrote:
>> On 9/2/21 2:27 AM, Joerg Roedel wrote:
>>> On Wed, Sep 01, 2021 at 09:07:59AM -0700, Andy Lutomirski wrote:
>>>> In principle, you could actually initialize a TDX guest with all of its
>>>> memory shared and all of it mapped in the host IOMMU.
>>> Not sure how this works in TDX, but in SEV code fetches are always
>>> treated as encrypted. So this approach would not work with SEV, not to
>>> speak about attestation, which will not work with this approach either
>>> :)
>>>
>> Oof.
> TDX is kinda similar. _All_ accesses are private if paging is disabled because
> the shared bit is either bit 48 or bit 51 in the GPA, i.e. can't be reached if
> paging is disabled. The vCPU is hardcoded to start in unpaged protected mode,
> so at least some amount of guest memory needs to be private.

That's a rule we should definitely add to our page table checker. Just
like how we can look for W+X, we should also look for Shared+X.