[PATCH 0/3] tools/testing: expand mremap testing

From: Lorenzo Stoakes
Date: Mon Jul 21 2025 - 13:34:28 EST


Expand our mremap() testing to further assert that behaviour is as
expected.

There is a poorly documented mremap() feature whereby it is possible to
mremap() multiple VMAs (even with gaps) when shrinking, as long as the
resultant shrunk range spans only a single VMA.

So we start by asserting this behaviour functions correctly both with an
in-place shrink and a shrink/move.

Next, we further test the newly introduced ability to mremap() multiple
VMAs when performing a MAP_FIXED move (that is without the size being
changed), firstly by asserting that MREMAP_DONTUNMAP has no bearing on this
behaviour.

Finally, we explicitly test that such moves, when splitting source VMAs,
function correctly.

Lorenzo Stoakes (3):
tools/testing/selftests: add mremap() shrink test for multiple VMAs
tools/testing/selftests: test MREMAP_DONTUNMAP on multiple VMA move
tools/testing/selftests: explicitly test split multi VMA mremap move

tools/testing/selftests/mm/mremap_test.c | 235 ++++++++++++++++++++++-
1 file changed, 225 insertions(+), 10 deletions(-)

--
2.50.1