pidfd for a thread or CLONE_VM child never reports exit
I maintainer di solito rispondono entro 3 giorni
Nessuno ha ancora preso questa issue.
Valutazione
- Difficoltà
- 4/5
- Tempo stimato
- 3-5 giorni
- Idoneità per principianti
- 35/100
- Tipo di issue
- Bug
- Chiarezza
- Specificata chiaramente
- Stato di attività
- Attiva
- Stack tecnologico
- c
- Ambito
- operating-systems
Direzione di ricerca
Start in src/runtime/forkipc.c, where a VM child's vm_exit_status is published, and find the thread exit path, then check where proc_pidfd_notify_exit is called. Trace how pidfd_set_target binds a pidfd to its task so an exit recorded before that bind is not lost. Done means a pidfd for a thread or CLONE_VM child becomes readable on exit, and an early exit is still reported.
Scritto dal modello di indicizzazione a partire dal testo della issue.
Descrizione
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.
- Lingua principale
- C
- Stelle
- 273
- Fork
- 29
- Merge medio
- 2g 10h
- PR unite (30g)
- 17
Preparare l'ambiente
- Nessun Dockerfile né file Docker Compose
- Nessun modello di pull request
- Leggi la guida per i contributori
Come iniziare
- Leggi tutta la issue e poi la guida ai contributi del progetto.
- Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
- Fai un fork del repository e lavora su un branch.
- Apri una pull request che faccia riferimento al numero della issue.
Altre issue di sysprog21/elfuse
-
bug
Difficoltà 2/5 1-3 ore Idoneità per principianti 72/100
I maintainer di solito rispondono entro 3 giorni
-
bug
Difficoltà 2/5 1-3 ore Idoneità per principianti 75/100
I maintainer di solito rispondono entro 3 giorni
-
Difficoltà 4/5 3-5 giorni Idoneità per principianti 30/100
I maintainer di solito rispondono entro 3 giorni
-
Difficoltà 4/5 3-5 giorni Idoneità per principianti 35/100
I maintainer di solito rispondono entro 3 giorni
-
Difficoltà 3/5 Mezza giornata Idoneità per principianti 62/100
I maintainer di solito rispondono entro 3 giorni
Tutte le issue di sysprog21/elfuse
Issue simili
-
Weekly fuzz run failedAperta
Difficoltà 2/5 1-3 ore Idoneità per principianti 78/100
kubernetes-sigs/security-profiles-operator#3597 ·
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 1/5 Meno di un'ora Idoneità per principianti 72/100
AFLplusplus/AFLplusplus#2903 ·
-
Clean up stale and inaccurate comments in the platform screen and input filesForse già presa @RichStephens l’ha presa oggi. Aperta
Difficoltà 2/5 Mezza giornata Idoneità per principianti 88/100
FujiNetWIFI/fujinet-config#289 ·
I maintainer di solito rispondono entro 1 giorno
-
[raylib] update to 6.2Apertacategory:port-update
Difficoltà 2/5 1-3 ore Idoneità per principianti 70/100
I maintainer di solito rispondono entro 2 giorni
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 90/100
nasa/cFS-GroundSystem#272 ·