glibc/malloc
Florian Weimer 85860ad6ea malloc: Do not use MAP_NORESERVE to allocate heap segments
Address space for heap segments is reserved in a mmap call with
MAP_ANONYMOUS | MAP_PRIVATE and protection flags PROT_NONE.  This
reservation does not count against the RSS limit of the process or
system.  Backing memory is allocated using mprotect in alloc_new_heap
and grow_heap, and at this point, the allocator expects the kernel
to provide memory (subject to memory overcommit).

The SIGSEGV that might generate due to MAP_NORESERVE (according to
the mmap manual page) does not seem to occur in practice, it's always
SIGKILL from the OOM killer.  Even if there is a way that SIGSEGV
could be generated, it is confusing to applications that this only
happens for secondary heaps, not for large mmap-based allocations,
and not for the main arena.

Reviewed-by: Siddhesh Poyarekar <siddhesh@sourceware.org>
2022-08-15 16:45:40 +02:00
..
alloc_buffer_alloc_array.c Update copyright dates with scripts/update-copyrights 2022-01-01 11:40:24 -08:00
alloc_buffer_allocate.c Update copyright dates with scripts/update-copyrights 2022-01-01 11:40:24 -08:00
alloc_buffer_copy_bytes.c Update copyright dates with scripts/update-copyrights 2022-01-01 11:40:24 -08:00
alloc_buffer_copy_string.c Update copyright dates with scripts/update-copyrights 2022-01-01 11:40:24 -08:00
alloc_buffer_create_failure.c Update copyright dates with scripts/update-copyrights 2022-01-01 11:40:24 -08:00
arena.c malloc: Do not use MAP_NORESERVE to allocate heap segments 2022-08-15 16:45:40 +02:00
Depend added rt to malloc/Depend [BZ #27132] 2021-02-23 10:04:45 +01:00
dynarray_at_failure.c Update copyright dates with scripts/update-copyrights 2022-01-01 11:40:24 -08:00
dynarray_emplace_enlarge.c Update copyright dates with scripts/update-copyrights 2022-01-01 11:40:24 -08:00
dynarray_finalize.c Update copyright dates with scripts/update-copyrights 2022-01-01 11:40:24 -08:00
dynarray_resize_clear.c Update copyright dates with scripts/update-copyrights 2022-01-01 11:40:24 -08:00
dynarray_resize.c Update copyright dates with scripts/update-copyrights 2022-01-01 11:40:24 -08:00
dynarray-skeleton.c Update copyright dates with scripts/update-copyrights 2022-01-01 11:40:24 -08:00
dynarray.h Update copyright dates with scripts/update-copyrights 2022-01-01 11:40:24 -08:00
hooks.c Update copyright dates with scripts/update-copyrights 2022-01-01 11:40:24 -08:00
Makefile build: Properly generate .d dependency files [BZ #28922] 2022-02-25 10:35:45 -08:00
malloc-check.c malloc: Simplify checked_request2size interface 2022-07-05 11:04:45 +02:00
malloc-debug.c Update copyright dates with scripts/update-copyrights 2022-01-01 11:40:24 -08:00
malloc-internal.h Update copyright dates with scripts/update-copyrights 2022-01-01 11:40:24 -08:00
malloc.c malloc: Do not use MAP_NORESERVE to allocate heap segments 2022-08-15 16:45:40 +02:00
malloc.h Update copyright dates with scripts/update-copyrights 2022-01-01 11:40:24 -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 2022-01-01 11:40:24 -08:00
mcheck-init.c Update copyright dates with scripts/update-copyrights 2022-01-01 11:40:24 -08:00
mcheck.c Update copyright dates with scripts/update-copyrights 2022-01-01 11:40:24 -08:00
mcheck.h Update copyright dates with scripts/update-copyrights 2022-01-01 11:40:24 -08:00
memusage.c Update copyright dates with scripts/update-copyrights 2022-01-01 11:40:24 -08:00
memusage.sh Update copyright dates not handled by scripts/update-copyrights. 2022-01-01 11:42:26 -08:00
memusagestat.c Update copyright dates not handled by scripts/update-copyrights. 2022-01-01 11:42:26 -08:00
morecore.c Update copyright dates with scripts/update-copyrights 2022-01-01 11:40:24 -08:00
mtrace-impl.c Update copyright dates with scripts/update-copyrights 2022-01-01 11:40:24 -08:00
mtrace.c Update copyright dates with scripts/update-copyrights 2022-01-01 11:40:24 -08:00
mtrace.pl malloc: Remove LD_TRACE_PRELINKING usage from mtrace 2022-02-10 09:16:13 -03:00
obstack.c Update copyright dates with scripts/update-copyrights 2022-01-01 11:40:24 -08:00
obstack.h Update copyright dates with scripts/update-copyrights 2022-01-01 11:40:24 -08:00
reallocarray.c Update copyright dates with scripts/update-copyrights 2022-01-01 11:40:24 -08:00
scratch_buffer_dupfree.c Update copyright dates with scripts/update-copyrights 2022-01-01 11:40:24 -08:00
scratch_buffer_grow_preserve.c Update copyright dates with scripts/update-copyrights 2022-01-01 11:40:24 -08:00
scratch_buffer_grow.c Update copyright dates with scripts/update-copyrights 2022-01-01 11:40:24 -08:00
scratch_buffer_set_array_size.c Update copyright dates with scripts/update-copyrights 2022-01-01 11:40:24 -08:00
set-freeres.c Update copyright dates with scripts/update-copyrights 2022-01-01 11:40:24 -08:00
thread-freeres.c stdlib: Add arc4random, arc4random_buf, and arc4random_uniform (BZ #4417) 2022-07-22 11:58:27 -03:00
tst-alloc_buffer.c Update copyright dates with scripts/update-copyrights 2022-01-01 11:40:24 -08:00
tst-calloc.c Update copyright dates with scripts/update-copyrights 2022-01-01 11:40:24 -08:00
tst-compathooks-off.c Update copyright dates with scripts/update-copyrights 2022-01-01 11:40:24 -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 2022-01-01 11:40:24 -08:00
tst-dynarray-fail.c Update copyright dates with scripts/update-copyrights 2022-01-01 11:40:24 -08:00
tst-dynarray-shared.h Update copyright dates with scripts/update-copyrights 2022-01-01 11:40:24 -08:00
tst-dynarray.c Update copyright dates with scripts/update-copyrights 2022-01-01 11:40:24 -08:00
tst-free-errno.c Update copyright dates with scripts/update-copyrights 2022-01-01 11:40:24 -08:00
tst-interpose-aux-nothread.c Update copyright dates with scripts/update-copyrights 2022-01-01 11:40:24 -08:00
tst-interpose-aux-thread.c Update copyright dates with scripts/update-copyrights 2022-01-01 11:40:24 -08:00
tst-interpose-aux.c Update copyright dates with scripts/update-copyrights 2022-01-01 11:40:24 -08:00
tst-interpose-aux.h Update copyright dates with scripts/update-copyrights 2022-01-01 11:40:24 -08:00
tst-interpose-nothread.c Update copyright dates with scripts/update-copyrights 2022-01-01 11:40:24 -08:00
tst-interpose-skeleton.c Update copyright dates with scripts/update-copyrights 2022-01-01 11:40:24 -08:00
tst-interpose-static-nothread.c Update copyright dates with scripts/update-copyrights 2022-01-01 11:40:24 -08:00
tst-interpose-static-thread.c Update copyright dates with scripts/update-copyrights 2022-01-01 11:40:24 -08:00
tst-interpose-thread.c Update copyright dates with scripts/update-copyrights 2022-01-01 11:40:24 -08:00
tst-mallinfo2.c Update copyright dates with scripts/update-copyrights 2022-01-01 11:40:24 -08:00
tst-malloc_info.c Update copyright dates with scripts/update-copyrights 2022-01-01 11:40:24 -08:00
tst-malloc-backtrace.c Avoid -Wuse-after-free in tests [BZ #26779]. 2022-01-26 10:38:23 -07:00
tst-malloc-check.c Avoid -Wuse-after-free in tests [BZ #26779]. 2022-01-26 10:38:23 -07:00
tst-malloc-fork-deadlock.c Update copyright dates with scripts/update-copyrights 2022-01-01 11:40:24 -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 2022-01-01 11:40:24 -08:00
tst-malloc-thread-exit.c Update copyright dates with scripts/update-copyrights 2022-01-01 11:40:24 -08:00
tst-malloc-thread-fail.c Update copyright dates with scripts/update-copyrights 2022-01-01 11:40:24 -08:00
tst-malloc-too-large.c Avoid -Wuse-after-free in tests [BZ #26779]. 2022-01-26 10:38:23 -07: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 2022-01-01 11:40:24 -08:00
tst-malloc.c Update copyright dates with scripts/update-copyrights 2022-01-01 11:40:24 -08:00
tst-mallocalign1.c malloc: Fix tst-mallocalign1 macro spacing. 2022-02-01 11:05:26 -05:00
tst-mallocfork2.c Update copyright dates with scripts/update-copyrights 2022-01-01 11:40:24 -08:00
tst-mallocfork3.c Update copyright dates with scripts/update-copyrights 2022-01-01 11:40:24 -08:00
tst-mallocfork.c Fix malloc tests build with GCC 10. 2019-06-10 22:12:08 +00:00
tst-mallocstate.c Update copyright dates with scripts/update-copyrights 2022-01-01 11:40:24 -08:00
tst-mallopt.c Update copyright dates with scripts/update-copyrights 2022-01-01 11:40:24 -08:00
tst-memalign.c Update copyright dates with scripts/update-copyrights 2022-01-01 11:40:24 -08:00
tst-mtrace.c Update copyright dates with scripts/update-copyrights 2022-01-01 11:40:24 -08:00
tst-mtrace.sh Update copyright dates with scripts/update-copyrights 2022-01-01 11:40:24 -08:00
tst-mxfast.c Update copyright dates with scripts/update-copyrights 2022-01-01 11:40:24 -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 2022-01-01 11:40:24 -08:00
tst-pvalloc-fortify.c Update copyright dates with scripts/update-copyrights 2022-01-01 11:40:24 -08:00
tst-pvalloc.c Update copyright dates with scripts/update-copyrights 2022-01-01 11:40:24 -08:00
tst-realloc.c malloc: Exit early on test failure in tst-realloc 2022-03-10 08:50:51 +01:00
tst-reallocarray.c Update copyright dates with scripts/update-copyrights 2022-01-01 11:40:24 -08:00
tst-safe-linking.c Update copyright dates with scripts/update-copyrights 2022-01-01 11:40:24 -08:00
tst-scratch_buffer.c Update copyright dates with scripts/update-copyrights 2022-01-01 11:40:24 -08:00
tst-tcfree1.c Update copyright dates with scripts/update-copyrights 2022-01-01 11:40:24 -08:00
tst-tcfree2.c Update copyright dates with scripts/update-copyrights 2022-01-01 11:40:24 -08:00
tst-tcfree3.c Update copyright dates with scripts/update-copyrights 2022-01-01 11:40:24 -08:00
tst-trim1.c * malloc/tst-trim1.c: New file. 2007-12-16 22:57:57 +00:00
tst-valloc.c Update copyright dates with scripts/update-copyrights 2022-01-01 11:40:24 -08:00
Versions Move malloc_{g,s}et_state to libc_malloc_debug 2021-07-22 18:38:10 +05:30