]> git.ipfire.org Git - thirdparty/glibc.git/commit
malloc: Fix tst bug in malloc/tst-free-errno-malloc-hugetlb1.
authorcaiyinyu <caiyinyu@loongson.cn>
Thu, 14 Aug 2025 08:28:46 +0000 (16:28 +0800)
committercaiyinyu <caiyinyu@loongson.cn>
Tue, 19 Aug 2025 01:05:32 +0000 (09:05 +0800)
commitd4ccda8e69f29ea3600c1d1cbc7e32db4e186ea4
tree93f35ad9b68aeca86fbace8085f4319b671bd0f9
parentbd4628f3f18ac312408782eea450429c6f044860
malloc: Fix tst bug in malloc/tst-free-errno-malloc-hugetlb1.

When transparent hugepages (THP) are configured to 32MB on x86/loongarch
systems, the current big_size value may not be sufficiently large to
guarantee that free(ptr) [1] will call munmap(ptr_aligned, big_size).

Tested on x86_64 and loongarch64.

PS: Without this patch and using 32M THP, there is a about 50% chance
that malloc/tst-free-errno-malloc-hugetlb1 will fail on both x86_64 and
loongarch64.

[1] malloc/tst-free-errno.c:
...
       errno = 1789;
       /* This call to free() is supposed to call
            munmap (ptr_aligned, big_size);
          which increases the number of VMAs by 1, which is supposed
          to fail.  */
->     free (ptr);
       TEST_VERIFY (get_errno () == 1789);
     }
...

Reviewed-by: Wilco Dijkstra <Wilco.Dijkstra@arm.com>
malloc/tst-free-errno.c