glibc/malloc
Carlos O'Donell e621246ec6 malloc: Set and reset all hooks for tracing (Bug 16573)
If an error occurs during the tracing operation, particularly during a
call to lock_and_info() which calls _dl_addr, we may end up calling back
into the malloc-subsystem and relock the loader lock and deadlock. For
all intents and purposes the call to _dl_addr can call any of the malloc
family API functions and so we should disable all tracing before calling
such loader functions.  This is similar to the strategy that the new
malloc tracer takes when calling the real malloc, namely that all
tracing ceases at the boundary to the real function and any faults at
that point are the purvue of the library (though the new tracer does
this on a per-thread basis in an MT-safe fashion). Since the new tracer
and the hook deprecation are not yet complete we must fix these issues
where we can.

Tested on x86_64 with no regressions.

Co-authored-by: Kwok Cheung Yeung <kcy@codesourcery.com>
Reviewed-by: DJ Delorie <dj@redhat.com>
2019-04-09 10:56:51 -04:00
..
alloc_buffer_alloc_array.c Update copyright dates with scripts/update-copyrights. 2019-01-01 00:11:28 +00:00
alloc_buffer_allocate.c Update copyright dates with scripts/update-copyrights. 2019-01-01 00:11:28 +00:00
alloc_buffer_copy_bytes.c Update copyright dates with scripts/update-copyrights. 2019-01-01 00:11:28 +00:00
alloc_buffer_copy_string.c Update copyright dates with scripts/update-copyrights. 2019-01-01 00:11:28 +00:00
alloc_buffer_create_failure.c Update copyright dates with scripts/update-copyrights. 2019-01-01 00:11:28 +00:00
arena.c Update copyright dates with scripts/update-copyrights. 2019-01-01 00:11:28 +00:00
Depend Update. 1999-10-04 22:59:43 +00:00
dynarray_at_failure.c Update copyright dates with scripts/update-copyrights. 2019-01-01 00:11:28 +00:00
dynarray_emplace_enlarge.c Update copyright dates with scripts/update-copyrights. 2019-01-01 00:11:28 +00:00
dynarray_finalize.c Update copyright dates with scripts/update-copyrights. 2019-01-01 00:11:28 +00:00
dynarray_resize_clear.c Update copyright dates with scripts/update-copyrights. 2019-01-01 00:11:28 +00:00
dynarray_resize.c Update copyright dates with scripts/update-copyrights. 2019-01-01 00:11:28 +00:00
dynarray-skeleton.c Update copyright dates with scripts/update-copyrights. 2019-01-01 00:11:28 +00:00
dynarray.h Update copyright dates with scripts/update-copyrights. 2019-01-01 00:11:28 +00:00
hooks.c Update copyright dates with scripts/update-copyrights. 2019-01-01 00:11:28 +00:00
Makefile Update copyright dates with scripts/update-copyrights. 2019-01-01 00:11:28 +00:00
malloc-hooks.h Update copyright dates with scripts/update-copyrights. 2019-01-01 00:11:28 +00:00
malloc-internal.h Update copyright dates with scripts/update-copyrights. 2019-01-01 00:11:28 +00:00
malloc.c malloc: Check for large bin list corruption when inserting unsorted chunk 2019-03-14 16:51:16 -04:00
malloc.h Update copyright dates with scripts/update-copyrights. 2019-01-01 00:11:28 +00:00
mallocbug.c Reformat malloc to gnu style. 2014-01-02 09:40:10 +01:00
mcheck-init.c Update copyright dates with scripts/update-copyrights. 2019-01-01 00:11:28 +00:00
mcheck.c Update copyright dates with scripts/update-copyrights. 2019-01-01 00:11:28 +00:00
mcheck.h Update copyright dates with scripts/update-copyrights. 2019-01-01 00:11:28 +00:00
memusage.c Update copyright dates with scripts/update-copyrights. 2019-01-01 00:11:28 +00:00
memusage.sh Update copyright dates not handled by scripts/update-copyrights. 2019-01-01 00:15:13 +00:00
memusagestat.c Break more lines before not after operators. 2019-02-25 13:19:19 +00:00
morecore.c Update copyright dates with scripts/update-copyrights. 2019-01-01 00:11:28 +00:00
mtrace.c malloc: Set and reset all hooks for tracing (Bug 16573) 2019-04-09 10:56:51 -04:00
mtrace.pl Update copyright dates not handled by scripts/update-copyrights. 2019-01-01 00:15:13 +00:00
obstack.c Update copyright dates with scripts/update-copyrights. 2019-01-01 00:11:28 +00:00
obstack.h Update copyright dates with scripts/update-copyrights. 2019-01-01 00:11:28 +00:00
reallocarray.c Update copyright dates with scripts/update-copyrights. 2019-01-01 00:11:28 +00:00
scratch_buffer_grow_preserve.c Update copyright dates with scripts/update-copyrights. 2019-01-01 00:11:28 +00:00
scratch_buffer_grow.c Update copyright dates with scripts/update-copyrights. 2019-01-01 00:11:28 +00:00
scratch_buffer_set_array_size.c Update copyright dates with scripts/update-copyrights. 2019-01-01 00:11:28 +00:00
set-freeres.c Update copyright dates with scripts/update-copyrights. 2019-01-01 00:11:28 +00:00
thread-freeres.c Update copyright dates with scripts/update-copyrights. 2019-01-01 00:11:28 +00:00
tst-alloc_buffer.c Update copyright dates with scripts/update-copyrights. 2019-01-01 00:11:28 +00:00
tst-calloc.c Update copyright dates with scripts/update-copyrights. 2019-01-01 00:11:28 +00:00
tst-dynarray-at-fail.c Update copyright dates with scripts/update-copyrights. 2019-01-01 00:11:28 +00:00
tst-dynarray-fail.c Update copyright dates with scripts/update-copyrights. 2019-01-01 00:11:28 +00:00
tst-dynarray-shared.h Update copyright dates with scripts/update-copyrights. 2019-01-01 00:11:28 +00:00
tst-dynarray.c Update copyright dates with scripts/update-copyrights. 2019-01-01 00:11:28 +00:00
tst-interpose-aux-nothread.c Update copyright dates with scripts/update-copyrights. 2019-01-01 00:11:28 +00:00
tst-interpose-aux-thread.c Update copyright dates with scripts/update-copyrights. 2019-01-01 00:11:28 +00:00
tst-interpose-aux.c Update copyright dates with scripts/update-copyrights. 2019-01-01 00:11:28 +00:00
tst-interpose-aux.h Update copyright dates with scripts/update-copyrights. 2019-01-01 00:11:28 +00:00
tst-interpose-nothread.c Update copyright dates with scripts/update-copyrights. 2019-01-01 00:11:28 +00:00
tst-interpose-skeleton.c Update copyright dates with scripts/update-copyrights. 2019-01-01 00:11:28 +00:00
tst-interpose-static-nothread.c Update copyright dates with scripts/update-copyrights. 2019-01-01 00:11:28 +00:00
tst-interpose-static-thread.c Update copyright dates with scripts/update-copyrights. 2019-01-01 00:11:28 +00:00
tst-interpose-thread.c Update copyright dates with scripts/update-copyrights. 2019-01-01 00:11:28 +00:00
tst-malloc_info.c Update copyright dates with scripts/update-copyrights. 2019-01-01 00:11:28 +00:00
tst-malloc-backtrace.c Update copyright dates with scripts/update-copyrights. 2019-01-01 00:11:28 +00:00
tst-malloc-fork-deadlock.c Update copyright dates with scripts/update-copyrights. 2019-01-01 00:11:28 +00:00
tst-malloc-stats-cancellation.c [BZ #22830] malloc_stats: restore cancellation for stderr correctly. 2018-02-10 16:24:17 -05:00
tst-malloc-tcache-leak.c Update copyright dates with scripts/update-copyrights. 2019-01-01 00:11:28 +00:00
tst-malloc-thread-exit.c Update copyright dates with scripts/update-copyrights. 2019-01-01 00:11:28 +00:00
tst-malloc-thread-fail.c Update copyright dates with scripts/update-copyrights. 2019-01-01 00:11:28 +00:00
tst-malloc-too-large.c Update copyright dates with scripts/update-copyrights. 2019-01-01 00:11:28 +00:00
tst-malloc-usable-static-tunables.c Initialize tunable list with the GLIBC_TUNABLES environment variable 2016-12-31 23:49:24 +05:30
tst-malloc-usable-static.c Add framework for tunables 2016-12-31 23:49:24 +05:30
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. 2019-01-01 00:11:28 +00:00
tst-malloc.c Update copyright dates with scripts/update-copyrights. 2019-01-01 00:11:28 +00:00
tst-mallocfork2.c Update copyright dates with scripts/update-copyrights. 2019-01-01 00:11:28 +00:00
tst-mallocfork.c Prefer https for Sourceware links 2017-11-16 11:49:26 +05:30
tst-mallocstate.c Update copyright dates with scripts/update-copyrights. 2019-01-01 00:11:28 +00:00
tst-mallopt.c Update copyright dates with scripts/update-copyrights. 2019-01-01 00:11:28 +00:00
tst-mcheck.c Update copyright dates with scripts/update-copyrights. 2019-01-01 00:11:28 +00:00
tst-memalign.c Update copyright dates with scripts/update-copyrights. 2019-01-01 00:11:28 +00:00
tst-mtrace.c Update copyright dates with scripts/update-copyrights. 2019-01-01 00:11:28 +00:00
tst-mtrace.sh Update copyright dates with scripts/update-copyrights. 2019-01-01 00:11:28 +00:00
tst-obstack.c Modify several tests to use test-skeleton.c 2014-11-05 15:24:08 +05:30
tst-posix_memalign.c Update copyright dates with scripts/update-copyrights. 2019-01-01 00:11:28 +00:00
tst-pvalloc.c Update copyright dates with scripts/update-copyrights. 2019-01-01 00:11:28 +00:00
tst-realloc.c Update copyright dates with scripts/update-copyrights. 2019-01-01 00:11:28 +00:00
tst-reallocarray.c Update copyright dates with scripts/update-copyrights. 2019-01-01 00:11:28 +00:00
tst-scratch_buffer.c Update copyright dates with scripts/update-copyrights. 2019-01-01 00:11:28 +00:00
tst-tcfree1.c Update copyright dates with scripts/update-copyrights. 2019-01-01 00:11:28 +00:00
tst-tcfree2.c Update copyright dates with scripts/update-copyrights. 2019-01-01 00:11:28 +00:00
tst-tcfree3.c Update copyright dates with scripts/update-copyrights. 2019-01-01 00:11:28 +00: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. 2019-01-01 00:11:28 +00:00
Versions Implement allocation buffers for internal use 2017-06-21 22:43:57 +02:00