Pilotes binaires dans Linux: quel est le problème ?

Posté par  (site web personnel) . Modéré par Jaimé Ragnagna.
0
8
déc.
2005
Noyau
Aujourd'hui, le nombre de périphériques nécessitant des pilotes binaires dans le noyau Linux s'accroît. Du côté des cartes graphiques, NVidia a toujours livré des pilotes binaires pour Linux. ATI, qui à l'origine fournissait des pilotes libres a rejoint NVidia et livre maintenant des pilotes binaires. De nombreux chipsets Wifi ne disposent pas non plus de pilotes libres, et les utilisateurs doivent passer par ndiswrapper, une couche de compatibilité permettant d'utiliser sous Linux des pilotes prévus pour Windows.

Ces pilotes binaires posent un certain nombre de problèmes, qui ont poussé Arjan van de Ven, développeur du noyau Linux, à publier une petite fiction intitulée « Linux dans un monde binaire, une hypothétique débâcle ». Cette petite fiction, dont une traduction rapide et non-officielle est proposée dans le corps de l'article, pourrait bien devenir réalité si les pilotes binaires venaient à se généraliser. Le traducteur a ajouté des notes de bas de page à l'histoire afin de faciliter sa compréhension par des non-spécialistes.

Pour résumer, voici quelques-uns des problèmes posés par les pilotes non-libres:
  • Il est impossible de mettre à jour son noyau si le constructeur n'a pas sorti de nouvelle version de son pilote. Si le constructeur décide que le matériel ne vaut plus le coup d'être supporté, alors il n'y a tout simplement plus de pilote ;
  • Pour que les pilotes binaires fonctionnent bien, il faut une interface avec le noyau qui ne change pas. Cela est une aberration technique, car une interface gelée freinerait grandement le développement du noyau (voir ce document de Greg Kroah-Hartman) ;
  • Le fait d'utiliser des pilotes binaires implique d'avoir du code qui s'exécute en mode privilégié et qu'on ne peut pas auditer ou étudier. Il est alors impossible de savoir si ce code n'effectue rien de malveillant (l'histoire du rootkit Sony n'est pas si lointaine). Les bugs qu'il comporte peuvent entraîner des corruptions de données ou des plantages qui affecteront la totalité de la machine, et pas simplement un programme individuel. C'est d'ailleurs la raison pour laquelle les développeurs du noyau refusent aujourd'hui de corriger des « oops » signalés par un utilisateur lorsque des modules binaires sont chargés ;
  • L'utilisation de pilotes binaires, ou de pilotes Windows au travers de ndiswrapper réduit la pression sur les constructeurs pour qu'ils mettent à disposition des pilotes libres ou les spécifications de leur matériel, et réduit la pression sur les développeurs de Logiciels Libres pour qu'ils développement des pilotes compatibles et libres.
En cette époque de fin d'année et d'achats pour Noël, choisissez donc bien votre matériel !

Sortie du noyau 2.6.14

Posté par  . Modéré par Nÿco.
0
28
oct.
2005
Noyau
La version 2.6.14 du noyau vient de sortir

Au menu :
  • L'intégration de FUSE, permettant de disposer de systèmes de fichiers implémentés en espace utilisateur;
  • L'intégration de V9FS, un pilote pour le système de fichiers distribué de Plan9;
  • L'intégration de RelayFS, un pseudo-système de fichiers permettant le transfert rapide de données entre le noyau et l'espace utilisateur;
  • L'intégration du support pour DCCP, un nouveau protocole réseau, situé au même niveau qu'UDP et TCP. Il est orienté datagrammes, comme UDP, mais gère la congestion, comme TCP. Un document de l'IETF apporte de nombreuses précisions sur le sujet;
  • Un meilleur mapping des claviers USB pour Apple PowerBook;
  • Beaucoup de modifications d'usbnet qui vont ravir tous les utilisateurs de PocketPC. Maintenant, "Linux peux discuter avec divers matériel basé sur WinCE";
  • Une correction permettant d'éviter les crashs sur les systèmes NFS à forte charge (meilleur gestion des inodes);
  • On peut maintenant accéder à des Cartes CF (en PCMCIA sur ARM) lors du boot;
  • Une meilleure gestion des cartes son en USB;
  • Des mises à jour sur l'ACPI
  • Ajout du pilote HostAP et du pilote ipw2100 et ipw2200;
  • Un nettoyage du code;

On peut aussi noter la création d'un flux RSS pour suivre le développement du noyau.

Sortie du noyau Linux 2.6.13

Posté par  (site web personnel) . Modéré par Jaimé Ragnagna.
0
29
août
2005
Noyau
Linus Torvalds vient d'annoncer la sortie de la version 2.6.13 du noyau Linux qui est au coeur de toutes les distributions GNU/Linux. Le cycle de test a été particulièrement long puisqu'il n'a pas fallu moins de sept versions de déverminage (RC ou Release Candidate).

Parmi les nouveautés, on remarquera les points suivants :
  • l'inclusion de l'architecture microprocesseur Xtensa pour l'embarqué
  • Inotify qui remplace Dnotify pour surveiller en temps réel les événements concernant le système de fichiers
  • Kexec qui permet lors d'un crash système de charger un nouveau noyau et de démarrer dessus rapidement sans passer par le BIOS
  • Kdump qui facilite l'examen d'un noyau défaillant
  • l'horloge d'interruption (Timer interrupt) est désormais configurable et passe par défaut à 250 Hz au lieu de 1000 Hz pour l'architecture i386
  • CFQ, l'ordonnanceur d'entrées-sorties (IO scheduler) souvent utilisé par défaut dans les distributions, est grandement amélioré avec sa version 3 et supporte maintenant la gestion des priorités
  • les processeurs de type i386 utilisent désormais le code générique de configuration du bus PCI pour découvrir les ressources éventuelles qui n'auraient pas été configurées par le BIOS
  • etc.

NdM : merci à YodaBZH pour avoir également proposé une dépêche à ce sujet.

Bilan du sommet 2005 des développeurs du noyau Linux

Posté par  (site web personnel) . Modéré par Mouns.
Étiquettes :
0
28
juil.
2005
Noyau
Le site Linux Weekly News vient de rendre disponible son compte rendu complet du sommet 2005 des développeurs du noyau Linux qui a eu lieu les 18 et 19 juillet à Ottawa.
Cette réunion (exclusivement sur invitation) est conçue pour permettre de décider les futures orientations de Linux et pour présenter les travaux en cours. Jonathan Corbet qui dirige le site LWN a suivi de bout en bout ce sommet annuel et nous propose des articles succints sur chaque session ayant eu lieu lors de ces deux jours. En outre il a lui-même animé une session généraliste spéciale sur la feuille de route (roadmap) du noyau dont la présentation est disponible. Cela permet aux utilisateurs lambda de se faire une idée de l'orientation générale du développement du noyau Linux.

Sortie de Linux 2.6.12

Posté par  (site web personnel) . Modéré par Mouns.
Étiquettes :
1
18
juin
2005
Noyau
Près de 3 mois et demi de travail auront été nécessaire aux développeurs du libre pour nous proposer une nouvelle version stable de Linux.

Le système de développement a légèrement évolué ces derniers mois, avec notamment l'apparition d'une branche 2.6.11.x destinée à proposer des corrections de bogues ou de sécurité urgentes sans modifier le cycle de développement du 2.6.12. Ce nouveau modèle semble avoir connu un assez grand succès, puisque 11 sous-versions sont sorties, qui ont permis de corriger rapidement des failles de sécurité (.9-.11) ou des bogues importants (.8 et le SMP, par exemple). D'autre part, le passage à un logiciel libre (git) pour la gestion des sources semble s'être fait sans trop de soucis. Tout un chacun peut accéder facilement aux sources du noyau en développement en utilisant Cogito, ou bien les parcourir via une interface web.

Il y a eu beaucoup de modifications et de corrections de bogues pour ce nouveau noyau, notamment pour les plate-formes ARM, PPC, s390 et les architectures 64 bits, l'USB et la gestion des processeurs à fréquence variable (cpufreq). On notera aussi des améliorations dans UML, beaucoup de travail sur les drivers réseaux (TG3 surtout), sur DVB, le hotplug, le SerialATA, ainsi qu'un gros travail sur la documentation.

Le décompresseur du pilote pour les webcams Philips PWC a effectivement dû être retiré des sources. Les webcams Philips sont donc supportés mais de manière limitée en résolution.

NdM : la dépêche Linux Weekly News liste aussi plusieurs autres changements importants :
- l'ajout d'un pilote pour les controversées puces de sécurité TPM (présentes entre autres dans les Thinkpad d'IBM)
- le support du multipath dans le device mapper pour mieux gérer les E/S des gros serveurs de stockage
- l'introduction d'aléas dans le choix des espaces d'adresses mémoire lors des allocations, pour rendre plus difficile les attaques par buffer-overflow
- l'introduction d'une nouvelle limite de ressource (rlimit) pour accorder à certains utilisateurs le droit d'affecter des priorité "nice" négatives à leurs processus (utile par exemple pour les applications audios nécessitant de faible latences)

Changement dans la numérotation du noyau Linux

Posté par  (site web personnel) . Modéré par Florent Zara.
0
8
mar.
2005
Noyau
Depuis la sortie du noyau 2.6 de nombreuses polémiques fleurissent sur la politique de sortie des nouvelles versions.
Pour essayer de mettre un terme aux controverses Linus Torvalds vient d'annoncer un nouveau schéma de numérotation du noyau. Dorénavant celui-ci adopte une numérotation de la forme W.X.Y.Z
Les discussions de la Linux Kernel Mailing List (LKML) sont disponibles sur le site KernelTrap.

Sortie sous Creative Commons Share-Alike de Linux Device Drivers 3ème édition

Posté par  . Modéré par Jaimé Ragnagna.
Étiquettes :
0
6
mar.
2005
Noyau
O'Reilly annonce la sortie de la 3ème édition de son ouvrage de référence pour la programmation de pilotes de périphérique pour Linux, Linux Device Drivers. Cet ouvrage est édité sous licence Creative Commons Attribution & Share-Alike. Elle permet la reproduction et la redistribution de tout ou partie de l'ouvrage et de versions modifiées de celui-ci, sous réserve de mention explicite de l'origine du texte reproduit, et que la création qui en résulte soit elle-même sous cette licence.

Sortie du noyau 2.6.11

Posté par  . Modéré par Nÿco.
Étiquettes :
0
2
mar.
2005
Noyau
Ce noyau apporte une grande liste de mises à jour : pilotes ACPI, architecture DRI, pilotes ALSA, SCSI et système XFS font partie des chantiers qui devraient (encore) mieux fonctionner.

L'architecture de bus InfiniBand est prise en charge dans ce nouveau noyau : c'est apparemment une alternative au bus PCI où les données sont transmises en série et en multiplexage, au lieu d'être transmises en parallèle, ceci ne concernant pour l'instant que les serveurs « high-end » et certains PC.

Un consortium pourrait ré-écrire une partie du noyau pour éviter les risques liés aux brevets

Posté par  . Modéré par Jaimé Ragnagna.
Étiquettes :
0
19
jan.
2005
Noyau
Pour éviter le FUD de Microsoft à propos des "risques juridiques liés aux brevets", un consortium (comprenant IBM, Intel, OSDL, ...) va (sans doute) proposer de ré-écrire les parties du noyau qui sont soumises à ces "risques juridiques".

L'opération serait appelée "Operation Open Gates", et devrait être annoncée le 25 janvier.

NdM: Selon l'OSDL, ceci est une rumeur non fondée. Voir le lien Slashdot

Nouvelle faille dans les noyaux 2.4 et 2.6

Posté par  (site web personnel) . Modéré par Mouns.
0
10
jan.
2005
Noyau
Une nouvelle faille vient d'être découverte dans les noyaux 2.4 et 2.6. La fonction système uselib() (qui permet de sélectionner une bibliothèque partagée d'après son fichier binaire) contient une faille qui permet à un utilisateur mal intentionné de s'approprier les privilèges de l'utilisateur root. Cette faille n'est pas exploitable à distance, mais seulement par une personne possédant déjà un compte sur la machine.

Améliorer les performances du noyau avec un algorithme génétique

Posté par  (site web personnel) . Modéré par Florent Zara.
0
9
jan.
2005
Noyau
Jake Moilanen, un développeur travaillant chez IBM dans l'équipe qui s'occupe du noyau d'AIX, a fait parvenir aux développeurs du noyau Linux un patch plutôt original.

Ce patch propose de modifier dynamiquement les paramètres de différents éléments du noyau en fonction des performances mesurées de celui-ci. L'originalité vient du fait que les nouveaux paramètres sont obtenus grâce à un algorithme génétique, qui doit permettre, théoriquement, d'arriver aux paramètres optimaux.

À l'heure actuelle, Jake a modifié l'ordonnanceur de processus et l'ordonnanceur d'entrées/sorties pour qu'ils utilisent ce mécanisme. Il annonce des gains de performance de l'ordre de 1 à 3% avec des benchmarks classiques, mais suppose qu'un expert des ordonnanceurs pourra faire mieux.

Au delà de l'aspect "performance" pure, c'est également le défi technique relevé par ce patch qui est particulièrement intéressant !

Sortie de Linux 2.6.10 pour Noël

Posté par  (site web personnel) . Modéré par Fabien Penso.
Étiquettes :
0
26
déc.
2004
Noyau
Après 2 mois de développement et 1,5Mo de ChangeLog, Linus nous offre un nouveau noyau pour Noël.

Il s'agit principalement d'énormément de petits correctifs depuis le 2.6.10-rc3, les rc précédentes ayant chacune apporté énormément de modifications.

Par rapport au 2.6.9 on peut citer des mises à jour dans la majorité des parties du noyau : SATA, SCSI, IDE, USB, CIFS, bluetooth, ALSA, fbdev, i2c, v4l, DVB,...

Bonne compilation en ce jour ou vous n'avez rien de mieux à faire :)

985 bugs dans le noyau Linux

Posté par  (site web personnel) . Modéré par jerome.
Étiquettes :
0
17
déc.
2004
Noyau
La société Coverity a annoncé le 14 décembre que son produit SWAT (un analyseur statique de code très sophistiqué mais sous licence propriétaire) avait décelé 985 bugs sur un total de 5.7 millions de lignes de code dans le noyau Linux 2.6.9.
La majorité des bugs se trouve dans les modules des pilotes et seulement 1% dans le c½ur du noyau.
Le ratio est donc d'environ 0.17 bugs par millier de lignes ce qui, selon l'université Carnegie Mellon, est beaucoup moins que les logiciels classiques.
En effet il n'est pas rare d'observer, dans ces logiciels, un ratio de 20 à 30 bugs par millier de lignes ce qui se traduirait par un total compris entre 114.000 et 171.000 bugs sur un projet de la taille de Linux.

Voici un total récapitulatif des bugs considérés comme critiques du noyau :

* Défauts causant un crash système : 569
* Dépassement de tampon mémoire : 25
* Fuite mémoire : 33
* Problème de sécurité : 100

Deux failles de sécurité pour les noyaux Linux 2.4.x et 2.6.x

Posté par  . Modéré par Jaimé Ragnagna.
0
15
déc.
2004
Noyau
K-OTik Security nous apprend que deux vulnérabilités ont été identifiées dans le noyau Linux, elles pourraient être exploitées par un attaquant afin de causer un déni de service ou augmenter ses privilèges.

1) Le premier problème résulte d'une erreur présente au niveau du module IGMP (Internet Group Management Protocol), elle pourrait être exploitée par un utilisateur local afin d'augmenter ses privilèges (à root), ou par un attaquant distant afin de causer un déni de service [l'attaquant devra être capable d'envoyer des requêtes IGMP_HOST_MEMBERSHIP_QUERY, et les fichiers /proc/net/igmp et /proc/net/mcfilter cibles devront être non vides].

2) La seconde vulnérabilité concerne la fonction scm_send(), elle pourrait être exploitée par un utilisateur local afin de causer un Déni de Service. L'exploitation (à des fins d'élévation de privilèges) n'est pas possible sous Linux 2.4.x, la possibilité d'exploitation sous Linux 2.6.x n'a pas été confirmée/infirmée.

Aucun correctif officiel pour l'instant, donc patience.

Patch pour le support du C++ dans le noyau

Posté par  . Modéré par Pascal Terjan.
0
28
oct.
2004
Noyau
Des étudiants de l'université de Reykjavik (Islande), viennent de créer un support du C++ pour le noyau.
Désormais, il est possible d'écrire des modules pour Linux en C++ en utilisant les constructeurs et destructeurs, les exceptions et la vérification de type dynamique. (NdM : de tels modules ne fonctionneront bien sûr qu'avec un noyau compilé avec ce patch.)

Ce patch n'est disponible que pour la série 2.6.x du noyau.

NdM : le patch est basé sur le compilateur GNU g++, son implémentation des exceptions et son interface binaire (ABI). Sinon il est peu probable qu'il soit incorporé au noyau officiel. Voir « Pourquoi ne pas réécrire le noyau en C++ ? » dans le FAQ linux-kernel