]> git.baikalelectronics.ru Git - kernel.git/commit
selftest/vm: verify remap destination address in mremap_test
authorSidhartha Kumar <sidhartha.kumar@oracle.com>
Thu, 21 Apr 2022 23:35:52 +0000 (16:35 -0700)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Thu, 12 May 2022 10:30:25 +0000 (12:30 +0200)
commitb88a3cf600c9d60d85a92edd709e987dc4d7201c
tree05a47a971cf2da2b71bce52c8d0fa95793edbcd5
parentbcdc56f62c7a34f1a2a7fb74b19d3a6a32586e10
selftest/vm: verify remap destination address in mremap_test

[ Upstream commit b952f38bf3e21266f8b77c74f5dcda20b9fe5bbe ]

Because mremap does not have a MAP_FIXED_NOREPLACE flag, it can destroy
existing mappings.  This causes a segfault when regions such as text are
remapped and the permissions are changed.

Verify the requested mremap destination address does not overlap any
existing mappings by using mmap's MAP_FIXED_NOREPLACE flag.  Keep
incrementing the destination address until a valid mapping is found or
fail the current test once the max address is reached.

Link: https://lkml.kernel.org/r/20220420215721.4868-2-sidhartha.kumar@oracle.com
Signed-off-by: Sidhartha Kumar <sidhartha.kumar@oracle.com>
Reviewed-by: Shuah Khan <skhan@linuxfoundation.org>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Signed-off-by: Sasha Levin <sashal@kernel.org>
tools/testing/selftests/vm/mremap_test.c