glibc/malloc
William Hunt 849a274531 malloc: Cleanup macros, asserts and sysmalloc_mmap_fallback
Refactor malloc.c to remove dead code, create macros to abstract duplicated
code, and cleanup sysmalloc_mmap_fallback to remove logic not related to the
mmap call.

Change the return type of mmap_base to uintptr_t since this allows using
operations on the return value, and avoids casting in both calls in
mremap_chunk and munmap_chunk.

Cleanup sysmalloc_mmap_fallback. Remove unused parameters nb, oldsize
and av. Remove redundant overflow check and instead use size_t for all
parameters except extra_flags to prevent overflows. Move logic not concerned
with the mmap call itself outside the function after both calls to
sysmalloc_mmap_fallback are made; this means move code for naming the VMA
and marking the arena being extended as non-contiguous to the calling code to
be handled in the case that the mmap is successful. Calculate the fallback
size from nb to avoid modifying size after it has been set for MORECORE.

Remove unused noncontiguous macro.

Remove redundant assert for checking unreachable option for global_max_fast.

Reviewed-by: Wilco Dijkstra  <Wilco.Dijkstra@arm.com>
2025-10-03 16:34:10 +00:00
..
Depend added rt to malloc/Depend [BZ #27132] 2021-02-23 10:04:45 +01:00
Makefile malloc: add tst-mxfast to hugetlb exclusion list 2025-08-29 13:22:19 -04:00
Versions Remove unused scratch_buffer_dupfree 2022-10-28 18:43:58 +01:00
alloc_buffer_alloc_array.c Update copyright dates with scripts/update-copyrights 2025-01-01 11:22:09 -08:00
alloc_buffer_allocate.c Update copyright dates with scripts/update-copyrights 2025-01-01 11:22:09 -08:00
alloc_buffer_copy_bytes.c Update copyright dates with scripts/update-copyrights 2025-01-01 11:22:09 -08:00
alloc_buffer_copy_string.c Update copyright dates with scripts/update-copyrights 2025-01-01 11:22:09 -08:00
alloc_buffer_create_failure.c Update copyright dates with scripts/update-copyrights 2025-01-01 11:22:09 -08:00
arena.c malloc: Hoist common unlock out of if-else control block 2025-09-18 15:50:15 -04:00
dynarray-skeleton.c Update copyright dates with scripts/update-copyrights 2025-01-01 11:22:09 -08:00
dynarray.h Update copyright dates with scripts/update-copyrights 2025-01-01 11:22:09 -08:00
dynarray_at_failure.c Update copyright dates with scripts/update-copyrights 2025-01-01 11:22:09 -08:00
dynarray_emplace_enlarge.c Update copyright dates with scripts/update-copyrights 2025-01-01 11:22:09 -08:00
dynarray_finalize.c Update copyright dates with scripts/update-copyrights 2025-01-01 11:22:09 -08:00
dynarray_resize.c Update copyright dates with scripts/update-copyrights 2025-01-01 11:22:09 -08:00
dynarray_resize_clear.c Update copyright dates with scripts/update-copyrights 2025-01-01 11:22:09 -08:00
hooks.c Update copyright dates with scripts/update-copyrights 2025-01-01 11:22:09 -08:00
malloc-check.c malloc: Cleanup macros, asserts and sysmalloc_mmap_fallback 2025-10-03 16:34:10 +00:00
malloc-debug.c malloc: Remove dumped heap support 2025-09-19 13:11:56 +00:00
malloc-internal.h malloc: Improve malloc initialization 2025-05-12 16:10:28 +00:00
malloc.c malloc: Cleanup macros, asserts and sysmalloc_mmap_fallback 2025-10-03 16:34:10 +00:00
malloc.h Update copyright dates with scripts/update-copyrights 2025-01-01 11:22:09 -08:00
mallocbug.c Reformat malloc to gnu style. 2014-01-02 09:40:10 +01:00
mcheck-impl.c Update copyright dates with scripts/update-copyrights 2025-01-01 11:22:09 -08:00
mcheck-init.c Update copyright dates with scripts/update-copyrights 2025-01-01 11:22:09 -08:00
mcheck.c Update copyright dates with scripts/update-copyrights 2025-01-01 11:22:09 -08:00
mcheck.h Update copyright dates with scripts/update-copyrights 2025-01-01 11:22:09 -08:00
memusage.c Update copyright dates with scripts/update-copyrights 2025-01-01 11:22:09 -08:00
memusage.sh Update copyright dates with scripts/update-copyrights 2025-01-01 11:22:09 -08:00
memusagestat.c Update copyright dates with scripts/update-copyrights 2025-01-01 11:22:09 -08:00
morecore.c Update copyright dates with scripts/update-copyrights 2025-01-01 11:22:09 -08:00
mtrace-impl.c Update copyright dates with scripts/update-copyrights 2025-01-01 11:22:09 -08:00
mtrace.c Update copyright dates with scripts/update-copyrights 2025-01-01 11:22:09 -08:00
mtrace.pl Update copyright dates not handled by scripts/update-copyrights 2025-01-01 11:22:09 -08:00
obstack.c Update copyright dates with scripts/update-copyrights 2025-01-01 11:22:09 -08:00
obstack.h Update copyright dates with scripts/update-copyrights 2025-01-01 11:22:09 -08:00
reallocarray.c Update copyright dates with scripts/update-copyrights 2025-01-01 11:22:09 -08:00
scratch_buffer_grow.c Update copyright dates with scripts/update-copyrights 2025-01-01 11:22:09 -08:00
scratch_buffer_grow_preserve.c Update copyright dates with scripts/update-copyrights 2025-01-01 11:22:09 -08:00
scratch_buffer_set_array_size.c Update copyright dates with scripts/update-copyrights 2025-01-01 11:22:09 -08:00
set-freeres.c elf: Merge __dl_libc_freemem into __rtld_libc_freeres 2025-02-02 20:10:09 +01:00
thread-freeres.c Update copyright dates with scripts/update-copyrights 2025-01-01 11:22:09 -08:00
tst-aligned-alloc-random-thread-cross.c Update copyright dates with scripts/update-copyrights 2025-01-01 11:22:09 -08:00
tst-aligned-alloc-random-thread.c Update copyright dates with scripts/update-copyrights 2025-01-01 11:22:09 -08:00
tst-aligned-alloc-random.c Update copyright dates with scripts/update-copyrights 2025-01-01 11:22:09 -08:00
tst-aligned-alloc-static.c aligned_alloc: conform to C17 2023-05-08 16:40:10 -04:00
tst-aligned-alloc.c Update copyright dates with scripts/update-copyrights 2025-01-01 11:22:09 -08:00
tst-aligned_alloc-lib.c Update copyright dates with scripts/update-copyrights 2025-01-01 11:22:09 -08:00
tst-alloc_buffer.c Update copyright dates with scripts/update-copyrights 2025-01-01 11:22:09 -08:00
tst-calloc.c malloc: cleanup casts in tst-calloc 2025-01-25 05:34:05 +00:00
tst-compathooks-off.c Update copyright dates with scripts/update-copyrights 2025-01-01 11:22:09 -08:00
tst-compathooks-on.c Move malloc hooks into a compat DSO 2021-07-22 18:37:59 +05:30
tst-dynarray-at-fail.c Update copyright dates with scripts/update-copyrights 2025-01-01 11:22:09 -08:00
tst-dynarray-fail.c Update copyright dates with scripts/update-copyrights 2025-01-01 11:22:09 -08:00
tst-dynarray-shared.h Update copyright dates with scripts/update-copyrights 2025-01-01 11:22:09 -08:00
tst-dynarray.c Update copyright dates with scripts/update-copyrights 2025-01-01 11:22:09 -08:00
tst-free-errno.c malloc: Fix tst bug in malloc/tst-free-errno-malloc-hugetlb1. 2025-08-19 09:05:32 +08:00
tst-interpose-aux-nothread.c Update copyright dates with scripts/update-copyrights 2025-01-01 11:22:09 -08:00
tst-interpose-aux-thread.c Update copyright dates with scripts/update-copyrights 2025-01-01 11:22:09 -08:00
tst-interpose-aux.c Update copyright dates with scripts/update-copyrights 2025-01-01 11:22:09 -08:00
tst-interpose-aux.h Update copyright dates with scripts/update-copyrights 2025-01-01 11:22:09 -08:00
tst-interpose-nothread.c Update copyright dates with scripts/update-copyrights 2025-01-01 11:22:09 -08:00
tst-interpose-skeleton.c Update copyright dates with scripts/update-copyrights 2025-01-01 11:22:09 -08:00
tst-interpose-static-nothread.c Update copyright dates with scripts/update-copyrights 2025-01-01 11:22:09 -08:00
tst-interpose-static-thread.c Update copyright dates with scripts/update-copyrights 2025-01-01 11:22:09 -08:00
tst-interpose-thread.c Update copyright dates with scripts/update-copyrights 2025-01-01 11:22:09 -08:00
tst-mallinfo2.c Update copyright dates with scripts/update-copyrights 2025-01-01 11:22:09 -08:00
tst-malloc-alternate-path.c Update copyright dates with scripts/update-copyrights 2025-01-01 11:22:09 -08:00
tst-malloc-aux.h Update copyright dates with scripts/update-copyrights 2025-01-01 11:22:09 -08:00
tst-malloc-backtrace.c Update copyright dates with scripts/update-copyrights 2025-01-01 11:22:09 -08:00
tst-malloc-check.c Update copyright dates with scripts/update-copyrights 2025-01-01 11:22:09 -08:00
tst-malloc-fork-deadlock.c Update copyright dates with scripts/update-copyrights 2025-01-01 11:22:09 -08:00
tst-malloc-random.c Update copyright dates with scripts/update-copyrights 2025-01-01 11:22:09 -08:00
tst-malloc-stats-cancellation.c malloc: Run tst-malloc-stats-cancellation via test-driver.c 2021-04-07 02:35:50 +02:00
tst-malloc-tcache-leak.c Update copyright dates with scripts/update-copyrights 2025-01-01 11:22:09 -08:00
tst-malloc-thread-exit.c Update copyright dates with scripts/update-copyrights 2025-01-01 11:22:09 -08:00
tst-malloc-thread-fail.c Update copyright dates with scripts/update-copyrights 2025-01-01 11:22:09 -08:00
tst-malloc-too-large.c Update copyright dates with scripts/update-copyrights 2025-01-01 11:22:09 -08:00
tst-malloc-usable-tunables.c Initialize tunable list with the GLIBC_TUNABLES environment variable 2016-12-31 23:49:24 +05:30
tst-malloc-usable.c Update copyright dates with scripts/update-copyrights 2025-01-01 11:22:09 -08:00
tst-malloc.c Update copyright dates with scripts/update-copyrights 2025-01-01 11:22:09 -08:00
tst-malloc_info.c Update copyright dates with scripts/update-copyrights 2025-01-01 11:22:09 -08:00
tst-mallocalign1.c Update copyright dates with scripts/update-copyrights 2025-01-01 11:22:09 -08:00
tst-mallocfork.c Fix malloc tests build with GCC 10. 2019-06-10 22:12:08 +00:00
tst-mallocfork2.c Update copyright dates with scripts/update-copyrights 2025-01-01 11:22:09 -08:00
tst-mallocfork3.c Update copyright dates with scripts/update-copyrights 2025-01-01 11:22:09 -08:00
tst-mallocstate.c malloc: Remove dumped heap support 2025-09-19 13:11:56 +00:00
tst-mallopt.c Update copyright dates with scripts/update-copyrights 2025-01-01 11:22:09 -08:00
tst-memalign-2.c Update copyright dates with scripts/update-copyrights 2025-01-01 11:22:09 -08:00
tst-memalign-3.c Update copyright dates with scripts/update-copyrights 2025-01-01 11:22:09 -08:00
tst-memalign.c Update copyright dates with scripts/update-copyrights 2025-01-01 11:22:09 -08:00
tst-mtrace.c Update copyright dates with scripts/update-copyrights 2025-01-01 11:22:09 -08:00
tst-mtrace.sh Update copyright dates with scripts/update-copyrights 2025-01-01 11:22:09 -08:00
tst-mxfast.c Update copyright dates with scripts/update-copyrights 2025-01-01 11:22:09 -08:00
tst-obstack.c Avoid -Wuse-after-free in tests [BZ #26779]. 2022-01-26 10:38:23 -07:00
tst-posix_memalign.c Update copyright dates with scripts/update-copyrights 2025-01-01 11:22:09 -08:00
tst-pvalloc-fortify.c Update copyright dates with scripts/update-copyrights 2025-01-01 11:22:09 -08:00
tst-pvalloc.c Update copyright dates with scripts/update-copyrights 2025-01-01 11:22:09 -08:00
tst-realloc.c Update copyright dates with scripts/update-copyrights 2025-01-01 11:22:09 -08:00
tst-reallocarray.c Update copyright dates with scripts/update-copyrights 2025-01-01 11:22:09 -08:00
tst-safe-linking.c Update copyright dates with scripts/update-copyrights 2025-01-01 11:22:09 -08:00
tst-scratch_buffer.c Update copyright dates with scripts/update-copyrights 2025-01-01 11:22:09 -08:00
tst-tcfree1.c Update copyright dates with scripts/update-copyrights 2025-01-01 11:22:09 -08:00
tst-tcfree2.c Update copyright dates with scripts/update-copyrights 2025-01-01 11:22:09 -08:00
tst-tcfree3.c Update copyright dates with scripts/update-copyrights 2025-01-01 11:22:09 -08:00
tst-tcfree4.c malloc: Improved double free detection in the tcache 2025-05-12 11:58:30 +00:00
tst-trim1.c
tst-valloc.c Update copyright dates with scripts/update-copyrights 2025-01-01 11:22:09 -08:00