Re: [PATCH v7 01/14] mm: Add F_SEAL_AUTO_ALLOCATE seal to memfd

From: Chao Peng
Date: Wed Aug 10 2022 - 05:45:52 EST


On Fri, Aug 05, 2022 at 08:06:03PM +0200, David Hildenbrand wrote:
> On 05.08.22 19:55, Paolo Bonzini wrote:
> > On 7/21/22 11:44, David Hildenbrand wrote:
> >>
> >> Also, I*think* you can place pages via userfaultfd into shmem. Not
> >> sure if that would count "auto alloc", but it would certainly bypass
> >> fallocate().
> >
> > Yeah, userfaultfd_register would probably have to forbid this for
> > F_SEAL_AUTO_ALLOCATE vmas. Maybe the memfile_node can be reused for
> > this, adding a new MEMFILE_F_NO_AUTO_ALLOCATE flags? Then
> > userfault_register would do something like
> > memfile_node_get_flags(vma->vm_file) and check the result.
>
> An alternative is to simply have the shmem allocation fail in a similar
> way. Maybe it does already, I haven't checked (don't think so).

This sounds a better option. We don't need uAPI changes for
userfault_register uAPI but I guess we will still need a KVM uAPI,
either on the memslot or on the whole VM since Roth said this feature
should be optional because some usages may want to disable it for
performance reason. For details please see discussion:
https://lkml.org/lkml/2022/6/23/1905

Chao
>
>
> --
> Thanks,
>
> David / dhildenb