[PATCH 3/9] selftests/mm: mremap_test: fail unexpected mremap successes

From: Sarthak Sharma

Date: Thu Sep 17 2026 - 07:34:29 EST


run_mremap_test_case() reports a test as pass when remap_region()
succeeds. But if the test was expecting failure and remap succeeds,
it should be treated as a failure and not a success.

Check test_case.expect_failure on the successful remap path. If
it expected failure, report a failure instead of success.

Fixes: 7df666253f26 ("kselftests: vm: add mremap tests")
Signed-off-by: Sarthak Sharma <sarthak.sharma@xxxxxxx>
---
tools/testing/selftests/mm/mremap_test.c | 7 +++++--
1 file changed, 5 insertions(+), 2 deletions(-)

diff --git a/tools/testing/selftests/mm/mremap_test.c b/tools/testing/selftests/mm/mremap_test.c
index a5813a5e8f5b..ba9b7f7566d0 100644
--- a/tools/testing/selftests/mm/mremap_test.c
+++ b/tools/testing/selftests/mm/mremap_test.c
@@ -1138,12 +1138,15 @@ static void run_mremap_test_case(struct test test_case, unsigned int threshold_m
else
ksft_test_result_fail("%s\n", test_case.name);
} else {
+ if (test_case.expect_failure)
+ ksft_test_result_fail("%s: unexpected mremap success\n",
+ test_case.name);
/*
* Comparing mremap time is only applicable if entire region
* was faulted in.
*/
- if (threshold_mb == VALIDATION_NO_THRESHOLD ||
- test_case.config.region_size <= threshold_mb * _1MB)
+ else if (threshold_mb == VALIDATION_NO_THRESHOLD ||
+ test_case.config.region_size <= threshold_mb * _1MB)
ksft_test_result_pass("%s: mremap time: %12lldns\n",
test_case.name, remap_time);
else
--
2.53.0