lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <f8d1e504-2009-4bd6-b1b7-c98c1f49374a@redhat.com>
Date: Mon, 8 Dec 2025 10:44:45 -0500
From: Luiz Capitulino <luizcap@...hat.com>
To: Chunyu Hu <chuhu@...hat.com>, akpm@...ux-foundation.org,
 david@...nel.org, shuah@...nel.org, linux-mm@...ck.org
Cc: linux-kselftest@...r.kernel.org, linux-kernel@...r.kernel.org,
 lorenzo.stoakes@...cle.com, Liam.Howlett@...cle.com, vbabka@...e.cz,
 rppt@...nel.org, surenb@...gle.com, mhocko@...e.com
Subject: Re: [PATCH v1 1/3] selftests/mm: fix va_high_addr_switch.sh return
 value

On 2025-12-07 07:22, Chunyu Hu wrote:
> Patch series "Fix va_high_addr_switch.sh test failure - again", v1.
> 
> There are two issues exist for the  va_high_addr_switch test. One issue is
> the test return value is ignored in va_high_addr_switch.sh. The second is
> the va_high_addr_switch requires 6 hugepages but it requires 5.
> 
> Besides that, the nr_hugepages setup in run_vmtests.sh for arm64 can be
> done in va_high_addr_switch.sh too.
> 
> This patch: (of 3)
> 
> The return value should be return value of va_high_addr_switch, otherwise
> a test failure would be silently ignored.
> 
> Fixes: d9d957bd7b61 ("selftests/mm: alloc hugepages in va_high_addr_switch test")
> CC: Luiz Capitulino <luizcap@...hat.com>
> Signed-off-by: Chunyu Hu <chuhu@...hat.com>

This fix is good, but there are two additional issues that need fixing
(maybe in separate patches):

1. In main() we do:

"""
         ret = run_test(testcases, sz_testcases);
         if (argc == 2 && !strcmp(argv[1], "--run-hugetlb"))
                 ret = run_test(hugetlb_testcases, sz_hugetlb_testcases);
"""

The second run_test() overwrites the return code of the first one, so if
the first fails and the second one succeeds, the test will report
success.

2. The following comment in va_high_addr_switch.sh is wrong in two
counts: there's an eligibility check for powerpc64 and the test doesn't
reject other architectures as it runs on arm64 as well.

"""
     # The test supports x86_64 and powerpc64. We currently have no useful
     # eligibility check for powerpc64, and the test itself will reject other
     # architectures.
"""

For this fix:

Reviewed-by: Luiz Capitulino <luizcap@...hat.com>

> ---
>   tools/testing/selftests/mm/va_high_addr_switch.sh | 2 ++
>   1 file changed, 2 insertions(+)
> 
> diff --git a/tools/testing/selftests/mm/va_high_addr_switch.sh b/tools/testing/selftests/mm/va_high_addr_switch.sh
> index a7d4b02b21dd..f89fe078a8e6 100755
> --- a/tools/testing/selftests/mm/va_high_addr_switch.sh
> +++ b/tools/testing/selftests/mm/va_high_addr_switch.sh
> @@ -114,4 +114,6 @@ save_nr_hugepages
>   # 4 keep_mapped pages, and one for tmp usage
>   setup_nr_hugepages 5
>   ./va_high_addr_switch --run-hugetlb
> +retcode=$?
>   restore_nr_hugepages
> +exit $retcode










Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ