about summary refs log tree commit diff
path: root/NEWS
diff options
context:
space:
mode:
authorPaul Pluzhnikov <ppluzhnikov@google.com>2014-03-24 10:58:26 -0700
committerPaul Pluzhnikov <ppluzhnikov@google.com>2014-03-24 10:58:26 -0700
commita42faf59d6d9f82e5293a9ebcc26d9c9e562b12b (patch)
treea124669e62343e6b318af03c82a86a807773c334 /NEWS
parent509361270b4b889e991400a70eb87d45304c01cd (diff)
downloadglibc-a42faf59d6d9f82e5293a9ebcc26d9c9e562b12b.tar.gz
glibc-a42faf59d6d9f82e5293a9ebcc26d9c9e562b12b.tar.xz
glibc-a42faf59d6d9f82e5293a9ebcc26d9c9e562b12b.zip
Fix BZ #16634.
An application that erroneously tries to repeatedly dlopen("a.out", ...)
may hit assertion failure:

  Inconsistency detected by ld.so: dl-tls.c: 474: _dl_allocate_tls_init:
  Assertion `listp != ((void *)0)' failed!

dlopen() actually fails with  "./a.out: cannot dynamically load executable",
but it does so after incrementing dl_tls_max_dtv_idx.

Once we run out of TLS_SLOTINFO_SURPLUS (62), we exit with above assertion
failure.

2014-03-24  Paul Pluzhnikov  <ppluzhnikov@google.com>

	[BZ #16634]

	* elf/dl-load.c (open_verify): Add mode parameter.
        Error early when ET_EXEC and mode does not have __RTLD_OPENEXEC.
        (open_path): Change from boolean 'secure' to complete flag 'mode'
        (_dl_map_object): Adjust.
	* elf/Makefile (tests): Add tst-dlopen-aout.
	* elf/tst-dlopen-aout.c: New test.
Diffstat (limited to 'NEWS')
-rw-r--r--NEWS6
1 files changed, 3 insertions, 3 deletions
diff --git a/NEWS b/NEWS
index a5540f133d..79a298f933 100644
--- a/NEWS
+++ b/NEWS
@@ -10,9 +10,9 @@ Version 2.20
 * The following bugs are resolved with this release:
 
   15347, 15804, 15894, 16002, 16284, 16447, 16532, 16545, 16574, 16600,
-  16609, 16610, 16611, 16613, 16623, 16632, 16639, 16642, 16649, 16670,
-  16674, 16677, 16680, 16683, 16689, 16695, 16701, 16706, 16707, 16731,
-  16743.
+  16609, 16610, 16611, 16613, 16623, 16632, 16634, 16639, 16642, 16649,
+  16670, 16674, 16677, 16680, 16683, 16689, 16695, 16701, 16706, 16707,
+  16731, 16743.
 
 * Running the testsuite no longer terminates as soon as a test fails.
   Instead, a file tests.sum (xtests.sum from "make xcheck") is generated,