On Wed, Nov 8, 2023 at 9:34 AM Peter Xu <peterx@xxxxxxxxxx> wrote: > > On Wed, Nov 08, 2023 at 08:56:22AM -0800, David Matlack wrote: > > Thanks for the longer explanation. Yes kvm_read_guest() eventually > > calls __copy_from_user() which will trigger a page fault and > > UserfaultFD will notify userspace and wait for the page to become > > present. In the KVM-specific proposal I outlined, calling > > kvm_read_guest() will ultimately result in a check of the VM's present > > bitmap and KVM will nnotify userspace and wait for the page to become > > present if it's not, before calling __copy_from_user(). So I don't > > expect a KVM-specific solution to have any increased maintenance > > burden for VGIC (or any other widgets). > > The question is how to support modules that do not use kvm apis at all, > like vhost. I raised the question in my initial reply, too. Yes you are correct, my proposal does not provide a solution for guest memory accesses made by vhost. That is admittedly a gap. Google does not do virtio emulation in-kernel so this isn't a problem we had to solve and I wasn't aware of it until you pointed it out.