You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
Samuel Holland
84ebec6cee
fix deadlock in synccall after threaded fork
synccall may be called by AS-safe functions such as setuid/setgid after
fork. although fork() resets libc.threads_minus_one, causing synccall to
take the single-threaded path, synccall still takes the thread list
lock. This lock may be held by another thread if for example fork()
races with pthread_create(). After fork(), the value of the lock is
meaningless, so clear it.
maintainer's note: commit 8f11e6127f and
e4235d7067 introduced this regression.
the state protected by this lock is the linked list, which is entirely
replaced in the child path of fork (next=prev=self), so resetting it
is semantically sound.
7 years ago
..
aio
on failed aio submission, set aiocb error and return value
8 years ago
complex
math: move complex math out of libm.h
7 years ago
conf
fix build regression in sysconf for archs with variable page size
8 years ago
crypt
reduce spurious inclusion of libc.h
8 years ago
ctype
reduce spurious inclusion of libc.h
8 years ago
dirent
fail fdopendir for O_PATH file descriptors
7 years ago
env
fix tls offsets when p_vaddr%p_align != 0 on TLS_ABOVE_TP targets
7 years ago
errno
add hidden version of &errno accessor function
8 years ago
exit
split internal lock API out of libc.h, creating lock.h
8 years ago
fcntl
remove spurious inclusion of libc.h for LFS64 ABI aliases
8 years ago
fenv
add riscv64 architecture support
7 years ago
include
make FILE a complete type for pre-C11 standard profiles
7 years ago
internal
do not use _Noreturn for a function pointer in dynamic linker
7 years ago
ipc
reduce spurious inclusion of libc.h
8 years ago
ldso
add riscv64 architecture support
7 years ago
legacy
remove spurious inclusion of libc.h for LFS64 ABI aliases
8 years ago
linux
cap getdents length argument to INT_MAX
7 years ago
locale
locale: ensure dcngettext() preserves errno
7 years ago
malloc
split internal lock API out of libc.h, creating lock.h
8 years ago
math
add riscv64 architecture support
7 years ago
misc
add namespace-safe version of getauxval for internal use
8 years ago
mman
support archs with no mlock syscall, only mlock2
7 years ago
mq
use restrict everywhere it's required by c99 and/or posix 2008
14 years ago
multibyte
reduce spurious inclusion of libc.h
8 years ago
network
handle labels with 8-bit byte values in dn_skipname
7 years ago
passwd
fix format strings for uid/gid values in putpwent/putgrent
7 years ago
prng
split internal lock API out of libc.h, creating lock.h
8 years ago
process
fix deadlock in synccall after threaded fork
7 years ago
regex
allow escaped path-separator slashes in glob
8 years ago
sched
move and deduplicate declarations of __vdsosym to make it checkable
8 years ago
search
new tsearch implementation
8 years ago
select
reduce spurious inclusion of libc.h
8 years ago
setjmp
add riscv64 architecture support
7 years ago
signal
add riscv64 architecture support
7 years ago
stat
remove spurious inclusion of libc.h for LFS64 ABI aliases
8 years ago
stdio
allow fmemopen with zero size
7 years ago
stdlib
fix undefined behavior in strto* via FILE buffer pointer abuse
8 years ago
string
fix memccpy to not access buffer past given size
8 years ago
temp
remove spurious inclusion of libc.h for LFS64 ABI aliases
8 years ago
termios
reduce spurious inclusion of libc.h
8 years ago
thread
add riscv64 architecture support
7 years ago
time
always block signals for starting new threads, refactor start args
7 years ago
unistd
support archs with no renameat syscall, only renameat2
7 years ago