Re: [PATCH v5 15/25] mm: Allow arm64 mmap(PROT_MTE) on RAM-based files

Andrew Morton
2020-06-24T18:42:23Z

On Wed, 24 Jun 2020 18:52:34 +0100 Catalin Marinas <catalin.marinas@arm.com> 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@linux-foundation.org>