Kernel Corner : Noyau 3.5 / 3.6 (Partie 2)

Magazine
Marque
GNU/Linux Magazine
Numéro
155
Mois de parution
décembre 2012
Spécialité(s)


Résumé
Nous voilà de retour dans cette seconde partie d'analyse des évolutions des noyaux 3.5 et 3.6. Un assez long développement est consacré à l'infrastructure VFIO qui comble les limitations de UIO pour le développement de drivers en espace utilisateur. La sécurité est également abordée avec l'intégration de mécanismes de protection empêchant toute exploitation de vulnérabilités ToCtToU liées à l'utilisation de liens symboliques et physiques. D'autres aspects sont aussi traités, comme l'ajout de l'infrastructure Uprobes.

1. API et ABI du noyau

1.1 VFIO – Virtual Function I/O [3.6]

1.1.1 Introduction

VFIO est une infrastructure fournissant un accès direct aux périphériques depuis l'espace utilisateur, à la condition que la plateforme matérielle dispose d'une I/OMMU (unité de remapping de région DMA et d'interruptions, permettant d'assurer un cloisonnement entre périphériques), comme Intel VT-d ou AMD-Vi que l'on retrouve sur les architectures x86, ou encore comme l'unité PAMU de certains SoC Freescale. L'objectif de VFIO est de rendre possible la programmation de pilotes de périphérique (drivers) en espace utilisateur, tout en assurant la protection du système. VFIO supplante désormais UIO, système dont l'objectif est similaire, mais qui est empreint de limitations. Notamment, l'impossibilité de gérer les accès DMA avec UIO limite le déploiement de drivers en espace utilisateur (mais également la gestion limitée des interruptions, et l'obligation de disposer des droits root pour...

Cet article est réservé aux abonnés. Il vous reste 95% à découvrir.
S'abonner à Connect
  • Accédez à tous les contenus de Connect en illimité
  • Découvrez des listes de lecture et des contenus Premium
  • Consultez les nouveaux articles en avant-première
Je m'abonne


Article rédigé par

Abonnez-vous maintenant

et profitez de tous les contenus en illimité

Je découvre les offres

Déjà abonné ? Connectez-vous