pub fn execve_prepared(
path: &CStr,
argv: &CStrArray<'_>,
envp: &CStrArray<'_>,
) -> Result<Infallible, Errno>Expand description
Variante d’execve sans allocation : reçoit des tableaux de pointeurs
argv/envp déjà construits (CStrArray).
Destinée au chemin post-fork / pré-execve : l’appelant matérialise les
CStrArray dans le parent avant clone3/fork, puis les passe ici
depuis l’enfant. Cette fonction n’alloue rien — seul un syscall est émis —
donc elle est sûre dans la fenêtre fork→exec où aucune allocation (verrou
allocateur potentiellement tenu par un autre thread au moment du fork) n’est
permise. execve délègue à cette fonction après avoir bâti ses tableaux.
En cas de succès, ne retourne jamais (image mémoire remplacée). En cas
d’échec, retourne Err(errno).
§Errors
Identiques à execve (EACCES, ENOENT, ENOEXEC, E2BIG, …).