Linux 5.5 Released With Many Hardware Support Improvements

Written by Michael Larabel in Linux Kernel on 26 January 2020

image

Linus Torvalds has just released Linux 5.5 as stable.

While there was an uptick in patches this week and some concern the Linux 5.5 cycle may be extended due to the downtime encountered around the Christmas and New Year’s holidays, Linus did opt today to release the 5.5 kernel on schedule today rather than going for an extra release candidate.

Linux 5.5 brings many changes including Raspberry Pi 4 support, AMD Navi GPU overclocking, support for new and upcoming Intel platforms, enabling 5-level paging by default, an NVMe drive temperature driver that is convenient and better than the current user-space utilities, Chromebook Wake-On-Voice support, KUnit for in-kernel unit testing, and much more. See our Linux 5.5 feature overview to learn more about all the changes for this first big kernel release of 2020.

Looking ahead, now the Linux 5.6 merge window is open. Linux 5.6 is looking to be a spectacular release with changes ranging from adding WireGuard, initial USB4 support, networking improvements, lots of new hardware bits, and more as outlined earlier today. Linux 5.6 in turn should be out in April but too close for Ubuntu 20.04 LTS and thus this upcoming Ubuntu Linux release will almost certainly be based off a 5.5-based kernel.

Torvalds has the Linux 5.5 codename under the title of the “Kleptomaniac Octopus.” His brief release announcement can be read on lore.kernel.org.

En savoir plus …

Linux 5.5 : de la souplesse pour les livepatchs

La version 5.5 du noyau Linux fait son entrée. Elle favorise la gestion des E/S et des livepatchs, entre autres nouveautés.

Want create site? Find Free WordPress Themes and plugins.

Malgré des correctifs apportés tardivement à un pilote de réseau sans fil et au module netfilter, il n’y avait pas lieu de repousser le passage de Linux 5.5 en version stable. Ainsi en a décidé Linus Torvalds.

Certains des changements qu’apporte cette nouvelle mouture sont spécifiques à une architecture :

  • arm64 : prise en charge complète du framework de traçage Ftrace
  • MIPS : prise en charge des tests de couverture du code avec kcov
  • RISC-V : prise en charge de seccomp(), qui permet de transférer un processus vers un état de sécurité dans lequel il ne peut plus exécuter que certains appels système
  • x86 : iopl(), destiné à modifier le niveau de privilège des appels système, est désormais émulé. Conséquence : l’impossibilité d’activer et de désactiver les interruptions.

Favoriser les livepatchs

Parmi les modifications apportée au noyau, on notera :

  • Des améliorations pour le sous-système d’E/S io_uring
  1. Capacité à modifier les fichiers en cours de manipulation sans avoir à relancer l’opération
  2. Possibilité de définir des timeouts absolus
  3. Prise en charge d’accept() pour gérer les demandes de connexion en attente
  4. Commande IORING_OP_CONNECT pour permettre les appels connect() asynchrones
  5. Suppression de sysctl()
  • Du nouveau également pour clone3(), destiné à créer des processus fils partageant le même contexte d’exécution (espace d’adressage) que le processus père
  1. Suppression, dans les processus fils, de tous les gestionnaires de signaux
  2. Avec les privilèges adéquats, possibilité de choisir l’identifiant qui sera attribué au nouveau processus dans chacun des espaces de noms où il se trouvera
  • Système de suivi des livepatchs (correctifs appliqués sans redémarrage) pour en améliorer l’intercompatibilité
  • Mécanisme de « trampoline » pour accélérer les appels entre le noyau et les programmes BFS
  • Remplacement de l’algorithme d’équilibrage de charge du planificateur CPU
  • Nouveau pilote hmem. Il permet au noyau d’utiliser des zones mémoire spécifiques réservées par le firmware .

On recense également des nouveautés pour certains systèmes de fichiers :

  • Btrfs : d’une part, la prise en charge des algorithmes de somme de contrôle xxhash64, blake2B et sha256. De l’autre, la possibilité d’utiliser 3 ou 4 supports en RAID, contre 2 maximum auparavant.
  • CIFS : prise en charge du multicanal et de flock() pour ajouter des verrous consultatifs à des fichiers ouverts
  • Pour le client NFS, prise en charge des opérations de copie directe entre serveurs
  • statx() peut maintenant indiquer si un fichier est protégé avec fs-verity (introduit avec Linux 5.4)

Sur le volet sécurité, on aura relevé la prise en charge de l’algorithme de cryptographie blake2b. Et sur la partie réseau, un nouveau mécanisme d’attribution de noms alternatifs aux interfaces.