[LTP] [PATCH 3/8] Hugetlb: Migrating libhugetlbfs huge_below_4GB_normal_above

Richard Palethorpe rpalethorpe@suse.de
Tue Dec 6 09:57:24 CET 2022


Hello,

Tarun Sahu <tsahu@linux.ibm.com> writes:

> Migrating the libhugetlbfs/testcases/huge_below_4GB_normal_above.c test
>
> Test Description: Designed to pick up a bug on ppc64 where
> touches_hugepage_low_range() could give false positives because of the
> peculiar (undefined) behaviour of << for large shifts
>
> Signed-off-by: Tarun Sahu <tsahu@linux.ibm.com>
> ---
>  runtest/hugetlb                               |   1 +
>  testcases/kernel/mem/.gitignore               |   1 +
>  .../kernel/mem/hugetlb/hugemmap/hugemmap14.c  | 156 ++++++++++++++++++
>  3 files changed, 158 insertions(+)
>  create mode 100644 testcases/kernel/mem/hugetlb/hugemmap/hugemmap14.c
>
> diff --git a/runtest/hugetlb b/runtest/hugetlb
> index 2029ee4b3..796ebe7fa 100644
> --- a/runtest/hugetlb
> +++ b/runtest/hugetlb
> @@ -15,6 +15,7 @@ hugemmap10 hugemmap10
>  hugemmap11 hugemmap11
>  hugemmap12 hugemmap12
>  hugemmap13 hugemmap13
> +hugemmap14 hugemmap14
>  hugemmap05_1 hugemmap05 -m
>  hugemmap05_2 hugemmap05 -s
>  hugemmap05_3 hugemmap05 -s -m
> diff --git a/testcases/kernel/mem/.gitignore b/testcases/kernel/mem/.gitignore
> index 5955ed613..3106579ce 100644
> --- a/testcases/kernel/mem/.gitignore
> +++ b/testcases/kernel/mem/.gitignore
> @@ -14,6 +14,7 @@
>  /hugetlb/hugemmap/hugemmap11
>  /hugetlb/hugemmap/hugemmap12
>  /hugetlb/hugemmap/hugemmap13
> +/hugetlb/hugemmap/hugemmap14
>  /hugetlb/hugeshmat/hugeshmat01
>  /hugetlb/hugeshmat/hugeshmat02
>  /hugetlb/hugeshmat/hugeshmat03
> diff --git a/testcases/kernel/mem/hugetlb/hugemmap/hugemmap14.c b/testcases/kernel/mem/hugetlb/hugemmap/hugemmap14.c
> new file mode 100644
> index 000000000..8ccd141f8
> --- /dev/null
> +++ b/testcases/kernel/mem/hugetlb/hugemmap/hugemmap14.c
> @@ -0,0 +1,156 @@
> +// SPDX-License-Identifier: LGPL-2.1-or-later
> +/*
> + * Copyright (C) 2005-2006 David Gibson & Adam Litke, IBM Corporation.
> + * Author: David Gibson & Adam Litke
> + */
> +
> +/*\
> + * [Description]
> + *
> + * Designed to pick up a bug on ppc64 where touches_hugepage_low_range()
> + * could give false positives because of the peculiar (undefined)
> + * behaviour of << for large shifts
> + *
> + * WARNING: The offsets and addresses used within are specifically
> + * calculated to trigger the bug as it existed.  Don't mess with them
> + * unless you *really* know what you're doing.

I guess the test is good insofar that I can tell. As with hugemmap13 it
would be nice to have a reference to the bugfix though.

> +
> +static struct tst_test test = {
> +	.needs_root = 1,
> +	.mntpoint = MNTPOINT,
> +	.needs_hugetlbfs = 1,
> +	.needs_tmpdir = 1,
> +	.setup = setup,
> +	.cleanup = cleanup,
> +	.test_all = run_test,
> +	.hugepages = {2, TST_NEEDS},

If we can find the bugfix commit then it can be referenced in the tags
here.

-- 
Thank you,
Richard.


More information about the ltp mailing list