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

Chao Peng
2022-08-10T09:45:49Z

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