glibc/sysdeps/unix
Adhemerval Zanella 74630b1bb7 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>

(cherry picked from commit c90cfce849)
2024-06-25 13:51:16 -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
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 13:51:16 -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
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
sysdep.h Update copyright dates with scripts/update-copyrights 2024-01-01 10:53:40 -08:00