Re: [PATCH v2 3/5] mm: introduce VM_FAULT_UFFD_MINOR fault reason

From: Mike Rapoport

Date: Thu Nov 27 2025 - 06:18:21 EST


On Tue, Nov 25, 2025 at 02:21:16PM -0500, Peter Xu wrote:
> Hi, Mike,
>
> On Tue, Nov 25, 2025 at 08:38:38PM +0200, Mike Rapoport wrote:
> > From: "Mike Rapoport (Microsoft)" <rppt@xxxxxxxxxx>
> >
> > When a VMA is registered with userfaulfd in minor mode, its ->fault()
> > method should check if a folio exists in the page cache and if yes
> > ->fault() should call handle_userfault(VM_UFFD_MISSING).
>
> s/MISSING/MINOR/

Thanks, fixed.

> > new VM_FAULT_UFFD_MINOR there instead.
>
> Personally I'd keep the fault path as simple as possible, because that's
> the more frequently used path (rather than when userfaultfd is armed). I
> also see it slightly a pity that even with flags introduced, it only solves
> the MINOR problem, not MISSING.

With David's suggestion the likely path remains unchanged.

As for MISSING, let's take it baby steps. We have enough space in
vm_fault_reason for UFFD_MISSING if we'd want to pull handle_userfault()
from shmem and hugetlb.

> If it's me, I'd simply export handle_userfault().. I confess I still don't
> know why exporting it is a problem, but maybe I missed something.

It's not only about export, it's also about not requiring ->fault()
methods for pte-mapped memory call handle_userfault().

> Only my two cents. Feel free to go with whatever way you prefer.
>
> Thanks,
>
> --
> Peter Xu
>

--
Sincerely yours,
Mike.