linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Sean Christopherson <seanjc@google.com>
To: Michael Roth <michael.roth@amd.com>
Cc: David Hildenbrand <david@redhat.com>,
	Chao Peng <chao.p.peng@linux.intel.com>,
	Paolo Bonzini <pbonzini@redhat.com>,
	Vitaly Kuznetsov <vkuznets@redhat.com>,
	Jim Mattson <jmattson@google.com>, Joerg Roedel <joro@8bytes.org>,
	"Maciej S . Szmigiero" <mail@maciej.szmigiero.name>,
	Vlastimil Babka <vbabka@suse.cz>,
	Vishal Annapurve <vannapurve@google.com>,
	Yu Zhang <yu.c.zhang@linux.intel.com>,
	"Kirill A . Shutemov" <kirill.shutemov@linux.intel.com>,
	dhildenb@redhat.com, Quentin Perret <qperret@google.com>,
	tabba@google.com, wei.w.wang@intel.com,
	Mike Rapoport <rppt@kernel.org>,
	Liam Merwick <liam.merwick@oracle.com>,
	Isaku Yamahata <isaku.yamahata@gmail.com>,
	Jarkko Sakkinen <jarkko@kernel.org>,
	Ackerley Tng <ackerleytng@google.com>,
	kvm@vger.kernel.org, linux-kernel@vger.kernel.org,
	Hugh Dickins <hughd@google.com>,
	Christian Brauner <brauner@kernel.org>
Subject: Re: Rename restrictedmem => guardedmem? (was: Re: [PATCH v10 0/9] KVM: mm: fd-based approach for supporting KVM)
Date: Fri, 12 May 2023 11:01:10 -0700	[thread overview]
Message-ID: <ZF5+5g5hI7xyyIAS@google.com> (raw)
In-Reply-To: <20230512002124.3sap3kzxpegwj3n2@amd.com>

On Thu, May 11, 2023, Michael Roth wrote:
> On Fri, Apr 21, 2023 at 06:33:26PM -0700, Sean Christopherson wrote:
> > 
> > Code is available here if folks want to take a look before any kind of formal
> > posting:
> > 
> > 	https://github.com/sean-jc/linux.git x86/kvm_gmem_solo
> 
> Hi Sean,
> 
> I've been working on getting the SNP patches ported to this but I'm having
> some trouble working out a reasonable scheme for how to work the
> RMPUPDATE hooks into the proposed design.
> 
> One of the main things is kvm_gmem_punch_hole(): this is can free pages
> back to the host whenever userspace feels like it. Pages that are still
> marked private in the RMP table will blow up the host if they aren't returned
> to the normal state before handing them back to the kernel. So I'm trying to
> add a hook, orchestrated by kvm_arch_gmem_invalidate(), to handle that,
> e.g.:
> 
>   static long kvm_gmem_punch_hole(struct file *file, int mode, loff_t offset,
>                                   loff_t len)
>   {
>           struct kvm_gmem *gmem = file->private_data;
>           pgoff_t start = offset >> PAGE_SHIFT;
>           pgoff_t end = (offset + len) >> PAGE_SHIFT;
>           struct kvm *kvm = gmem->kvm;
>   
>           /*
>            * Bindings must stable across invalidation to ensure the start+end
>            * are balanced.
>            */
>           filemap_invalidate_lock(file->f_mapping);
>           kvm_gmem_invalidate_begin(kvm, gmem, start, end);
>   
>           /* Handle arch-specific cleanups before releasing pages */
>           kvm_arch_gmem_invalidate(kvm, gmem, start, end);
>           truncate_inode_pages_range(file->f_mapping, offset, offset + len);
>   
>           kvm_gmem_invalidate_end(kvm, gmem, start, end);
>           filemap_invalidate_unlock(file->f_mapping);
>   
>           return 0;
>   }
> 
> But there's another hook, kvm_arch_gmem_set_mem_attributes(), needed to put
> the page in its intended state in the RMP table prior to mapping it into the
> guest's NPT.

IMO, this approach is wrong.  kvm->mem_attr_array is the source of truth for whether
userspace wants _guest_ physical pages mapped private vs. shared, but the attributes
array has zero insight into the _host_ physical pages.  I.e. SNP shouldn't hook
kvm_mem_attrs_changed(), because operating on the RMP from that code is fundamentally
wrong.

A good analogy is moving a memslot (ignoring that AFAIK no VMM actually moves
memslots, but it's a good analogy for KVM internals).  KVM needs to zap all mappings
for the old memslot gfn, but KVM does not create mappings for the new memslot gfn.
Same for changing attributes; unmap, but never map.

As for the unmapping side of things, kvm_unmap_gfn_range() will unmap all relevant
NPT entries, and the elevated mmu_invalidate_in_progress will prevent KVM from
establishing a new NPT mapping.  And mmu_invalidate_in_progress will reach '0' only
after both truncation _and_ kvm_vm_ioctl_set_mem_attributes() complete, i.e. KVM
can create new mappings only when both kvm->mem_attr_array and any relevant
guest_mem bindings have reached steady state.

That leaves the question of when/where to do RMP updates.  Off the cuff, I think
RMP updates (and I _think_ also TDX page conversions) should _always_ be done in
the context of either (a) file truncation (make host owned due, a.k.a. TDX reclaim)
or (b) allocating a new page/folio in guest_mem, a.k.a. kvm_gmem_get_folio().
Under the hood, even though the gfn is the same, the backing pfn is different, i.e.
installing a shared mapping should _never_ need to touch the RMP because pages
common from the normal (non-guest_mem) pool must already be host owned.

> Currently I'm calling that hook via kvm_vm_ioctl_set_mem_attributes(), just
> after kvm->mem_attr_array is updated based on the ioctl. The reasoning there
> is that KVM MMU can then rely on the existing mmu_invalidate_seq logic to
> ensure both the state in the mem_attr_array and the RMP table are in sync and
> up-to-date once MMU lock is acquired and MMU is ready to map it, or retry
> #NPF otherwise.
> 
> But for kvm_gmem_punch_hole(), kvm_vm_ioctl_set_mem_attributes() can potentially
> result in something like the following sequence if I implement things as above:
> 
>   CPU0: kvm_gmem_punch_hole():
>           kvm_gmem_invalidate_begin()
>           kvm_arch_gmem_invalidate()         // set pages to default/shared state in RMP table before free'ing
>   CPU1: kvm_vm_ioctl_set_mem_attributes():
>           kvm_arch_gmem_set_mem_attributes() // maliciously set pages to private in RMP table
>   CPU0:   truncate_inode_pages_range()       // HOST BLOWS UP TOUCHING PRIVATE PAGES
>           kvm_arch_gmem_invalidate_end()
> 
> One quick and lazy solution is to rely on the fact that
> kvm_vm_ioctl_set_mem_attributes() holds the kvm->slots_lock throughout the
> entire begin()/end() portion of the invalidation sequence, and to similarly
> hold the kvm->slots_lock throughout the begin()/end() sequence in
> kvm_gmem_punch_hole() to prevent any interleaving.
> 
> But I'd imagine overloading kvm->slots_lock is not the proper approach. But
> would introducing a similar mutex to keep these operations grouped/atomic be
> a reasonable approach to you, or should we be doing something else entirely
> here?
> 
> Keep in mind that RMP updates can't be done while holding KVM->mmu_lock
> spinlock, because we also need to unmap pages from the directmap, which can
> lead to scheduling-while-atomic BUG()s[1], so that's another constraint we
> need to work around.
> 
> Thanks!
> 
> -Mike
> 
> [1] https://lore.kernel.org/linux-coco/20221214194056.161492-7-michael.roth@amd.com/T/#m45a1af063aa5ac0b9314d6a7d46eecb1253bba7a
> 
> > 
> > [1] https://lore.kernel.org/all/ff5c5b97-acdf-9745-ebe5-c6609dd6322e@google.com
> > [2] https://lore.kernel.org/all/20230418-anfallen-irdisch-6993a61be10b@brauner
> > [3] https://lore.kernel.org/linux-mm/20200522125214.31348-1-kirill.shutemov@linux.intel.com

  reply	other threads:[~2023-05-12 18:02 UTC|newest]

Thread overview: 398+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2022-12-02  6:13 [PATCH v10 0/9] KVM: mm: fd-based approach for supporting KVM Chao Peng
2022-12-02  6:13 ` [PATCH v10 1/9] mm: Introduce memfd_restricted system call to create restricted user memory Chao Peng
2022-12-06 14:57   ` Fuad Tabba
2022-12-07 13:50     ` Chao Peng
2022-12-13 23:49   ` Huang, Kai
2022-12-19  7:53     ` Chao Peng
2022-12-19  8:48       ` Huang, Kai
2022-12-20  7:22         ` Chao Peng
2022-12-20  8:33           ` Huang, Kai
2022-12-21 13:39             ` Chao Peng
2022-12-22  0:37               ` Huang, Kai
2022-12-23  8:20                 ` Chao Peng
2023-01-23 14:03                 ` Vlastimil Babka
2023-01-23 15:18                   ` Kirill A. Shutemov
2023-02-13 14:23                     ` Vlastimil Babka
2023-01-23 23:01                   ` Huang, Kai
2023-01-23 23:38                     ` Sean Christopherson
2023-01-24  7:51                       ` Vlastimil Babka
2022-12-22 18:15               ` Sean Christopherson
2022-12-23  0:50                 ` Huang, Kai
2022-12-23  8:24                 ` Chao Peng
2023-01-23 15:43                 ` Kirill A. Shutemov
2023-02-13 11:43                   ` Vlastimil Babka
2023-02-13 13:10                   ` Michael Roth
2023-01-13 21:54   ` Sean Christopherson
2023-01-17 12:41     ` Chao Peng
2023-01-17 16:34       ` Sean Christopherson
2023-01-18  8:16         ` Chao Peng
2023-01-18 10:17           ` Isaku Yamahata
2023-02-22  2:07     ` Alexey Kardashevskiy
2023-02-24  5:42       ` Chao Peng
2023-01-30  5:26   ` Ackerley Tng
2023-01-30  6:04     ` Wang, Wei W
2023-02-16  9:51   ` Nikunj A. Dadhania
2023-03-20 19:08     ` Michael Roth
2023-04-13 15:25   ` [PATCH v7 00/14] KVM: mm: fd-based approach for supporting KVM guest private memory Christian Brauner
2023-04-13 22:28     ` Sean Christopherson
2023-04-14 22:38       ` Ackerley Tng
2023-04-14 23:26         ` Sean Christopherson
2023-04-15  0:06           ` Sean Christopherson
2023-04-19  8:29       ` Christian Brauner
2023-04-20  0:49         ` Sean Christopherson
2023-04-20  8:35           ` Christian Brauner
2023-04-13 17:22   ` [PATCH v10 1/9] mm: Introduce memfd_restricted system call to create restricted user memory Ackerley Tng
2022-12-02  6:13 ` [PATCH v10 2/9] KVM: Introduce per-page memory attributes Chao Peng
2022-12-06 13:34   ` Fabiano Rosas
2022-12-07 14:31     ` Chao Peng
2022-12-06 15:07   ` Fuad Tabba
2022-12-07 14:51     ` Chao Peng
2022-12-16 15:09   ` Borislav Petkov
2022-12-19  8:15     ` Chao Peng
2022-12-19 10:17       ` Borislav Petkov
2022-12-20  7:24         ` Chao Peng
2022-12-28  8:28   ` Chenyi Qiang
2023-01-03  1:39     ` Chao Peng
2023-01-03  3:32       ` Wang, Wei W
2023-01-03 23:06         ` Sean Christopherson
2023-01-05  4:39           ` Chao Peng
2023-01-13 22:02   ` Sean Christopherson
2023-01-17  3:21   ` Binbin Wu
2023-01-17 13:30     ` Chao Peng
2023-01-17 17:25       ` Sean Christopherson
2023-02-09  7:25   ` Isaku Yamahata
2023-02-10  0:35     ` Sean Christopherson
2023-02-13 23:53       ` Isaku Yamahata
2023-02-14 18:07         ` Sean Christopherson
2023-05-19 17:32   ` Nicolas Saenz Julienne
2023-05-19 18:23     ` Sean Christopherson
2023-05-19 19:49       ` Nicolas Saenz Julienne
2023-05-19 19:57         ` Sean Christopherson
2023-05-23 18:59       ` Nicolas Saenz Julienne
2022-12-02  6:13 ` [PATCH v10 3/9] KVM: Extend the memslot to support fd-based private memory Chao Peng
2022-12-05  9:03   ` Fuad Tabba
2022-12-06 11:53     ` Chao Peng
2022-12-06 12:39       ` Fuad Tabba
2022-12-07 15:10         ` Chao Peng
2022-12-08  8:37   ` Xiaoyao Li
2022-12-08 11:30     ` Chao Peng
2022-12-13 12:04       ` Xiaoyao Li
2022-12-19  7:50         ` Chao Peng
2022-12-19 14:36   ` Borislav Petkov
2022-12-20  7:43     ` Chao Peng
2022-12-20  9:55       ` Borislav Petkov
2022-12-21 13:42         ` Chao Peng
2023-01-05 11:23   ` Jarkko Sakkinen
2023-01-06  9:40     ` Chao Peng
2023-01-09 19:32       ` Sean Christopherson
2023-01-10  9:14         ` Chao Peng
2023-01-10 22:51           ` Vishal Annapurve
2023-01-13 22:37           ` Sean Christopherson
2023-01-17 12:42             ` Chao Peng
2023-01-20 23:42           ` Jarkko Sakkinen
2023-01-20 23:28         ` Jarkko Sakkinen
2022-12-02  6:13 ` [PATCH v10 4/9] KVM: Add KVM_EXIT_MEMORY_FAULT exit Chao Peng
2022-12-06 15:47   ` Fuad Tabba
2022-12-07 15:11     ` Chao Peng
2023-01-13 23:13   ` Sean Christopherson
2022-12-02  6:13 ` [PATCH v10 5/9] KVM: Use gfn instead of hva for mmu_notifier_retry Chao Peng
2022-12-05  9:23   ` Fuad Tabba
2022-12-06 11:56     ` Chao Peng
2022-12-06 15:48       ` Fuad Tabba
2022-12-09  6:24         ` Chao Peng
2022-12-07  6:34       ` Isaku Yamahata
2022-12-07 15:14         ` Chao Peng
2022-12-02  6:13 ` [PATCH v10 6/9] KVM: Unmap existing mappings when change the memory attributes Chao Peng
2022-12-07  8:13   ` Yuan Yao
2022-12-08 11:20     ` Chao Peng
2022-12-09  5:43       ` Yuan Yao
2022-12-07 17:16   ` Fuad Tabba
2022-12-08 11:13     ` Chao Peng
2022-12-09  8:57       ` Fuad Tabba
2022-12-12  7:22         ` Chao Peng
2022-12-13 23:51   ` Huang, Kai
2022-12-19  7:54     ` Chao Peng
2023-01-13 22:50   ` Sean Christopherson
2022-12-02  6:13 ` [PATCH v10 7/9] KVM: Update lpage info when private/shared memory are mixed Chao Peng
2022-12-05 22:49   ` Isaku Yamahata
2022-12-06 12:02     ` Chao Peng
2022-12-07  6:42       ` Isaku Yamahata
2022-12-08 11:17         ` Chao Peng
2023-01-13 23:12   ` Sean Christopherson
2023-01-13 23:16   ` Sean Christopherson
2023-01-28 13:54     ` Chao Peng
2022-12-02  6:13 ` [PATCH v10 8/9] KVM: Handle page fault for private memory Chao Peng
2022-12-08  2:29   ` Yuan Yao
2022-12-08 11:23     ` Chao Peng
2022-12-09  5:45       ` Yuan Yao
2022-12-09  9:01   ` Fuad Tabba
2022-12-12  7:23     ` Chao Peng
2023-01-13 23:29   ` Sean Christopherson
2022-12-02  6:13 ` [PATCH v10 9/9] KVM: Enable and expose KVM_MEM_PRIVATE Chao Peng
2022-12-09  9:11   ` Fuad Tabba
2023-01-05 20:38   ` Vishal Annapurve
2023-01-06  4:13     ` Chao Peng
2023-01-14  0:01   ` Sean Christopherson
2023-01-17 13:12     ` Chao Peng
2023-01-17 19:35       ` Sean Christopherson
2023-01-18  8:23         ` Chao Peng
2023-01-28 14:00     ` Chao Peng
2023-03-08  0:13       ` Ackerley Tng
2023-03-08  7:40         ` Chao Peng
2023-03-23  0:41           ` Isaku Yamahata
2023-03-24  2:10             ` Chao Peng
2023-03-24  2:29               ` Xiaoyao Li
2023-03-28 10:41                 ` Chao Peng
2023-04-14 21:08                   ` Sean Christopherson
2023-04-18 23:38                     ` Ackerley Tng
2023-04-25 23:01                       ` Sean Christopherson
2023-03-07 19:14   ` Ackerley Tng
2023-03-07 20:27     ` Sean Christopherson
2023-01-14  0:37 ` [PATCH v10 0/9] KVM: mm: fd-based approach for supporting KVM Sean Christopherson
2023-01-16 13:48   ` Kirill A. Shutemov
2023-01-17 13:19   ` Chao Peng
2023-01-17 14:32   ` Fuad Tabba
2023-01-19 11:13   ` Isaku Yamahata
2023-01-19 15:25     ` Sean Christopherson
2023-01-19 22:37       ` Isaku Yamahata
2023-01-24  1:27         ` Sean Christopherson
2023-02-08 12:24           ` Isaku Yamahata
2023-02-13 13:01           ` Michael Roth
2023-02-21 12:11             ` Chao Peng
2023-03-23  1:27               ` Michael Roth
2023-03-24  2:13                 ` Chao Peng
2023-04-12 22:01                 ` Sean Christopherson
2023-04-17 14:37           ` Chao Peng
2023-04-17 15:01             ` Sean Christopherson
2023-01-24 16:08   ` Liam Merwick
2023-01-25  0:20     ` Sean Christopherson
2023-01-25 12:53       ` Kirill A. Shutemov
2023-01-25 16:01         ` Liam Merwick
2023-04-13  1:07         ` Sean Christopherson
2023-04-13 16:04           ` Kirill A. Shutemov
2023-02-16  5:13 ` Mike Rapoport
2023-02-16  9:41   ` David Hildenbrand
2023-02-22 21:53     ` Sean Christopherson
2023-04-17 15:40 ` Rename restrictedmem => guardedmem? (was: Re: [PATCH v10 0/9] KVM: mm: fd-based approach for supporting KVM) Sean Christopherson
2023-04-17 15:48   ` David Hildenbrand
2023-04-17 16:40     ` Sean Christopherson
2023-04-17 17:09       ` David Hildenbrand
2023-04-17 19:16         ` Sean Christopherson
2023-04-18  8:53           ` Fuad Tabba
2023-04-18  9:10           ` David Hildenbrand
2023-04-19  0:47             ` Sean Christopherson
2023-04-19  7:21               ` David Hildenbrand
2023-04-19 15:17                 ` Sean Christopherson
2023-04-19 15:27                   ` David Hildenbrand
2023-04-22  1:33                 ` Sean Christopherson
2023-05-05 19:39                   ` Ackerley Tng
2023-05-06  0:55                     ` Sean Christopherson
2023-05-06  1:17                       ` Vishal Annapurve
2023-05-15 23:46                       ` Sean Christopherson
2023-07-13 22:46                       ` Ackerley Tng
2023-07-14 19:29                         ` Sean Christopherson
2023-07-14 23:09                           ` Vishal Annapurve
2023-07-15  0:30                             ` Sean Christopherson
2023-05-09 12:44                     ` Chao Peng
2023-05-10 17:26                   ` Vishal Annapurve
2023-05-10 20:23                     ` Vishal Annapurve
2023-05-10 21:39                     ` Sean Christopherson
2023-05-10 23:03                       ` Vishal Annapurve
2023-05-11 20:22                         ` Sean Christopherson
2023-05-19  1:07                           ` Vishal Annapurve
2023-05-12  0:21                   ` Michael Roth
2023-05-12 18:01                     ` Sean Christopherson [this message]
2023-05-22 13:50                       ` Michael Roth
2023-05-22 17:09                         ` Sean Christopherson
2023-05-22 23:58                           ` Michael Roth
2023-05-23  0:21                             ` Sean Christopherson
2023-06-06 19:14                   ` Ackerley Tng
2023-06-06 23:25                     ` Sean Christopherson
2023-06-08 17:13                       ` Ackerley Tng
2023-04-17 17:11       ` Ackerley Tng
2023-04-17 18:17         ` Sean Christopherson
2023-04-18 17:01       ` Ackerley Tng
2023-04-23 13:28     ` Jarkko Sakkinen
2023-05-05 20:00       ` David Hildenbrand
2023-05-06  7:44         ` Vlastimil Babka
2023-05-06  9:16           ` David Hildenbrand
2023-04-23 13:14   ` Jarkko Sakkinen
  -- strict thread matches above, loose matches on Subject: below --
2023-03-31 23:50 [RFC PATCH v3 0/2] Providing mount in memfd_restricted() syscall Ackerley Tng
2023-03-31 23:50 ` [RFC PATCH v3 1/2] mm: restrictedmem: Allow userspace to specify mount for memfd_restricted Ackerley Tng
2023-04-03  8:21   ` David Hildenbrand
2023-04-05 22:29     ` Ackerley Tng
2023-04-04  8:25   ` Kirill A. Shutemov
2023-04-05 22:32     ` Ackerley Tng
2023-04-04 13:53   ` Christian Brauner
2023-04-04 14:58     ` Christian Brauner
2023-04-05 21:58       ` Ackerley Tng
2023-04-12  9:59         ` Christian Brauner
2023-04-13 22:53           ` Ackerley Tng
2023-04-13 23:07             ` Sean Christopherson
2023-03-31 23:50 ` [RFC PATCH v3 2/2] selftests: restrictedmem: Check hugepage-ness of shmem file backing restrictedmem fd Ackerley Tng
2023-04-03  8:24   ` David Hildenbrand
2023-04-11  1:35     ` Ackerley Tng
2022-07-06  8:20 [PATCH v7 00/14] KVM: mm: fd-based approach for supporting KVM guest private memory Chao Peng
2022-07-06  8:20 ` [PATCH v7 01/14] mm: Add F_SEAL_AUTO_ALLOCATE seal to memfd Chao Peng
2022-07-21  9:44   ` David Hildenbrand
2022-07-21  9:50     ` David Hildenbrand
2022-07-21 15:05       ` Sean Christopherson
2022-07-25 13:46         ` Chao Peng
2022-07-21 10:27     ` Gupta, Pankaj
2022-07-25 13:54       ` Chao Peng
2022-07-25 14:49         ` Gupta, Pankaj
2022-07-25 13:42     ` Chao Peng
2022-08-05 17:55     ` Paolo Bonzini
2022-08-05 18:06       ` David Hildenbrand
2022-08-10  9:40         ` Chao Peng
2022-08-10  9:38       ` Chao Peng
2022-08-17 23:41       ` Kirill A. Shutemov
2022-08-18  9:09         ` Paolo Bonzini
2022-08-23  7:36         ` David Hildenbrand
2022-08-24 10:20           ` Chao Peng
2022-08-26 15:19   ` Fuad Tabba
2022-08-29 15:18     ` Chao Peng
2022-07-06  8:20 ` [PATCH v7 02/14] selftests/memfd: Add tests for F_SEAL_AUTO_ALLOCATE Chao Peng
2022-08-05 13:11   ` David Hildenbrand
2022-07-06  8:20 ` [PATCH v7 03/14] mm: Introduce memfile_notifier Chao Peng
2022-08-05 13:22   ` David Hildenbrand
2022-08-10  9:22     ` Chao Peng
2022-08-10 10:05       ` David Hildenbrand
2022-08-10 14:38         ` Sean Christopherson
2022-08-11 12:27           ` Quentin Perret
2022-08-11 13:39             ` Chao Peng
2022-07-06  8:20 ` [PATCH v7 04/14] mm/shmem: Support memfile_notifier Chao Peng
2022-07-12 18:02   ` Gupta, Pankaj
2022-07-13  7:44     ` Chao Peng
2022-07-13 10:01       ` Gupta, Pankaj
2022-07-13 23:49         ` Chao Peng
2022-07-14  4:15           ` Gupta, Pankaj
2022-08-05 13:26   ` David Hildenbrand
2022-08-10  9:25     ` Chao Peng
2022-07-06  8:20 ` [PATCH v7 05/14] mm/memfd: Introduce MFD_INACCESSIBLE flag Chao Peng
2022-08-05 13:28   ` David Hildenbrand
2022-08-10  9:37     ` Chao Peng
2022-08-10  9:55       ` David Hildenbrand
2022-08-11 13:17         ` Chao Peng
2022-09-07 16:18     ` Kirill A. Shutemov
2022-07-06  8:20 ` [PATCH v7 06/14] KVM: Rename KVM_PRIVATE_MEM_SLOTS to KVM_INTERNAL_MEM_SLOTS Chao Peng
2022-07-06  8:20 ` [PATCH v7 07/14] KVM: Use gfn instead of hva for mmu_notifier_retry Chao Peng
2022-07-15 11:36   ` Gupta, Pankaj
2022-07-18 13:29     ` Chao Peng
2022-07-18 15:26       ` Sean Christopherson
2022-07-19 14:02         ` Chao Peng
2022-08-04  7:10   ` Isaku Yamahata
2022-08-10  8:19     ` Chao Peng
2022-07-06  8:20 ` [PATCH v7 08/14] KVM: Rename mmu_notifier_* Chao Peng
2022-07-29 19:02   ` Sean Christopherson
2022-08-03 10:13     ` Chao Peng
2022-08-05 19:54     ` Paolo Bonzini
2022-08-10  8:09       ` Chao Peng
2023-05-23  7:19   ` Kautuk Consul
2023-05-23 14:19     ` Sean Christopherson
2023-05-24  6:12       ` Kautuk Consul
2023-05-24 20:16         ` Sean Christopherson
2023-05-24 20:33           ` Peter Zijlstra
2023-05-24 21:39             ` Sean Christopherson
2023-05-25  8:54               ` Peter Zijlstra
2023-05-25  3:52             ` Kautuk Consul
2023-05-24 20:28         ` Peter Zijlstra
2022-07-06  8:20 ` [PATCH v7 09/14] KVM: Extend the memslot to support fd-based private memory Chao Peng
2022-07-29 19:51   ` Sean Christopherson
2022-08-03 10:08     ` Chao Peng
2022-08-03 14:42       ` Sean Christopherson
2022-07-06  8:20 ` [PATCH v7 10/14] KVM: Add KVM_EXIT_MEMORY_FAULT exit Chao Peng
2022-07-06  8:20 ` [PATCH v7 11/14] KVM: Register/unregister the guest private memory regions Chao Peng
2022-07-19  8:00   ` Gupta, Pankaj
2022-07-19 14:08     ` Chao Peng
2022-07-19 14:23       ` Gupta, Pankaj
2022-07-20 15:07         ` Chao Peng
2022-07-20 15:31           ` Gupta, Pankaj
2022-07-20 16:21             ` Sean Christopherson
2022-07-20 17:41               ` Gupta, Pankaj
2022-07-21  7:34               ` Wei Wang
2022-07-21  9:29                 ` Chao Peng
2022-07-21 17:58                   ` Sean Christopherson
2022-07-25 13:04                     ` Chao Peng
2022-07-29 19:54                       ` Sean Christopherson
2022-08-02  0:49                         ` Sean Christopherson
2022-08-02 16:38                           ` Sean Christopherson
2022-08-03  9:48                             ` Chao Peng
2022-08-03 15:51                               ` Sean Christopherson
2022-08-04  7:58                                 ` Chao Peng
2022-07-20 16:44   ` Sean Christopherson
2022-07-21  9:37     ` Chao Peng
2022-08-19 19:37   ` Vishal Annapurve
2022-08-24 10:37     ` Chao Peng
2022-08-26 15:19   ` Fuad Tabba
2022-08-29 15:21     ` Chao Peng
2022-07-06  8:20 ` [PATCH v7 12/14] KVM: Handle page fault for private memory Chao Peng
2022-07-29 20:58   ` Sean Christopherson
2022-08-03  9:52     ` Chao Peng
2022-07-06  8:20 ` [PATCH v7 13/14] KVM: Enable and expose KVM_MEM_PRIVATE Chao Peng
2022-07-19  9:55   ` Gupta, Pankaj
2022-07-19 14:12     ` Chao Peng
2022-07-06  8:20 ` [PATCH v7 14/14] memfd_create.2: Describe MFD_INACCESSIBLE flag Chao Peng
2022-08-01 14:40   ` Dave Hansen
2022-08-03  9:53     ` Chao Peng
2022-07-13  3:58 ` [PATCH v7 00/14] KVM: mm: fd-based approach for supporting KVM guest private memory Gupta, Pankaj
2022-07-13  7:57   ` Chao Peng
2022-07-13 10:35     ` Gupta, Pankaj
2022-07-13 23:59       ` Chao Peng
2022-07-14  4:39         ` Gupta, Pankaj
2022-07-14  5:06           ` Gupta, Pankaj
2022-07-14  4:29       ` Andy Lutomirski
2022-07-14  5:13         ` Gupta, Pankaj
2022-08-11 10:02 ` Nikunj A. Dadhania
2022-08-11 11:30   ` Gupta, Pankaj
2022-08-11 13:32     ` Chao Peng
2022-08-11 17:28       ` Nikunj A. Dadhania
2022-08-12  3:22       ` Nikunj A. Dadhania
2022-08-11 17:18     ` Nikunj A. Dadhania
2022-08-11 23:02       ` Gupta, Pankaj
2022-08-12  6:02         ` Gupta, Pankaj
2022-08-12  7:18           ` Gupta, Pankaj
2022-08-12  8:48             ` Nikunj A. Dadhania
2022-08-12  9:33               ` Gupta, Pankaj
2022-08-15 13:04               ` Chao Peng
2022-08-16  4:28                 ` Nikunj A. Dadhania
2022-08-16 11:33                 ` Gupta, Pankaj
2022-08-16 12:24                   ` Kirill A . Shutemov
2022-08-16 13:03                     ` Gupta, Pankaj
2022-08-16 15:38                       ` Sean Christopherson
2022-08-17 15:27                         ` Michael Roth
2022-08-23  1:25                           ` Isaku Yamahata
2022-08-23 17:41                         ` Gupta, Pankaj
2022-08-18  5:40 ` Hugh Dickins
2022-08-18 13:24   ` Kirill A . Shutemov
2022-08-19  0:20     ` Sean Christopherson
2022-08-19  3:38       ` Hugh Dickins
2022-08-19 22:53         ` Sean Christopherson
2022-08-23  7:55         ` David Hildenbrand
2022-08-23 16:05           ` Sean Christopherson
2022-08-24  9:41             ` Chao Peng
2022-09-09  4:55               ` Andy Lutomirski
2022-08-19  3:00     ` Hugh Dickins
2022-08-20  0:27       ` Kirill A. Shutemov
2022-08-21  5:15         ` Hugh Dickins
2022-08-31 14:24           ` Kirill A . Shutemov
2022-09-02 10:27             ` Chao Peng
2022-09-02 12:30               ` Kirill A . Shutemov
2022-09-08  1:10             ` Kirill A. Shutemov
2022-09-13  9:44               ` Sean Christopherson
2022-09-13 13:28                 ` Kirill A. Shutemov
2022-09-13 14:53                   ` Sean Christopherson
2022-09-13 16:00                     ` Kirill A. Shutemov
2022-09-13 16:12                       ` Sean Christopherson
2022-09-09  4:48         ` Andy Lutomirski
2022-09-09 14:32           ` Kirill A . Shutemov
2022-09-09 19:11             ` Andy Lutomirski
2022-09-09 23:02               ` Kirill A . Shutemov
2022-08-21 10:27       ` Matthew Wilcox
2022-08-24 10:27         ` Chao Peng
2022-09-09  4:44     ` Andy Lutomirski
2022-08-26 15:19 ` Fuad Tabba
2022-08-29 15:17   ` Chao Peng
2022-08-31  9:12     ` Fuad Tabba
2022-09-02 10:19       ` Chao Peng
2022-09-09 15:35 ` Michael Roth

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=ZF5+5g5hI7xyyIAS@google.com \
    --to=seanjc@google.com \
    --cc=ackerleytng@google.com \
    --cc=brauner@kernel.org \
    --cc=chao.p.peng@linux.intel.com \
    --cc=david@redhat.com \
    --cc=dhildenb@redhat.com \
    --cc=hughd@google.com \
    --cc=isaku.yamahata@gmail.com \
    --cc=jarkko@kernel.org \
    --cc=jmattson@google.com \
    --cc=joro@8bytes.org \
    --cc=kirill.shutemov@linux.intel.com \
    --cc=kvm@vger.kernel.org \
    --cc=liam.merwick@oracle.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=mail@maciej.szmigiero.name \
    --cc=michael.roth@amd.com \
    --cc=pbonzini@redhat.com \
    --cc=qperret@google.com \
    --cc=rppt@kernel.org \
    --cc=tabba@google.com \
    --cc=vannapurve@google.com \
    --cc=vbabka@suse.cz \
    --cc=vkuznets@redhat.com \
    --cc=wei.w.wang@intel.com \
    --cc=yu.c.zhang@linux.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;
as well as URLs for NNTP newsgroup(s).