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 --- 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