You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
pidfd for a thread or CLONE_VM child never reports exit #441
A pidfd that clone or clone3 makes with CLONE_PIDFD for a thread or a CLONE_VM child never becomes readable. No monitor runs for a task with no host pid, and neither the thread exit path nor the site that publishes a VM child's vm_exit_status (src/runtime/forkipc.c) calls proc_pidfd_notify_exit. A guest that polls the pidfd for the child's exit waits forever, where Linux reports POLLIN.
A fix would notify at both exit sites, and record an exit that lands before pidfd_set_target, since the child can finish before the parent binds the pidfd to it.
Raised in review of #421, where clone(CLONE_VM|CLONE_PIDFD) became able to make such a pidfd; before it only clone3 could.
Activity