Re: [PATCH] mm/mremap: correctly account old mapping after MREMAP_DONTUNMAP remap
From: Lorenzo Stoakes
Date: Tue Oct 14 2025 - 05:57:30 EST
On Tue, Oct 14, 2025 at 10:41:18AM +0100, Pedro Falcato wrote:
> On Mon, Oct 13, 2025 at 05:58:36PM +0100, Lorenzo Stoakes wrote:
> > Commit b714ccb02a76 ("mm/mremap: complete refactor of move_vma()")
> > mistakenly introduced a new behaviour - clearing the VM_ACCOUNT flag of the
> > old mapping when a mapping is mremap()'d with the MREMAP_DONTUNMAP flag
> > set.
> >
> > While we always clear the VM_LOCKED and VM_LOCKONFAULT flags for the old
> > mapping (the page tables have been moved, so there is no data that could
> > possibly be locked in memor), there is no reason to touch any other VMA
> memory
> > flags.
> >
> > This is because after the move the old mapping is in a state as if it were
> > freshly mapped. This implies that the attributes of the mapping ought to
> > remain the same, including whether or not the mapping is accounted.
> >
> > Signed-off-by: Lorenzo Stoakes <lorenzo.stoakes@xxxxxxxxxx>
>
> Reviewed-by: Pedro Falcato <pfalcato@xxxxxxx>
Thanks!
>
> Looks good, thanks! Should we add a test for it?
I considered that, but this is fundamental behaviour and so is very unlikely to
regress so doesn't seem really worth it.
>
> --
> Pedro
Cheers, Lorenzo