Re: [PATCH v4 13/15] KVM: guest_memfd: implement userfaultfd operations

From: Ackerley Tng

Date: Tue May 19 2026 - 14:57:40 EST


Sean Christopherson <seanjc@xxxxxxxxxx> writes:

> On Fri, May 15, 2026, Ackerley Tng wrote:
>> Sean Christopherson <seanjc@xxxxxxxxxx> writes:
>>
>> >
>> > [...snip...]
>> >
>> >> +#ifdef CONFIG_USERFAULTFD
>> >> +static bool kvm_gmem_can_userfault(struct vm_area_struct *vma, vm_flags_t vm_flags)
>> >> +{
>> >> + struct inode *inode = file_inode(vma->vm_file);
>> >> +
>> >> + /*
>> >> + * Only support userfaultfd for guest_memfd with INIT_SHARED flag.
>> >> + * This ensures the memory can be mapped to userspace.
>> >> + */
>>
>> Is the principle here that any memory that is allowed to be mapped to
>> userspace can be userfault-ed?
>
> Yes? It's more the opposite though: memory that can't be SHARED and thus can't
> be mapped into userspace can't possibly support userfaultfd. Six of one, half
> dozen of the other, but I think it's important to highlight that there's no
> judgment call being made, i.e. we aren't deciding to support only SHARED just
> because we're lazy, it's a hard requirement.

I guess this series is only intended to support some kinds of UFFD, but
IIUC technically UFFDIO_CONTINUE can be used after the private memory is
inserted (e.g. for TDX live migration).