lkml.org 
[lkml]   [2021]   [Apr]   [26]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
SubjectRe: [PATCH v25 29/30] mm: Update arch_validate_flags() to include vma anonymous
From
Date
On 4/26/2021 4:11 AM, Catalin Marinas wrote:
> On Mon, Apr 26, 2021 at 09:40:56AM +0300, Kirill A. Shutemov wrote:
>> On Thu, Apr 15, 2021 at 03:14:18PM -0700, Yu-cheng Yu wrote:
>>> When newer VM flags are being created, such as VM_MTE, it becomes necessary
>>> for mmap/mprotect to verify if certain flags are being applied to an
>>> anonymous VMA.
>>>
>>> To solve this, one approach is adding a VM flag to track that MAP_ANONYMOUS
>>> is specified [1], and then using the flag in arch_validate_flags().
>>>
>>> Another approach is passing vma_is_anonymous() to arch_validate_flags().
>>> To prepare the introduction of PROT_SHSTK, which creates a shadow stack
>>> mapping and can only be applied to an anonymous VMA, update arch_validate_
>>> flags() to include anonymous VMA information.
>>
>> I would rather pass down whole vma. Who knows what else
>> arch_validate_flags() would need to know about the VMA tomorrow:
>>
>> arch_validate_flags(vma, newflags);
>>
>> should do the trick.
>
> A reason why we added a separate VM_MTE_ALLOWED flag was that we wanted
> MTE on other RAM-based based mappings, not just anonymous pages. See
> 51b0bff2f703 ("mm: Allow arm64 mmap(PROT_MTE) on RAM-based files").
>
> Anyway, the above change doesn't get in the way.
>

Thanks a lot for the clarification!

Yu-cheng

\
 
 \ /
  Last update: 2021-04-26 19:56    [W:0.071 / U:0.116 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site