diff options
author | Szabolcs Nagy <szabolcs.nagy@arm.com> | 2020-12-30 21:52:38 +0000 |
---|---|---|
committer | Szabolcs Nagy <szabolcs.nagy@arm.com> | 2021-04-15 09:30:43 +0100 |
commit | c0669ae1a629e16b536bf11cdd0865e0dbcf4bee (patch) | |
tree | 4bdda7e9516feb74e1950ce374b8c4d2dd0d7992 /dlfcn | |
parent | c489c35054c39d7f2437ca61b369e3ede448f022 (diff) | |
download | glibc-c0669ae1a629e16b536bf11cdd0865e0dbcf4bee.tar.gz glibc-c0669ae1a629e16b536bf11cdd0865e0dbcf4bee.tar.xz glibc-c0669ae1a629e16b536bf11cdd0865e0dbcf4bee.zip |
elf: Refactor _dl_update_slotinfo to avoid use after free
map is not valid to access here because it can be freed by a concurrent dlclose: during tls access (via __tls_get_addr) _dl_update_slotinfo is called without holding dlopen locks. So don't check the modid of map. The map == 0 and map != 0 code paths can be shared (avoiding the dtv resize in case of map == 0 is just an optimization: larger dtv than necessary would be fine too). Reviewed-by: Adhemerval Zanella <adhemerval.zanella@linaro.org>
Diffstat (limited to 'dlfcn')
0 files changed, 0 insertions, 0 deletions