Provided by: manpages-fr-dev_4.21.0-2_all bug

NOM

       ioctl_userfaultfd  -  Créer  un descripteur de fichier pour gérer les erreurs de pagination dans l'espace
       utilisateur

BIBLIOTHÈQUE

       Bibliothèque C standard (libc, -lc)

SYNOPSIS

       #include <linux/userfaultfd.h>  /* Définition des constantes UFFD* */
       #include <sys/ioctl.h>

       int ioctl(int fd, int cmd, ...);

DESCRIPTION

       Diverses opérations ioctl(2) peuvent être effectuées sur un  objet  userfaultfd  (créé  par  un  appel  à
       userfaultfd(2)) en utilisant des appels sous la forme :

           ioctl(fd, cmd, argp);
       Dans ce qui précède, fd est un descripteur de fichier se rapportant à un objet userfaultfd, cmd étant une
       des commandes ci-dessous et argp étant un pointeur vers une structure de données spécifique à cmd.

       Les opérations ioctl(2) sont décrites ci-dessous. Celles UFFDIO_API, UFFDIO_REGISTER et UFFDIO_UNREGISTER
       sont  utilisées pour configurer le comportement de userfaultfd. Ces opérations permettent à l'appelant de
       choisir les fonctionnalités qui seront activées et le type  d'événement  transmis  à  l'application.  Ces
       opérations permettent à l'application appelante de résoudre des événements de problèmes de pages.

   UFFDIO_API
       (Depuis Linux 4.3). Activer l'opération de userfaultfd et effectuer la poignée de main de l'API.

       Le paramètre argp est un pointeur vers une structure uffdio_api, définie en tant que :

           struct uffdio_api {
               __u64 api;        /* Version de l'API demandée (entrée) */
               __u64 features;   /* Fonctionnalités demandées (entrée/sortie) */
               __u64 ioctls;     /* Opérations ioctl() disponibles (sortie) */
           };

       Le champ api reflète la version de l'API demandée par l'application.

       Le  noyau  vérifie  qu'il peut gérer la version de l'API demandée et il positionne les champs features et
       ioctls à des masques de bit représentant toutes les fonctions  disponibles  et  les  opérations  ioctl(2)
       génériques disponibles.

       Avant  Linux 4.11,  le  champ  features  doit  être  initialisé  à zéro avant l'appel UFFDIO_API, et zéro
       (c'est-à-dire pas de bit de fonctionnalité) est mis dans le champ features  par  le  noyau  à  partir  du
       retour de ioctl(2).

       À  partir de Linux 4.11, le champ features peut être utilisé pour demander si des fonctions particulières
       sont prises en charge et pour activer  explicitement  des  fonctionnalités  userfaultfd  désactivées  par
       défaut. Le noyau signale toujours toutes les fonctions disponibles dans le champ features.

       Pour  activer  les  fonctionnalités  userfaultfd,  l'application  doit positionner un bit correspondant à
       chaque fonction qu'il veut activer dans le champ features. Si le noyau gère  toutes  les  fonctionnalités
       demandées,  il  les  activera. Sinon, il mettra zéro dans la structure uffdio_api renvoyée et il renverra
       EINVAL.

       Les bits fonctionnels suivants peuvent être positionnés :

       UFFD_FEATURE_EVENT_FORK (depuis Linux 4.11)
              Quand cette fonctionnalité est activée, les objets userfaultfd associés à un processus parent sont
              dupliqués dans un processus enfant lors d'un fork(2) et un événement  UFFD_EVENT_FORK  est  généré
              sur le moniteur du userfaultfd

       UFFD_FEATURE_EVENT_REMAP (depuis Linux 4.11)
              Si  cette  fonctionnalité  est  activée,  quand le processus fautif appelle mremap(2), le moniteur
              userfaultfd recevra un événement de type UFFD_EVENT_REMAP.

       UFFD_FEATURE_EVENT_REMOVE (depuis Linux 4.11)
              Si cette fonctionnalité est ativée, quand le processus fautif appelle madvise(2) avec les  valeurs
              MADV_DONTNEED  ou  MADV_REMOVE pour libérer une zone de mémoire virtuelle, le moniteur userfaultfd
              recevra un événement de type UFFD_EVENT_REMOVE.

       UFFD_FEATURE_EVENT_UNMAP (depuis Linux 4.11)
              Si cette fonctionnalité est activée, quand le processus fautif  désassocie  la  mémoire  virtuelle
              explicitement  avec  munmap(2),  ou implicitement lors d'un mmap(2) ou d'un mremap(2), le moniteur
              userfaultfd recevra un événement de type UFFD_EVENT_UNMAP.

       UFFD_FEATURE_MISSING_HUGETLBFS (depuis Linux 4.11)
              Si ce bit fonctionnel est positionné, le noyau gère l'enregistrement des  plages  userfaultfd  par
              défaut dans les zones hugetlbfs de mémoire virtuelle

       UFFD_FEATURE_MISSING_SHMEM (depuis Linux 4.11)
              Si  ce  bit  fonctionnel  est  positionné,  le  noyau  prend  en charge l'enregistrement de plages
              userfaultfd dans les zones de mémoire partagées. Cela comprend toutes les APIs de mémoire partagée
              du noyau : la mémoire partagée System V, tmpfs(5), les tableaux  partagés  de  /dev/zero,  mmap(2)
              avec l'attribut MAP_SHARED positionné, memfd_create(2) et ainsi de suite.

       UFFD_FEATURE_SIGBUS (depuis Linux 4.14)
              Si  ce  bit fonctionnel est positionné, aucun événement d'erreur de page (UFFD_EVENT_PAGEFAULT) ne
              sera généré. Un signal SIGBUS sera  plutôt  envoyé  au  processus  fautif.  Les  applications  qui
              utilisent  cette  fonctionnalité  n'exigeront pas qu'on utilise un moniteur userfaultfd pour gérer
              les accès mémoire aux régions enregistrées avec userfaultfd.

       UFFD_FEATURE_THREAD_ID (depuis Linux 4.14)
              Si ce bit de fonctionnalité  est  positionné,  uffd_msg.pagefault.feat.ptid  sera  positionné  sur
              l'identifiant du thread fautif pour chaque message d'erreur de pagination.

       UFFD_FEATURE_MINOR_HUGETLBFS (depuis Linux 5.13)
              Si  ce  bit  fonctionnel  est positionné, le noyau gère l'enregistrement des plages userfaultfd en
              mode mineur dans les zones hugetlbfs-backed de mémoire.

       UFFD_FEATURE_MINOR_SHMEM (depuis Linux 5.14)
              Si ce bit fonctionnel est positionné, le noyau gère l'enregistrement  des  plages  userfaultfd  en
              mode mineur dans les zones shmem-backed de mémoire.

       Le champ ioctls renvoyé peut contenir les bits suivants :

       1 << _UFFDIO_API
              L'opération UFFDIO_API est prise en charge.

       1 << _UFFDIO_REGISTER
              L'opération UFFDIO_REGISTER est prise en charge.

       1 << _UFFDIO_UNREGISTER
              L'opération UFFDIO_UNREGISTER est prise en charge.

       Cette  opération  ioctl(2)  renvoie  0  en  cas  de  succès. En cas d'erreur, -1 est renvoyé et errno est
       positionné pour indiquer l'erreur. Parmi les erreurs possibles :

       EFAULT argp renvoie à une adresse en dehors de l'espace d'adressage accessible du processus appelant.

       EINVAL Le userfaultfd a déjà été activé par une précédente opération UFFDIO_API.

       EINVAL La version de l'API demandée dans le champ api n'est pas prise en charge par ce noyau ou le  champ
              features passé au noyau comprend des bits non gérés par la version actuelle du noyau.

   UFFDIO_REGISTER
       (Depuis  Linux 4.3). Enregistrer une plage d'adresse mémoire avec l'objet userfaultfd. Les pages de cette
       plage doivent être « compatibles ».  Veuillez  vous  reporter  à  la  liste  des  modes  d'enregistrement
       ci-dessous pour les dorsales de mémoire compatibles avec chaque mode.

       Le paramètre argp est un pointeur vers une structure uffdio_register, définie en tant que :

           struct uffdio_range {
               __u64 start;    /* Début de la plage */
               __u64 len;      /* Longueur de la plage (octets) */
           };

           struct uffdio_register {
               struct uffdio_range range;
               __u64 mode;     /* Mode désiré de l'opération (entrée) */
               __u64 ioctls;   /* Opérations ioctl() disponibles (sortie) */
           };

       Le champ range définit une plage de mémoire commençant à start et s'étendant sur len octets qui doit être
       gérée par userfaultfd.

       Le  champ  mode  définit  le  mode d'opération désiré pour cette région de mémoire. Les valeurs suivantes
       peuvent être mises en bits et liées pour positionner le mode userfaultfd pour la plage indiquée :

       UFFDIO_REGISTER_MODE_MISSING
              Suivre les erreurs de pagination sur les pages absentes.  Depuis  Linux  4.3,  seules  les  plages
              anonymes  privées sont compatibles. Depuis Linux 4.11, les plages hugetlbfs et de mémoire partagée
              sont également compatibles.

       UFFDIO_REGISTER_MODE_WP
              Suivre les erreurs de pagination sur les pages protégées en écriture. Depuis Linux 5.7, seules les
              plages anonymes et privées sont compatibles.

       UFFDIO_REGISTER_MODE_MINOR
              Suivre les petites erreurs de pagination. Depuis Linux 5.13,  seules  les  plages  hugetlbfs  sont
              compatibles. Depuis Linux 5.14, la compatibilité avec les plages shmem a été ajoutée.

       Si  l'opération  réussit,  le noyau modifie le champ du masque de bit ioctls pour indiquer les opérations
       ioctl(2) disponibles sur la plage indiquée. Ce masque de bit renvoyé peut contenir les bits suivants :

       1 << _UFFDIO_COPY
              L'opération UFFDIO_COPY est prise en charge.

       1 << _UFFDIO_WAKE
              L'opération UFFDIO_WAKE est prise en charge.

       1 << _UFFDIO_WRITEPROTECT
              L'opération UFFDIO_WRITEPROTECT

       1 << _UFFDIO_ZEROPAGE
              L'opération UFFDIO_ZEROPAGE est prise en charge.

       1 << _UFFDIO_CONTINUE
              L'opération UFFDIO_CONTINUE est prise en charge.

       Cette opération ioctl(2) renvoie 0 en cas de succès. En  cas  d'erreur,  -1  est  renvoyé  et  errno  est
       positionné pour indiquer l'erreur. Parmi les erreurs possibles :

       EBUSY  Un tableau de la plage indiquée est enregistré avec un autre objet userfaultfd.

       EFAULT argp renvoie à une adresse en dehors de l'espace d'adressage accessible du processus appelant.

       EINVAL Un  bit  non  valable  ou  non  pris en charge a été indiqué dans le champ mode ; ou le champ mode
              valait zéro.

       EINVAL Il n'y a pas de tableau dans la plage d'adresse indiquée.

       EINVAL range.start ou range.len n'est pas un multiple de la taille de la page du système ;  ou  range.len
              vaut zéro ; ou ces champs ne sont pas valables pour d'autres raisons.

       EINVAL Un tableau incompatible est présent dans la plage d'adresse indiquée.

   UFFDIO_UNREGISTER
       (Depuis  Linux  4.3).  Désenregistre une plage d'adresse mémoire de userfaultfd. Les pages de cette plage
       doivent être « compatibles » (voir la description de UFFDIO_REGISTER).

       La plage d'adresse à désenregistrer est indiquée dans la  structure  uffdio_range  vers  laquelle  pointe
       argp.

       Cette  opération  ioctl(2)  renvoie  0  en  cas  de  succès. En cas d'erreur, -1 est renvoyé et errno est
       positionné pour indiquer l'erreur. Parmi les erreurs possibles :

       EINVAL Le champ start ou len de la structure ufdio_range n'était pas un multiple de la taille de la  page
              système ;  ou  bien  le champ len valait zéro ; ou ces champs n'étaient pas valables pour d'autres
              raisons.

       EINVAL Un tableau incompatible est présent dans la plage d'adresse indiquée.

       EINVAL Il n'y avait pas de tableau dans la plage d'adresse spécifiée.

   UFFDIO_COPY
       (Depuis Linux 4.3). Copier de manière atomique un bloc de mémoire continu dans la plage enregistrée  pour
       le  userfault  et réveiller éventuellement les threads bloqués. Les adresses source et cible et le nombre
       d'octets à copier sont indiqués dans les champs src, dst et len de la structure uffdio_copy vers laquelle
       pointe argp :

           struct uffdio_copy {
               __u64 dst;    /* Cible de la copie */
               __u64 src;    /* Origine de la copie */
               __u64 len;    /* Nombre d'octets à copier */
               __u64 mode;   /* Drapeaux contrôlant le comportement de la copie */
               __s64 copy;   /* Nombre d'octets copiés ou erreurs de refus */
           };

       La valeur suivante peut  être  liée  en  bits  à  mode  pour  modifier  le  comportement  de  l'opération
       UFFDIO_COPY :

       UFFDIO_COPY_MODE_DONTWAKE
              Ne pas réveiller le thread qui attend la résolution d'une erreur de page

       UFFDIO_COPY_MODE_WP
              Copier  les  pages  avec  des droits en lecture seule. Cela permet à l'utilisateur de récupérer la
              prochaine écriture sur la page qui  bloquera  et  qui  génèrera  un  autre  message  userfault  de
              protection  en  écriture. Cela n'est utilisé que lorsque les modes UFFDIO_REGISTER_MODE_MISSING et
              UFFDIO_REGISTER_MODE_WP sont activés pour la plage enregistrée.

       Le champ copy est utilisé par le noyau pour renvoyer le nombre d'octets copiés ou une erreur (une  valeur
       négative  à la façon errno). Si la valeur renvoyée dans copy ne correspond pas à celle indiquée dans len,
       l'opération échoue avec l'erreur EAGAIN. Le champ copy n'est fait que pour la sortie ; il  n'est  pas  lu
       par l'opération UFFDIO_COPY.

       Cette  opération  ioctl(2)  renvoie  0  en cas de succès. Dans ce cas, toute la zone a été copiée. En cas
       d'erreur, -1 est renvoyé et errno est positionné pour indiquer l'erreur. Parmi les erreurs possibles :

       EAGAIN Le nombre d'octets copiés (à savoir la valeur renvoyée dans le champ copy) n'est pas la  même  que
              celle indiquée dans le champ len.

       EINVAL dst  ou  len  n'était pas un multiple de la taille de la page du système ou la plage indiquée dans
              src et len ou dst et len n'était pas valable.

       EINVAL Un bit non valable a été indiqué dans le champ mode.

       ENOENT (depuis Linux 4.11)
              Le processus fautif a modifié sa structure de mémoire virtuelle en  même  temps  qu'une  opération
              UFFDIO_COPY remarquable.

       ENOSPC (de Linux 4.11 à Linux 4.13)
              Le processus fautif a quitté au moment de l'opération UFFDIO_COPY.

       ESRCH (depuis Linux 4.13)
              Le processus fautif a quitté au moment de l'opération UFFDIO_COPY.

   UFFDIO_ZEROPAGE
       (Depuis Linux 4.3). Remplit de zéros une plage mémoire enregistrée avec userfaultfd.

       La  plage  demandée  est indiquée par le champ range de la structure uffdio_zeropage vers laquelle pointe
       argp :

           struct uffdio_zeropage {
               struct uffdio_range range;
               __u64 mode;     /* Drapeaux contrôlant le comportement de la copie */
               __s64 zeropage; /* Nombre d'octets remplis de zéros ou d'erreurs de refus */
           };

       La valeur suivante peut être mise en bit et liée dans mode pour modifier le comportement  de  l'opération
       UFFDIO_ZEROPAGE :

       UFFDIO_ZEROPAGE_MODE_DONTWAKE
              Ne pas réveiller le thread qui attend la résolution d'une erreur de page.

       Le  champ  zeropage  est  utilisé  par le noyau pour renvoyer le nombre d'octets remplis de zéros, ou une
       erreur de la même manière que UFFDIO_COPY. Si la valeur renvoyée dans le champ zeropage ne correspond pas
       à celle indiquée dans range.len, l'opération échoue avec l'erreur EAGAIN. Le champ zeropage ne sert  qu'à
       la sortie ; il n'est pas lu par l'opération UFFDIO_ZEROPAGE.

       L'opération  ioctl(2)  renvoie  0 en cas de succès. Dans ce cas, toute la zone a été remplie de zéros. En
       cas d'erreur, -1 est  renvoyé  et  errno  est  positionné  pour  indiquer  l'erreur.  Parmi  les  erreurs
       possibles :

       EAGAIN Le  nombre  d'octets  remplis de zéros (c'est-à-dire la valeur renvoyée dans le champ zeropage) ne
              correspond pas à la valeur indiquée dans le champ range.len.

       EINVAL range.start ou range.len n'était pas un multiple de la taille de la page du système ; ou range.len
              était de zéro ; ou la plage indiquée n'était pas valable.

       EINVAL Un bit non valable a été indiqué dans le champ mode.

       ESRCH (depuis Linux 4.13)
              Le processus fautif a quitté au moment de l'opération UFFDIO_ZEROPAGE.

   UFFDIO_WAKE
       (Depuis Linux 4.3). Réveiller le thread qui attend la résolution  de  l'erreur  de  page  sur  une  plage
       d'adresse mémoire indiquée.

       L'opération  UFFDIO_WAKE  est  utilisée  avec  les opérations UFFDIO_COPY et UFFDIO_ZEROPAGE, dont le bit
       UFFDIO_COPY_MODE_DONTWAKE ou UFFDIO_ZEROPAGE_MODE_DONTWAKE est défini dan  le  champ  mode.  Le  moniteur
       userfault  peut  effectuer  plusieurs  opérations  UFFDIO_COPY  et  UFFDIO_ZEROPAGE automatiquement, puis
       réveiller explicitement le thread fautif en utilisant UFFDIO_WAKE.

       Le paramètre argp est un pointeur vers une structure uffdio_range (présentée ci-dessus)  qui  indique  la
       plage d'adresse.

       Cette  opération  ioctl(2)  renvoie  0  en  cas  de  succès. En cas d'erreur, -1 est renvoyé et errno est
       positionné pour indiquer l'erreur. Parmi les erreurs possibles :

       EINVAL Le champ start ou len de la structure ufdio_range n'était pas un multiple de la taille de la  page
              système ; ou len était zéro ; ou la plage indiquée n'était pas valable pour une autre raison.

   UFFDIO_WRITEPROTECT (depuis Linux 5.7)
       Verrouiller  ou  déverrouiller  en  écriture  une plage de mémoire userfaultfd enregistrée avec les accès
       UFFDIO_REGISTER_MODE_WP.

       Le paramètre argp est un pointeur vers une structure uffdio_range, comme indiqué ci-dessous :

           struct uffdio_writeprotect {
               struct uffdio_range range; /* Plage pour modifier le droit d'écriture*/
               __u64 mode;                /* Mode pour changer le droit d'écriture */
           };

       Deux bits de droit sont pris en charge dans cette structure :

       UFFDIO_WRITEPROTECT_MODE_WP
              Quand ce bit de droits est positionné, l'ioctl sera une opération  protégée  en  écriture  sur  la
              plage  mémoire  indiquée par range. Sinon, il s'agira d'une opération non protégée en écriture sur
              la plage indiquée, ce qui peut être utile pour résoudre une erreur de pagination de protection  en
              écriture userfaultfd.

       UFFDIO_WRITEPROTECT_MODE_DONTWAKE
              Quand  ce  bit  de droit est positionné, ne pas réveiller de thread qui attend la résolution d'une
              erreur   de   pagination   après   l'opération.   Cela   ne   peut    être    indiqué    que    si
              UFFDIO_WRITEPROTECT_MODE_WP n'est pas indiqué.

       Cette  opération  ioctl(2)  renvoie  0  en  cas  de  succès. En cas d'erreur, -1 est renvoyé et errno est
       positionné pour indiquer l'erreur. Parmi les erreurs possibles :

       EINVAL Le champ start ou len de la structure ufdio_range n'était pas un multiple de la taille de la  page
              système ; ou len était zéro ; ou la plage indiquée n'était pas valable pour une autre raison.

       EAGAIN Le processus a été interrompu ; réessayez cet appel.

       ENOENT La  plage  indiquée dans range n'est pas valable. Par exemple, l'adresse virtuelle n'existe pas ou
              n'est pas enregistrée en mode protection d'écriture userfaultfd.

       EFAULT Une erreur générique a été rencontrée lors du traitement.

   UFFDIO_CONTINUE
       (Depuis Linux 5.13). Résoudre une erreur de pagination mineure en  installant  des  entrées  de  tabl  de
       pagination pour les pages existantes dans le cache de page.

       Le paramètre argp est un pointeur vers une structure uffdio_continue, telle que présentée ci-dessous :

           struct uffdio_continue {
               struct uffdio_range range;
                              /* Plage pour installer les PTEs for et continue */
               __u64 mode;    /* Attributs contrôlant le comportement de continue */
               __s64 mapped;  /* Nombre d'octets projetés ou erreur refusée */0
           };

       La  valeur  suivante  peut  être  liée  en  bits  à  mode  pour  modifier  le comportement de l'opération
       UFFDIO_CONTINUE :

       UFFDIO_CONTINUE_MODE_DONTWAKE
              Ne pas réveiller le thread qui attend la résolution d'une erreur de page.

       Le champ mapped est utilisé par le noyau pour renvoyer le nombre d'octets projetés ou une  erreur  de  la
       même  manière  que  UFFDIO_COPY.  Si  la  valeur  renvoyée dans le champ mapped ne correspond pas à celle
       indiquée dans range.len, l'opération échoue avec l'erreur  EAGAIN.  Le  champ  mapped  ne  sert  qu'à  la
       sortie ; il n'est pas lu par l'opération UFFDIO_CONTINUE.

       Cette  opération  ioctl(2)  renvoie  0  en cas de succès. Dans ce cas, toute la zone a été copiée. En cas
       d'erreur, -1 est renvoyé et errno est positionné pour indiquer l'erreur. Parmi les erreurs possibles :

       EAGAIN Le nombre d'octets projetés (c'est-à-dire la valeur renvoyée dans le champ mapped)  ne  correspond
              pas à la valeur indiquée dans le champ range.len.

       EINVAL range.start ou range.len n'était pas un multiple de la taille de la page du système ; ou range.len
              était de zéro ; ou la plage indiquée n'était pas valable.

       EINVAL Un bit non valable a été indiqué dans le champ mode.

       EEXIST Une ou plusieurs pages ont déjà été projetées dans la plage donnée.

       ENOENT Le  processus  fautif  a  modifié sa structure de mémoire virtuelle en même temps qu'une opération
              UFFDIO_COTINUE remarquable.

       ENOMEM L'allocation de la mémoire nécessaire pour installer les projetctions de tables de pages a échoué.

       EFAULT Aucune page existante n'a été trouvée dans le cache de page pour la plage donnée.

       ESRCH  Le processus fautif a quitté au moment de l'opération UFFDIO_CONTINUE.

VALEUR RENVOYÉE

       Voir les descriptions des opérations individuelles ci-dessus.

ERREURS

       Voir les descriptions des opérations individuelles ci-dessus. En outre, les erreurs  générales  suivantes
       peuvent se produire pour toutes les opérations décrites ci-dessus :

       EFAULT argp pointe vers une adresse illégale.

       EINVAL (Pour toutes les opérations, sauf UFFDIO_API). L'objet userfaultfd n'a pas encore été activé (avec
              l'opération UFFDIO_API).

STANDARDS

       Ces opérations ioctl(2) sont spécifiques à Linux.

BOGUES

       Afin de détecter les fonctionnalités userfault disponibles et d'activer des sous-parties de celles-ci, le
       descripteur  de  fichier userfaultfd doit être fermé après la première opération UFFDIO_API qui recherche
       la disponibilité des fonctionnalités, puis réouvert avant la deuxième opération UFFDIO_API qui active les
       fonctionnalités désirées.

EXEMPLES

       Voir userfaultfd(2).

VOIR AUSSI

       ioctl(2), mmap(2), userfaultfd(2)

       Documentation/admin-guide/mm/userfaultfd.rst dans l'arborescence des sources du noyau Linux

TRADUCTION

       La  traduction  française   de   cette   page   de   manuel   a   été   créée   par   Christophe   Blaess
       <https://www.blaess.fr/christophe/>,   Stéphan   Rafin   <stephan.rafin@laposte.net>,   Thierry   Vignaud
       <tvignaud@mandriva.com>, François Micaux, Alain Portal  <aportal@univ-montp2.fr>,  Jean-Philippe  Guérard
       <fevrier@tigreraye.org>,   Jean-Luc   Coulon   (f5ibh)   <jean-luc.coulon@wanadoo.fr>,   Julien   Cristau
       <jcristau@debian.org>,     Thomas     Huriaux      <thomas.huriaux@gmail.com>,      Nicolas      François
       <nicolas.francois@centraliens.net>,     Florentin     Duneau    <fduneau@gmail.com>,    Simon    Paillard
       <simon.paillard@resel.enst-bretagne.fr>,    Denis    Barbier    <barbier@debian.org>,    David     Prévot
       <david@tilapin.org> et Jean-Philippe MENGUAL <jpmengual@debian.org>

       Cette  traduction  est  une  documentation libre ; veuillez vous reporter à la GNU General Public License
       version 3 concernant les conditions de copie et de distribution. Il n'y a aucune RESPONSABILITÉ LÉGALE.

       Si vous découvrez un bogue dans la traduction de cette page de manuel,  veuillez  envoyer  un  message  à
       debian-l10n-french@lists.debian.org.

Pages du manuel de Linux 6.03                   15 décembre 2022                            ioctl_userfaultfd(2)