7508Fermer7510
Lionel DebrouxLe 01/06/2019 à 09:29
C'est un fait qu'on casse le plug and play si on fait une image de kernel non modulaire trop restreinte, et aussi que les kernels non modulaires ne permettent pas plusieurs cas d'utilisation populaires, que ce soit la virtualisation avec VMware ou VirtualBox, l'utilisation des drivers graphiques propriétaires habituels - j'aurais dû le mentionner explicitement smile
Cependant, pour le plug&play spécifiquement... est-ce que l'introduction de nouveaux devices est si fréquente que ça, pour la plupart des utilisateurs ? D'autant que sur les plate-formes mobiles / facilement transportables, les façons d'ajouter de nouveaux devices sont plus limitées que sur des desktops et workstations: presque toujours USB ou Thunderbolt, maintenant.

Si, dans l'image du kernel, on ajoutait en tant que built-ins:
* la gestion core USB (dont hubs) et Thunderbolt;
* la gestion des principales classes standard: pour USB, MSD (08:06:50, parfois 08:05:50) et dépendances, HID (mouse & keyboard, principalement, 03:0x:0x), CDC (02 ou 0a, je ne sais plus) pour divers devices et le partage de connexion, MTP / PTP pour les smartphones et appareils photo, DFU si certains devices exposant DFU ont absolument besoin de drivers kernel, pourquoi pas les SC (0b), etc.;
* quelques dizaines de drivers kernel pour des devices populaires en classe vendor-specific qui ont des drivers kernel, je pense notamment aux nombreux adaptateurs USB/série-parallèle basés sur FTDI232, CP2102 et PL230x
on réduirait de façon significative la casse de plug&play, tout en limitant la surface d'attaque. Les plus gros problèmes de sécurité sont la plupart du temps posés par les drivers rarement utilisés.

Sur toute machine donnée, le nombre de modules réellement utilisés n'est qu'une petite fraction de tous les modules compilés par les distros, et même les modules qui sont chargés au cours de l'utilisation de la machine ne sont pas tous utiles. Actuellement, sur la machine depuis laquelle j'écris - et certainement sur toutes ses copines - je vois que des drivers raid et filesystem sans intérêt sont chargés: aucun système RAID et aucun tel filesystem ne sont présents.