Skip to main content

execve_prepared

Function execve_prepared 

Source
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, …).