glibc/dlfcn
Florian Weimer bc56ab1f4a dlfcn: Do not use rtld_active () to determine ld.so state (bug 29078)
When audit modules are loaded, ld.so initialization is not yet
complete, and rtld_active () returns false even though ld.so is
mostly working.  Instead, the static dlopen hook is used, but that
does not work at all because this is not a static dlopen situation.

Commit 466c1ea15f ("dlfcn: Rework
static dlopen hooks") moved the hook pointer into _rtld_global_ro,
which means that separate protection is not needed anymore and the
hook pointer can be checked directly.

The guard for disabling libio vtable hardening in _IO_vtable_check
should stay for now.

Fixes commit 8e1472d2c1 ("ld.so:
Examine GLRO to detect inactive loader [BZ #20204]").

Reviewed-by: Adhemerval Zanella  <adhemerval.zanella@linaro.org>
(cherry picked from commit 8dcb6d0af0)
2022-04-26 15:28:39 +02:00
..
bug-atexit1-lib.c
bug-atexit1.c Prefer https for Sourceware links 2017-11-16 11:49:26 +05:30
bug-atexit2-lib.c
bug-atexit2.c Prefer https for Sourceware links 2017-11-16 11:49:26 +05:30
bug-atexit3-lib.cc support: Introduce new subdirectory for test infrastructure 2016-12-09 08:18:27 +01:00
bug-atexit3.c
bug-dl-leaf-lib-cb.c Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
bug-dl-leaf-lib.c Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
bug-dl-leaf.c Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
bug-dlopen1.c
bug-dlsym1-lib1.c
bug-dlsym1-lib2.c
bug-dlsym1.c
default.c
defaultmod1.c
defaultmod2.c
dladdr1.c dlfcn: Do not use rtld_active () to determine ld.so state (bug 29078) 2022-04-26 15:28:39 +02:00
dladdr.c dlfcn: Do not use rtld_active () to determine ld.so state (bug 29078) 2022-04-26 15:28:39 +02:00
dlclose.c dlfcn: Do not use rtld_active () to determine ld.so state (bug 29078) 2022-04-26 15:28:39 +02:00
dlerror.c dlfcn: Do not use rtld_active () to determine ld.so state (bug 29078) 2022-04-26 15:28:39 +02:00
dlerror.h dlfcn: dlerror needs to call free from the base namespace [BZ #24773] 2021-04-21 19:49:51 +02:00
dlfcn.h Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
dlinfo.c dlfcn: Do not use rtld_active () to determine ld.so state (bug 29078) 2022-04-26 15:28:39 +02:00
dlmopen.c dlfcn: Do not use rtld_active () to determine ld.so state (bug 29078) 2022-04-26 15:28:39 +02:00
dlopen.c dlfcn: Do not use rtld_active () to determine ld.so state (bug 29078) 2022-04-26 15:28:39 +02:00
dlopenold.c dlfcn: Do not use rtld_active () to determine ld.so state (bug 29078) 2022-04-26 15:28:39 +02:00
dlsym.c dlfcn: Do not use rtld_active () to determine ld.so state (bug 29078) 2022-04-26 15:28:39 +02:00
dlvsym.c dlfcn: Do not use rtld_active () to determine ld.so state (bug 29078) 2022-04-26 15:28:39 +02:00
errmsg1.c Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
errmsg1mod.c Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
failtest.c
failtestmod.c Fix dlfcn/failtestmod.c warning. 2014-11-27 16:00:08 +00:00
glreflib1.c Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
glreflib2.c Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
glreflib3.c
glrefmain.c Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
libc_dlerror_result.c dlfcn: dlerror needs to call free from the base namespace [BZ #24773] 2021-04-21 19:49:51 +02:00
libdl-compat.c dlfcn: Cleanups after -ldl is no longer required 2021-06-03 09:11:45 +02:00
Makefile dlfcn: Cleanups after -ldl is no longer required 2021-06-03 09:11:45 +02:00
modatexit.c Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
modcxaatexit.c Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
moddummy1.c Fix recursive dlopen. 2015-01-21 01:51:10 -05:00
moddummy2.c Fix recursive dlopen. 2015-01-21 01:51:10 -05:00
modstatic2.c dlfcn: Eliminate GLIBC_PRIVATE dependency from tststatic2 2021-06-03 09:12:05 +02:00
modstatic3.c Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
modstatic5.c Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
modstatic.c
sdlfreeres.c libc: Extend __libc_freeres framework (Bug 23329). 2018-06-29 22:39:06 -04:00
tst-dladdr.c Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
tst-dlinfo.c Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
tst-rec-dlopen.c Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
tstatexit.c Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
tstcxaatexit.c Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
tststatic2.c dlfcn: Eliminate GLIBC_PRIVATE dependency from tststatic2 2021-06-03 09:12:05 +02:00
tststatic3.c Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
tststatic4.c Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
tststatic5.c elf: Partially initialize ld.so after static dlopen (bug 20802) 2021-05-17 10:06:57 +02:00
tststatic.c Convert dlfcn/tststatic to use test-skeleton. 2015-03-27 12:55:25 -07:00
Versions dlfcn: Move dlopen into libc 2021-06-03 08:26:04 +02:00