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