aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/tools/testing/selftests/mm/ksm_tests.c
diff options
context:
space:
mode:
authorAyush Jain <ayush.jain3@amd.com>2023-07-28 22:09:51 +0530
committerAndrew Morton <akpm@linux-foundation.org>2023-08-04 13:03:41 -0700
commit65294de30cb8bc7659e445f7be2846af9ed35499 (patch)
tree7a1321511cf0e38322c335fbcc8c003926c9eade /tools/testing/selftests/mm/ksm_tests.c
parenthugetlb: do not clear hugetlb dtor until allocating vmemmap (diff)
downloadwireguard-linux-65294de30cb8bc7659e445f7be2846af9ed35499.tar.xz
wireguard-linux-65294de30cb8bc7659e445f7be2846af9ed35499.zip
selftests: mm: ksm: fix incorrect evaluation of parameter
A missing break in kms_tests leads to kselftest hang when the parameter -s is used. In current code flow because of missing break in -s, -t parses args spilled from -s and as -t accepts only valid values as 0,1 so any arg in -s >1 or <0, gets in ksm_test failure This went undetected since, before the addition of option -t, the next case -M would immediately break out of the switch statement but that is no longer the case Add the missing break statement. ----Before---- ./ksm_tests -H -s 100 Invalid merge type ----After---- ./ksm_tests -H -s 100 Number of normal pages: 0 Number of huge pages: 50 Total size: 100 MiB Total time: 0.401732682 s Average speed: 248.922 MiB/s Link: https://lkml.kernel.org/r/20230728163952.4634-1-ayush.jain3@amd.com Fixes: 07115fcc15b4 ("selftests/mm: add new selftests for KSM") Signed-off-by: Ayush Jain <ayush.jain3@amd.com> Reviewed-by: David Hildenbrand <david@redhat.com> Cc: Stefan Roesch <shr@devkernel.io> Cc: <stable@vger.kernel.org> Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Diffstat (limited to 'tools/testing/selftests/mm/ksm_tests.c')
-rw-r--r--tools/testing/selftests/mm/ksm_tests.c1
1 files changed, 1 insertions, 0 deletions
diff --git a/tools/testing/selftests/mm/ksm_tests.c b/tools/testing/selftests/mm/ksm_tests.c
index 435acebdc325..380b691d3eb9 100644
--- a/tools/testing/selftests/mm/ksm_tests.c
+++ b/tools/testing/selftests/mm/ksm_tests.c
@@ -831,6 +831,7 @@ int main(int argc, char *argv[])
printf("Size must be greater than 0\n");
return KSFT_FAIL;
}
+ break;
case 't':
{
int tmp = atoi(optarg);