Re: [PATCH v8 03/13] mm: introduce AS_NO_DIRECT_MAP

Vlastimil Babka
2025-12-08T09:02:19Z

On 12/5/25 19:35, John Hubbard wrote:
> On 12/5/25 8:58 AM, Kalyazin, Nikita wrote:
>> From: Patrick Roy <patrick.roy@linux.dev>
>>
>> Add AS_NO_DIRECT_MAP for mappings where direct map entries of folios are
>> set to not present. Currently, mappings that match this description are
>> secretmem mappings (memfd_secret()). Later, some guest_memfd
>> configurations will also fall into this category.
>>
>> Reject this new type of mappings in all locations that currently reject
>> secretmem mappings, on the assumption that if secretmem mappings are
>> rejected somewhere, it is precisely because of an inability to deal with
>> folios without direct map entries, and then make memfd_secret() use
>> AS_NO_DIRECT_MAP on its address_space to drop its special
>> vma_is_secretmem()/secretmem_mapping() checks.
>>
>> This drops a optimization in gup_fast_folio_allowed() where
>> secretmem_mapping() was only called if CONFIG_SECRETMEM=y. secretmem is
>> enabled by default since commit b758fe6df50d ("mm/secretmem: make it on
>> by default"), so the secretmem check did not actually end up elided in
>> most cases anymore anyway.
>
> The above paragraph can be part (most) of a commit description for
> a separate patch for the gup aspects. Let's split it out that way,
> because it is a distinct change, and the diffs can stand alone
> from this patch here.

I assume the separated gup change will be ordered as the earlier one,
because keeping "check_secretmem" together with newly checking
mapping_no_direct_map() would be incorrect. Make sense.

> thanks,