The Linux Kernel Has Ancient Weird Problems
Cette vidéo analyse une série de 38 patches Linux visant à nettoyer du code historique obsolète (comme latch, clock_tick_rate et get_cycles), tout en évoquant le contexte plus large de la sécurité logicielle à l'ère de l'IA, notamment à travers le \"Project Glass Wing\".

SYNTHÈSE STRUCTURÉE
Nettoyage d’un code historique vieux de 35 ans
Le noyau Linux, avec ses 35 ans et plus de 40 millions de lignes de code, contient des parties anciennes qui n’ont pratiquement pas été modifiées depuis leur création. L’intervenant explique : “And there are parts of that code which have existed basically since the start and have also existed since the start and haven’t been touched since basically since the start.” Cette série de patches, initiée par Thomas Gleixner, cible spécifiquement ces reliques pour les supprimer ou les restructurer, réduisant ainsi la dette technique et la complexité.
La fin de latch, une constante de la version 0.1
La macro latch remonte à Linux 0.1 et était basée sur la fréquence du PIT (Programmable Interval Timer) des x86. Elle a survécu pour de “very wrong reasons”. Bien que devenue inutile après la réécriture des systèmes de temporisation et d’ordonnancement il y a plus de deux décennies, un dernier survivant dans arch/alpha/kernel/smp.c (datant de 1995) a maintenu sa nécessité jusqu’à maintenant. Sa suppression est une étape majeure de ce nettoyage.
L’obsolescence de clock_tick_rate
Introduite pour rendre le noyau flexible face à d’autres architectures que le i386, clock_tick_rate est devenue elle aussi obsolète “long ago”. L’intervenant note avec ironie qu’elle a même été copiée dans de nouvelles architectures bien après son obsolescence, “for no reason, but with comments to the effect that it’s meaningless”. Comme pour latch, sa suppression nettoie l’interface publique du noyau.
Le problème sémantique de get_cycles
Introduite en 1998 pour utiliser le TSC (Time Stamp Counter), la fonction get_cycles pose un problème de fond : son nom suggère qu’elle renvoie des cycles CPU, mais sur de nombreuses architectures (sans TSC ou avec un compteur à fréquence fixe), ce n’est pas le cas. L’intervenant estime qu’“it should have been renamed to get_bogocycles because it’s just made-up nonsense long ago”. Elle est restée un véhicule pratique pour d’autres fonctionnalités, créant une dépendance accidentelle.
Impact et enjeux des patches
Bien que touchant 146 fichiers, le changement net est limité (~600 insertions, ~800 suppressions). L’impact principal est la suppression de dépendances d’en-têtes accidentelles et le nettoyage de l’interface publique. L’intervenant souligne que “most of the feedback has pretty much just been clarifying things and fixing typos”, indiquant que le changement est bien compris et accepté. Ces patches illustrent le travail continu de maintenance pour garder le noyau cohérent malgré des décennies d’évolution.
Project Glass Wing : L’IA au service de la sécurité offensive
La vidéo fait un lien non officiel avec le “Project Glass Wing”, une initiative menée par Anthropic et d’autres géants tech. Son objectif est d’utiliser des modèles d’IA de pointe (comme Claude Mythos Preview) pour trouver des vulnérabilités critiques dans les logiciels essentiels. L’argument est qu’“AI models have reached a level of coding capability where they can surpass all but the most skilled humans at finding and exploiting software vulnerabilities”. Cela marque le début d’une nouvelle course aux armements en cybersécurité.
Exemples de vulnérabilités découvertes par l’IA
Pour illustrer la puissance de ces outils, l’intervenant cite des exemples concrets trouvés par Mythos Preview : une vulnérabilité vieille de 27 ans dans OpenBSD permettant un crash à distance, et une autre vieille de 16 ans dans FFmpeg, dans “a line of code that automated testing tools had hit five million times without ever catching the problem”. Ces découvertes démontrent la capacité de l’IA à identifier des failles qui échappent aux outils et humains depuis des décennies.
L’IA comme outil d’augmentation pour les mainteneurs
L’intervenant distingue l’usage irresponsable de l’IA (“script kiddies” amplifiés) de son utilisation par des experts. Il défend son emploi par les mainteneurs de projets : “They know what they are requesting. They know how to go and test for these vulnerabilities. They are using as a way to augment their capabilities, not necessarily to fully rely on them.” C’est, selon lui, l’un des usages les plus pertinents de cette technologie pour la défense.
CONCEPTS CLÉS
- Latch : Une constante historique du noyau Linux basée sur la fréquence du timer (PIT) des premiers x86.
- clock_tick_rate : Une variable devenue obsolète qui ajustait la temporisation pour différentes architectures.
- get_cycles() : Une fonction d’API du noyau censée retourner des cycles CPU, mais dont l’implémentation est souvent incohérente.
- TSC (Time Stamp Counter) : Un registre matériel sur les CPU x86 comptant les cycles (ou ticks à fréquence fixe) depuis le démarrage.
- Project Glass Wing : Une initiative collaborative utilisant l’IA (Anthropic) pour auditer la sécurité des logiciels critiques.
- Treewide cleanup : Une série de patches qui modifient un même point technique à travers l’ensemble de l’arborescence des sources du noyau.
CONCLUSION
Le message principal est double. D’une part, il souligne l’importance d’une maintenance proactive et courageuse du code historique, même vieux de plusieurs décennies, pour assurer la santé et la clarté du noyau Linux. D’autre part, il introduit une perspective plus large et urgente : l’avènement de l’IA capable de découvrir des vulnérabilités complexes va radicalement transformer le paysage de la sécurité informatique. Que le lien entre les patches et le Project Glass Wing soit direct ou non, la leçon est claire : la défense doit désormais évoluer au même rythme que les capacités offensives augmentées par l’IA. Comme le conclut l’intervenant, “At this point, we are not going to wish these tools away. And this is something we’re basically just going to have to deal with one way or another.” L’avenir de la sécurité logicielle repose sur la combinaison de l’expertise humaine et d’outils d’IA maîtrisés. 🔍⚙️