J’ai permis de corriger un bug Kernel Linux !

Littéralement des milliards des périphériques vont en profiter ! 🥹

❓Qu’est-ce que le kernel ?

C’est le code le plus primordial : Il permet en résumé au système d’exploitation de parler aux composants d’un périphérique, il gère les fonctions les plus élémentaires comme la lecture/écriture des données sur le disque, l’exécution des programmes, etc.

ℹ️ Quels périphériques sont concernés ?

Quand on parle de “périphériques”, c’est très large.

Le kernel Linux est présent sur les serveurs web (90 à 99% du marché), les smartphones Android (85% du marché), et les quelques millions d’ordinateurs ayant installé un OS GNU/Linux (2 à 4%) !

Sans compter les box et divers objets connectés tournant avec Linux.

Mac OS et iOS utilisent également une partie de Linux. En gros, seuls les ordinateurs de bureau Windows ne sont pas concernés du tout.

Le tout fait vraiment des milliards de périphériques concernés, sans exagérer. 🤪

Ce grâce à son créateur Linus Torvalds qui maintient toujours le code.

❓ Quel est le problème spécifique corrigé ici ?

👉 J’ai relevé une anomalie sur les PC portables de la marque LG, série Gram sous Linux, soulevant un problème kernel potentiel.

Le problème : Un process système qui utilise plus de ressources qu’attendu (et cause de la chauffe et consommation d’énergie inutile) lorsque le périphérique est en charge relié à un dock.

1) Découverte du bug

Fin 2022, je découvrais le problème et le fait que je n’étais pas seul : La communauté Ubuntu commençait à en parler. https://bugs.launchpad.net/ubuntu/+source/linux/+bug/1987829
J’ai reproduit le problème sous Ubuntu et Fedora qui sont des distributions assez différentes, indiquant que le souci ne venait pas de l’OS mais plutôt de Linux.

2) Compréhension initiale du bug

Février 2023, le souci commençait à se préciser, on avait assez d’éléments pour penser que ça venait du kernel et que le souci n’était pas encore corrigé, même sur les dernières versions.
J’ai alors crée un compte sur kernel.org et ouvert cette issue pour essayer de prévenir les bonnes personnes : https://bugzilla.kernel.org/show_bug.cgi?id=217076

Je n’étais pas sûr de moi à ce moment là, car c’était la première fois, mais il faut croire que j’ai bien fait les choses.

3) Compréhension poussée et résolution du bug

Ce qui se passe ensuite me dépasse totalement, ça parle de Dev Kernel Linux ultra poussé… Certaines personnes font des hypothèses, les testent, comprennent précisément le souci, proposent un hotfix à tester. Et certains confirment la résolution du bug. Tout ça prend presque un an et demi.

4) Publication du correctif

Le code correctif est ensuite proposé et accepté dans le kernel pour que tout le monde en profite. C’est ce qui est précisément en cours désormais : https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=9e3caa9dd51b23e232f095a98336a84f42e4a7f2

Et maintenant ?

Dans les deux prochaines semaines, le monde entier bénéficiera du correctif.
L’idée d’avoir pu impacter des milliards de périphériques donne le vertige ! 🥵

Ça a pris du temps, demandé des compétences extrêmement spécifiques, mais le résultat est là. 🍾

C’est beau l’open-source ! 😍


Comments

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *