about summary refs log tree commit diff
path: root/ChangeLog
diff options
context:
space:
mode:
authorUlrich Drepper <drepper@gmail.com>2011-05-16 00:58:33 -0400
committerUlrich Drepper <drepper@gmail.com>2011-05-16 00:58:33 -0400
commit56e5eb4619a936a3b63ae71f89038d69becd2999 (patch)
treee6005c7864f9b4ecd3f3bdfcae9b5bad9c294045 /ChangeLog
parent6ce7537960cf42a0a6b0fc70957d5ce2ba9838de (diff)
downloadglibc-56e5eb4619a936a3b63ae71f89038d69becd2999.tar.gz
glibc-56e5eb4619a936a3b63ae71f89038d69becd2999.tar.xz
glibc-56e5eb4619a936a3b63ae71f89038d69becd2999.zip
Avoid potential deadlock in mtrace
The _dl_addr function might have to call malloc which would lead
to a deadlock.  Avoid by calling _dl_addr early.
Diffstat (limited to 'ChangeLog')
-rw-r--r--ChangeLog10
1 files changed, 10 insertions, 0 deletions
diff --git a/ChangeLog b/ChangeLog
index cd89f3f7e4..4d3cf6d4ec 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,15 @@
 2011-05-16  Ulrich Drepper  <drepper@gmail.com>
 
+	[BZ #6420]
+	* malloc/mtrace.c (tr_where): Add additional parameter to point to
+	symbol info.  Use it instead of calling _dl_addr locally.
+	(lock_and_info): New function.
+	(tr_freehook): Call lock_and_info and pass symbol info as additional
+	parameter to tr_where.
+	(tr_mallochook): Likewise.
+	(tr_reallochook): Likewise.
+	(tr_memalignhook): Likewise.
+
 	* malloc/mtrace.c: Remove support for USE_MTRACE_FILE.  It is not
 	used and couldn't be at all thread-safe.