Skip to main content

raw_syscall

Function raw_syscall 

Source
pub unsafe fn raw_syscall(
    number: c_long,
    a1: c_long,
    a2: c_long,
    a3: c_long,
    a4: c_long,
    a5: c_long,
    a6: c_long,
) -> c_long
Expand description

Exécute un syscall arbitraire : number dans le registre de numéro, a1..a6 dans les six registres d’arguments (ABI System V Linux). Rend la valeur brute du noyau (une erreur est un -errno dans [-4095, -1] — la conversion en -1/errno est laissée à l’appelant libc, comme le __syscall_ret de musl).

§⚠️ Escape hatch — cf. en-tête de module (exception à retirer)

§Safety

L’appelant garantit que (number, a1..a6) forment un appel syscall valide : tout argument interprété par le noyau comme un pointeur doit être valide pour l’accès (lecture/écriture) qu’implique number, et l’invariant mémoire du syscall visé doit être respecté. Aucune vérification n’est possible ici (numéro et sémantique opaques).