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] [day] [month] [year] [list]
Date: Fri, 19 Jan 2024 06:11:53 -0700
From: Nico Pache <npache@...hat.com>
To: linux-kernel@...r.kernel.org, linux-kselftest@...r.kernel.org, 
	linux-mm@...ck.org
Cc: akpm@...ux-foundation.org, shuah@...nel.org, donettom@...ux.vnet.ibm.com
Subject: Re: [PATCH] selftests: mm: fix map_hugetlb failure on 64K page size systems

NACK.

I accidentally sent an older version of this patch. Following up with V2.

On Fri, Jan 19, 2024 at 5:58 AM Nico Pache <npache@...hat.com> wrote:
>
> On systems with 64k page size and 512M huge page sizes, the allocation
> and test succeeds but errors out at the munmap. As the comment states,
> munmap will failure if its not HUGEPAGE aligned. This is due to the
> length of the mapping being 1/2 the size of the hugepage causing the
> munmap to not be hugepage aligned. Fix this by making the mapping length
> the full hugepage if the hugepage is larger than the length of the
> mapping.
>
> Signed-off-by: Nico Pache <npache@...hat.com>
> ---
>  tools/testing/selftests/mm/map_hugetlb.c | 6 ++++++
>  1 file changed, 6 insertions(+)
>
> diff --git a/tools/testing/selftests/mm/map_hugetlb.c b/tools/testing/selftests/mm/map_hugetlb.c
> index 193281560b61..dcb8095fcd45 100644
> --- a/tools/testing/selftests/mm/map_hugetlb.c
> +++ b/tools/testing/selftests/mm/map_hugetlb.c
> @@ -58,10 +58,16 @@ int main(int argc, char **argv)
>  {
>         void *addr;
>         int ret;
> +       size_t maplength;
>         size_t length = LENGTH;
>         int flags = FLAGS;
>         int shift = 0;
>
> +       maplength = default_huge_page_size();
> +       /* mmap with fail if the length is not page */
> +       if (maplength > length)
> +               length = maplength;
> +
>         if (argc > 1)
>                 length = atol(argv[1]) << 20;
>         if (argc > 2) {
> --
> 2.43.0
>


Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ