All of lore.kernel.org
 help / color / mirror / Atom feed
From: Dmitry Safonov <dima@arista.com>
To: Brian Geffon <bgeffon@google.com>, Hugh Dickins <hughd@google.com>
Cc: Andrew Morton <akpm@linux-foundation.org>,
	Axel Rasmussen <axelrasmussen@google.com>,
	Lokesh Gidra <lokeshgidra@google.com>,
	Mike Rapoport <rppt@linux.vnet.ibm.com>,
	Peter Xu <peterx@redhat.com>,
	"Michael S . Tsirkin" <mst@redhat.com>,
	LKML <linux-kernel@vger.kernel.org>,
	linux-mm <linux-mm@kvack.org>,
	Andy Lutomirski <luto@amacapital.net>,
	Vlastimil Babka <vbabka@suse.cz>,
	Andrea Arcangeli <aarcange@redhat.com>,
	Sonny Rao <sonnyrao@google.com>, Minchan Kim <minchan@kernel.org>,
	"Kirill A . Shutemov" <kirill@shutemov.name>,
	Michael Kerrisk <mtk.manpages@gmail.com>,
	Alejandro Colomar <alx.manpages@gmail.com>
Subject: Re: [PATCH] mm: Allow shmem mappings with MREMAP_DONTUNMAP
Date: Tue, 16 Mar 2021 19:31:05 +0000	[thread overview]
Message-ID: <98716204-0440-9550-e067-41a984a29512@arista.com> (raw)
In-Reply-To: <CADyq12z+o0Rtziprkfs=PX2MPRPZyWBSgONYrRggZ8TEifq2sg@mail.gmail.com>

Hi Brian, Hugh,

On 3/16/21 7:18 PM, Brian Geffon wrote:
> Hi Hugh,
> Thanks for this suggestion, responses in line.
> 
>> A better patch would say:
>>
>> -       if (flags & MREMAP_DONTUNMAP && (!vma_is_anonymous(vma) ||
>> -                       vma->vm_flags & VM_SHARED))
>> +       if ((flags & MREMAP_DONTUNMAP) &&
>> +           (vma->vm_flags & (VM_DONTEXPAND | VM_PFNMAP)))
>>                 return ERR_PTR(-EINVAL);
>>
>> VM_DONTEXPAND is what has long been used on special mappings, to prevent
>> surprises from mremap changing the size of the mapping: MREMAP_DONTUNMAP
>> introduced a different way of expanding the mapping, so VM_DONTEXPAND
>> still seems a reasonable name (I've thrown in VM_PFNMAP there because
>> it's in the VM_DONTEXPAND test lower down: for safety I guess, and best
>> if both behave the same - though one says -EINVAL and the other -EFAULT).
> 
> I like this idea and am happy to mail a new patch. I think it may make
> sense to bring the lower block up here so that it becomes more clear
> that it's not duplicate code and that the MREMAP_DONTUNMAP case
> returns -EINVAL and other cases return -EFAULT. I wonder if the
> -EFAULT error code would have made more sense from the start for both
> cases, do you have any thoughts on changing the error code at this
> point?
> 
>> With that VM_DONTEXPAND check in, Dmitry's commit cd544fd1dc92
>> ("mremap: don't allow MREMAP_DONTUNMAP on special_mappings and aio")
>> can still be reverted (as you agreed on 28th December), even though
>> vma_is_anonymous() will no longer protect it.
> 
> I agree and if Dmitry does not have time I would be happy to mail a
> revert to cd544fd1dc92 as we discussed in [1]. Dmitry, would you like
> me to do that?

Ack. I was planning to send a patches set that includes the revert, but
that's stalled a bit. As the patch just adds excessive checks, but
doesn't introduce an issue, I haven't sent it separately.
Feel free to revert it :-)

Thanks,
          Dmitry

  reply	other threads:[~2021-03-16 19:31 UTC|newest]

Thread overview: 58+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-03-03 17:52 [PATCH] mm: Allow shmem mappings with MREMAP_DONTUNMAP Brian Geffon
2021-03-03 17:52 ` Brian Geffon
2021-03-03 18:13 ` Brian Geffon
2021-03-03 18:13   ` Brian Geffon
2021-03-03 19:04   ` Lokesh Gidra
2021-03-03 19:04     ` Lokesh Gidra
2021-03-14  4:19 ` Hugh Dickins
2021-03-14  4:19   ` Hugh Dickins
2021-03-16 19:18   ` Brian Geffon
2021-03-16 19:18     ` Brian Geffon
2021-03-16 19:31     ` Dmitry Safonov [this message]
2021-03-16 20:17   ` Peter Xu
2021-03-19  1:58     ` Hugh Dickins
2021-03-19  1:58       ` Hugh Dickins
2021-03-17 19:13 ` [PATCH v2 1/2] mm: Allow non-VM_DONTEXPAND and VM_PFNMAP " Brian Geffon
2021-03-17 19:13   ` Brian Geffon
2021-03-17 19:13   ` [PATCH v2 2/2] Revert "mremap: don't allow MREMAP_DONTUNMAP on special_mappings and aio" Brian Geffon
2021-03-17 19:13     ` Brian Geffon
2021-03-17 20:40   ` [PATCH v2 1/2] mm: Allow non-VM_DONTEXPAND and VM_PFNMAP mappings with MREMAP_DONTUNMAP Peter Xu
2021-03-17 20:44     ` Brian Geffon
2021-03-17 20:44       ` Brian Geffon
2021-03-17 21:18       ` Peter Xu
2021-03-17 21:25         ` Brian Geffon
2021-03-17 21:25           ` Brian Geffon
2021-03-17 21:41 ` [PATCH v3 " Brian Geffon
2021-03-17 21:41   ` Brian Geffon
2021-03-17 21:41   ` [PATCH v3 2/2] Revert "mremap: don't allow MREMAP_DONTUNMAP on special_mappings and aio" Brian Geffon
2021-03-17 21:41     ` Brian Geffon
2021-03-19  1:28     ` Hugh Dickins
2021-03-19  1:28       ` Hugh Dickins
2021-03-17 22:03   ` [PATCH v3 1/2] mm: Allow non-VM_DONTEXPAND and VM_PFNMAP mappings with MREMAP_DONTUNMAP Andrew Morton
2021-03-19  1:20   ` Hugh Dickins
2021-03-19  1:20     ` Hugh Dickins
2021-03-23 16:26 ` [PATCH v4 1/3] mm: Extend MREMAP_DONTUNMAP to non-anonymous mappings Brian Geffon
2021-03-23 16:26   ` Brian Geffon
2021-03-23 16:26   ` [PATCH v4 2/3] Revert "mremap: don't allow MREMAP_DONTUNMAP on special_mappings and aio" Brian Geffon
2021-03-23 16:26     ` Brian Geffon
2021-03-23 18:16     ` Hugh Dickins
2021-03-23 18:16       ` Hugh Dickins
2021-03-23 18:26       ` Brian Geffon
2021-03-23 16:26   ` [PATCH v4 3/3] selftests: Add a MREMAP_DONTUNMAP selftest for shmem Brian Geffon
2021-03-23 16:26     ` Brian Geffon
2021-03-23 16:26   ` [PATCH] mremap.2: MREMAP_DONTUNMAP to reflect to supported mappings Brian Geffon
2021-03-23 16:26     ` Brian Geffon
2021-03-23 18:25 ` [PATCH v5 1/3] mm: Extend MREMAP_DONTUNMAP to non-anonymous mappings Brian Geffon
2021-03-23 18:25   ` Brian Geffon
2021-03-23 18:25   ` [PATCH v5 2/3] Revert "mremap: don't allow MREMAP_DONTUNMAP on special_mappings and aio" Brian Geffon
2021-03-23 18:25     ` Brian Geffon
2021-03-23 19:05     ` Dmitry Safonov
2021-03-23 18:25   ` [PATCH v5 3/3] selftests: Add a MREMAP_DONTUNMAP selftest for shmem Brian Geffon
2021-03-23 18:25     ` Brian Geffon
2021-03-23 18:25   ` [PATCH] mremap.2: MREMAP_DONTUNMAP to reflect to supported mappings Brian Geffon
2021-03-23 18:25     ` Brian Geffon
2021-03-25 21:34     ` Alejandro Colomar (man-pages)
2021-03-26 18:08       ` Brian Geffon
2021-03-26 18:08         ` Brian Geffon
2022-05-10 20:50         ` Brian Geffon
2021-03-23 19:04   ` [PATCH v5 1/3] mm: Extend MREMAP_DONTUNMAP to non-anonymous mappings Dmitry Safonov

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=98716204-0440-9550-e067-41a984a29512@arista.com \
    --to=dima@arista.com \
    --cc=aarcange@redhat.com \
    --cc=akpm@linux-foundation.org \
    --cc=alx.manpages@gmail.com \
    --cc=axelrasmussen@google.com \
    --cc=bgeffon@google.com \
    --cc=hughd@google.com \
    --cc=kirill@shutemov.name \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-mm@kvack.org \
    --cc=lokeshgidra@google.com \
    --cc=luto@amacapital.net \
    --cc=minchan@kernel.org \
    --cc=mst@redhat.com \
    --cc=mtk.manpages@gmail.com \
    --cc=peterx@redhat.com \
    --cc=rppt@linux.vnet.ibm.com \
    --cc=sonnyrao@google.com \
    --cc=vbabka@suse.cz \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.