On Wed, 24 Jun 2020 18:52:34 +0100 Catalin Marinas <catalin.marinas@xxxxxxx> wrote: > Since arm64 memory (allocation) tags can only be stored in RAM, mapping > files with PROT_MTE is not allowed by default. RAM-based files like > those in a tmpfs mount or memfd_create() can support memory tagging, so > update the vm_flags accordingly in shmem_mmap(). > > ... > > --- a/mm/shmem.c > +++ b/mm/shmem.c > @@ -2206,6 +2206,9 @@ static int shmem_mmap(struct file *file, struct vm_area_struct *vma) > vma->vm_flags &= ~(VM_MAYWRITE); > } > > + /* arm64 - allow memory tagging on RAM-based files */ > + vma->vm_flags |= VM_MTE_ALLOWED; > + > file_accessed(file); > vma->vm_ops = &shmem_vm_ops; > if (IS_ENABLED(CONFIG_TRANSPARENT_HUGEPAGE) && Acked-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx>