diff options
author | Florian Weimer <fweimer@redhat.com> | 2021-04-21 19:49:50 +0200 |
---|---|---|
committer | Florian Weimer <fweimer@redhat.com> | 2021-04-21 19:49:50 +0200 |
commit | f79f2065817e080f65f3c3a2fee966f5a97f1746 (patch) | |
tree | 1ee9c2bccdd0360bf9ef31e1cc7b662abcac32a5 /nptl/nptl-init.c | |
parent | 5715c29e91076800418833f2196f2082f439da75 (diff) | |
download | glibc-f79f2065817e080f65f3c3a2fee966f5a97f1746.zip glibc-f79f2065817e080f65f3c3a2fee966f5a97f1746.tar.gz glibc-f79f2065817e080f65f3c3a2fee966f5a97f1746.tar.bz2 |
nptl: Move legacy unwinding implementation into libc
It is still used internally. Since unwinding is now available
unconditionally, avoid indirect calls through function pointers loaded
from the stack by inlining the non-cancellation cleanup code. This
avoids a regression in security hardening.
The out-of-line __libc_cleanup_routine implementation is no longer
needed because the inline definition is now static __always_inline.
Reviewed-by: Adhemerval Zanella <adhemerval.zanella@linaro.org>
Diffstat (limited to 'nptl/nptl-init.c')
-rw-r--r-- | nptl/nptl-init.c | 2 |
1 files changed, 0 insertions, 2 deletions
diff --git a/nptl/nptl-init.c b/nptl/nptl-init.c index 2c7e222..43e2564 100644 --- a/nptl/nptl-init.c +++ b/nptl/nptl-init.c @@ -95,8 +95,6 @@ static const struct pthread_functions pthread_functions = .ptr___pthread_key_create = __pthread_key_create, .ptr___pthread_getspecific = __pthread_getspecific, .ptr___pthread_setspecific = __pthread_setspecific, - .ptr__pthread_cleanup_push_defer = __pthread_cleanup_push_defer, - .ptr__pthread_cleanup_pop_restore = __pthread_cleanup_pop_restore, .ptr_nthreads = &__nptl_nthreads, .ptr___pthread_unwind = &__pthread_unwind, .ptr__nptl_deallocate_tsd = __nptl_deallocate_tsd, |