Re: [PATCH v2 1/2] mm: Allow non-VM_DONTEXPAND and VM_PFNMAP mappings with MREMAP_DONTUNMAP
From: Peter Xu
Date: Wed Mar 17 2021 - 17:19:36 EST
On Wed, Mar 17, 2021 at 04:44:25PM -0400, Brian Geffon wrote:
> Hi Peter,
Hi, Brian,
> Thank you as always for taking a look. This change relies on the
> existing check in vma_to_resize on line 686:
> https://elixir.bootlin.com/linux/v5.12-rc3/source/mm/mremap.c#L686
> which returns -EFAULT when the vma is VM_DONTEXPAND or VM_PFNMAP.
Do you mean line 676?
https://elixir.bootlin.com/linux/v5.12-rc3/source/mm/mremap.c#L676
I'm not sure whether it'll work for MREMAP_DONTUNMAP, since IIUC
MREMAP_DONTUNMAP only works for the remap case with no size change, however in
that case in vma_to_resize() we'll bail out even earlier than line 676 when
checking against the size:
https://elixir.bootlin.com/linux/v5.12-rc3/source/mm/mremap.c#L667
So IIUC we'll still need the change as Hugh suggested previously.
Thanks,
--
Peter Xu