diff options
author | Florian Weimer <fweimer@redhat.com> | 2019-10-04 21:23:51 +0200 |
---|---|---|
committer | Florian Weimer <fweimer@redhat.com> | 2019-10-04 21:23:51 +0200 |
commit | 77523d5e43cb5721c23855eb6045b0607a3b30a0 (patch) | |
tree | a692226cc266966f729a9694bb174d067f6f3b72 /ChangeLog | |
parent | 2b26b084e4e4ba58a2ff9f8f8f14c9bca506bd59 (diff) | |
download | glibc-77523d5e43cb5721c23855eb6045b0607a3b30a0.tar.gz glibc-77523d5e43cb5721c23855eb6045b0607a3b30a0.tar.xz glibc-77523d5e43cb5721c23855eb6045b0607a3b30a0.zip |
elf: Assign TLS modid later during dlopen [BZ #24930]
Commit a42faf59d6d9f82e5293a9ebcc26d9c9e562b12b ("Fix BZ #16634.") attempted to fix a TLS modid consistency issue by adding additional checks to the open_verify function. However, this is fragile because open_verify cannot reliably predict whether _dl_map_object_from_fd will later fail in the more complex cases (such as memory allocation failures). Therefore, this commit assigns the TLS modid as late as possible. At that point, the link map pointer will eventually be passed to _dl_close, which will undo the TLS modid assignment. Reviewed-by: Gabriel F. T. Gomes <gabrielftg@linux.ibm.com>
Diffstat (limited to 'ChangeLog')
-rw-r--r-- | ChangeLog | 12 |
1 files changed, 12 insertions, 0 deletions
diff --git a/ChangeLog b/ChangeLog index d2156e5fb0..a1da75b0f0 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,5 +1,17 @@ 2019-10-04 Florian Weimer <fweimer@redhat.com> + [BZ #24930] + * elf/dl-load.c (_dl_map_object_from_fd): Only assign TLS modid if + the link map will be returned to the caller. + * elf/Makefile [$(have-fpie) && $(build-shared)] (tests, tests-pie): + Add tst-dlopen-aout-pie. + (tst-tst-dlopen-aout-no-pie): Set. + (CFLAGS-tst-dlopen-aout-pie.c): Build with -fpie. + (tst-dlopen-aout-pie): Link with -ldl -lpthread. + * elf/tst-dlopen-aout-pie.c: New file. + +2019-10-04 Florian Weimer <fweimer@redhat.com> + [BZ #24900] * elf/dl-load.c (_dl_map_object_from_fd): Do not use the file ID when loading the executable as part of an explicit loader |