glibc/sysdeps/unix
Adhemerval Zanella c90cfce849 posix: Fix pidfd_spawn/pidfd_spawnp leak if execve fails (BZ 31695)
If the pidfd_spawn/pidfd_spawnp helper process succeeds, but evecve
fails for some reason (either with an invalid/non-existent, memory
allocation, etc.) the resulting pidfd is never closed, nor returned
to caller (so it can call close).

Since the process creation failed, it should be up to posix_spawn to
also, close the file descriptor in this case (similar to what it
does to reap the process).

This patch also changes the waitpid with waitid (P_PIDFD) for pidfd
case, to avoid a possible pid re-use.

Checked on x86_64-linux-gnu.
Reviewed-by: Carlos O'Donell <carlos@redhat.com>
2024-06-25 12:11:48 -03:00
..
alpha Update copyright dates with scripts/update-copyrights 2024-01-01 10:53:40 -08:00
arm Update copyright dates with scripts/update-copyrights 2024-01-01 10:53:40 -08:00
bsd Update copyright dates with scripts/update-copyrights 2024-01-01 10:53:40 -08:00
i386 Update copyright dates with scripts/update-copyrights 2024-01-01 10:53:40 -08:00
inet Remove obsolete, never-implemented XSI STREAMS declarations 2019-03-14 15:44:15 +01:00
mips Update copyright dates with scripts/update-copyrights 2024-01-01 10:53:40 -08:00
powerpc Update copyright dates with scripts/update-copyrights 2024-01-01 10:53:40 -08:00
sh Update copyright dates with scripts/update-copyrights 2024-01-01 10:53:40 -08:00
sysv/linux posix: Fix pidfd_spawn/pidfd_spawnp leak if execve fails (BZ 31695) 2024-06-25 12:11:48 -03:00
x86_64 Update copyright dates with scripts/update-copyrights 2024-01-01 10:53:40 -08:00
confstr.h
get_child_max.c Update copyright dates with scripts/update-copyrights 2024-01-01 10:53:40 -08:00
getlogin_r.c Update copyright dates with scripts/update-copyrights 2024-01-01 10:53:40 -08:00
getlogin.c Update copyright dates with scripts/update-copyrights 2024-01-01 10:53:40 -08:00
getpagesize.c Update copyright dates with scripts/update-copyrights 2024-01-01 10:53:40 -08:00
grantpt.c Update copyright dates with scripts/update-copyrights 2024-01-01 10:53:40 -08:00
ifreq.c Update copyright dates with scripts/update-copyrights 2024-01-01 10:53:40 -08:00
Implies
make-syscalls.sh Add SYSCALL_ULONG_ARG_[12] to pass long to syscall [BZ #25810] 2020-04-29 05:35:34 -07:00
Makefile Update copyright dates with scripts/update-copyrights 2024-01-01 10:53:40 -08:00
setxid.h
sockatmark.c Update copyright dates with scripts/update-copyrights 2024-01-01 10:53:40 -08:00
syscall-template.S Update copyright dates with scripts/update-copyrights 2024-01-01 10:53:40 -08:00
syscall.S Update copyright dates with scripts/update-copyrights 2024-01-01 10:53:40 -08:00
syscalls.list misc: Add time64 alias for ioctl 2021-07-21 11:58:09 +02:00
sysdep.h Update copyright dates with scripts/update-copyrights 2024-01-01 10:53:40 -08:00