[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <799e5861-c91c-4756-982c-033ebef476b4@amazon.co.uk>
Date: Fri, 18 Oct 2024 10:34:41 +0100
From: Patrick Roy <roypat@...zon.co.uk>
To: David Hildenbrand <david@...hat.com>, Jason Gunthorpe <jgg@...dia.com>,
Peter Xu <peterx@...hat.com>
CC: Ackerley Tng <ackerleytng@...gle.com>, <tabba@...gle.com>,
<quic_eberman@...cinc.com>, <rientjes@...gle.com>, <fvdl@...gle.com>,
<jthoughton@...gle.com>, <seanjc@...gle.com>, <pbonzini@...hat.com>,
<zhiquan1.li@...el.com>, <fan.du@...el.com>, <jun.miao@...el.com>,
<isaku.yamahata@...el.com>, <muchun.song@...ux.dev>, <erdemaktas@...gle.com>,
<vannapurve@...gle.com>, <qperret@...gle.com>, <jhubbard@...dia.com>,
<willy@...radead.org>, <shuah@...nel.org>, <brauner@...nel.org>,
<bfoster@...hat.com>, <kent.overstreet@...ux.dev>, <pvorel@...e.cz>,
<rppt@...nel.org>, <richard.weiyang@...il.com>, <anup@...infault.org>,
<haibo1.xu@...el.com>, <ajones@...tanamicro.com>, <vkuznets@...hat.com>,
<maciej.wieczor-retman@...el.com>, <pgonda@...gle.com>,
<oliver.upton@...ux.dev>, <linux-kernel@...r.kernel.org>,
<linux-mm@...ck.org>, <kvm@...r.kernel.org>,
<linux-kselftest@...r.kernel.org>
Subject: Re: [RFC PATCH 26/39] KVM: guest_memfd: Track faultability within a
struct kvm_gmem_private
On Fri, 2024-10-18 at 08:50 +0100, David Hildenbrand wrote:
> On 18.10.24 09:15, Patrick Roy wrote:
>>
>>
>> On Thu, 2024-10-17 at 20:18 +0100, Jason Gunthorpe wrote:
>>> On Thu, Oct 17, 2024 at 03:11:10PM -0400, Peter Xu wrote:
>>>> On Thu, Oct 17, 2024 at 02:10:10PM -0300, Jason Gunthorpe wrote:
>>>>>> If so, maybe that's a non-issue for non-CoCo, where the VM object /
>>>>>> gmemfd object (when created) can have a flag marking that it's
>>>>>> always shared and can never be converted to private for any page
>>>>>> within.
>>>>>
>>>>> What is non-CoCo? Does it include the private/shared concept?
>>>>
>>>> I used that to represent the possible gmemfd use cases outside confidential
>>>> computing.
>>>>
>>>> So the private/shared things should still be around as fundamental property
>>>> of gmemfd, but it should be always shared and no convertion needed for the
>>>> whole lifecycle of the gmemfd when marked !CoCo.
>>>
>>> But what does private mean in this context?
>>>
>>> Is it just like a bit of additional hypervisor security that the page
>>> is not mapped anyplace except the KVM stage 2 and the hypervisor can
>>> cause it to become mapped/shared at any time? But the guest has no
>>> idea about this?
>>>
>>> Jason
>>
>> Yes, this is pretty much exactly what I'm after when I say "non-CoCo".
>
> It's likely not what Peter meant, though.
>
> I think there are three scenarios:
>
> (a) Secure CoCo VMs: private is protected by HW
> (b) Semi-secured non-CoCo VMs: private is removed from the directmap
> (c) Non-CoCo VMs: only shared memory
>
> Does that match what you have in mind? Are there other cases?
Yeah, I'm after your case (b). I suppose I will not call it just
"non-CoCo" anymore then :)
> --
> Cheers,
>
> David / dhildenb
>
Powered by blists - more mailing lists