← Retour au blog
tech 21 juin 2026

Linux élimine l'API strncpy après six ans de travail acharné

Après six ans et plus de 360 patches, Linux 7.2 dit adieu à l'API strncpy, une source persistante de bugs. Découvre pourquoi cette décision était cruciale pour la stabilité et la performance du noyau.

Article inspiré de la source originale
Linux eliminates the strncpy API after six years of work, 360 patches ↗ www.phoronix.com

Introduction

Le monde du logiciel open source est dynamique, évoluant sans cesse pour intégrer des améliorations en matière de sécurité, de performance et de simplicité. La suppression récente de l'API strncpy du noyau Linux en est une parfaite illustration. Après six années de travail intense, impliquant plus de 360 correctifs, cette API vieillissante et problématique a été définitivement écartée dans la version 7.2 du noyau.

Pourquoi strncpy était problématique

L'API strncpy a longtemps été une épine dans le pied des développeurs de Linux. Cette fonction, conçue pour copier un nombre spécifique d'octets d'une source à une destination, est connue pour ses comportements contre-intuitifs, notamment en ce qui concerne la terminaison NUL. De plus, strncpy remplit de zéros le reste de la destination après la copie, ce qui entraîne des ralentissements de performance non négligeables.

Bugs et vulnérabilités

L'implémentation de strncpy a été une source de bugs persistants. La terminaison NUL incorrecte peut conduire à des vulnérabilités de sécurité, notamment des débordements de tampon, qui peuvent être exploités par des attaquants pour exécuter du code malveillant.

La solution : des alternatives modernes

Pour remplacer strncpy, plusieurs alternatives ont été adoptées dans le noyau Linux :

  • strscpy() : Pour les destinations nécessitant une terminaison NUL.
  • strscpy_pad() : Pour les destinations avec terminaison NUL et remplissage de zéros.
  • strtomem_pad() : Pour les champs à largeur fixe sans terminaison NUL.
  • memcpy_and_pad() : Pour des copies limitées avec remplissage explicite.
  • memcpy() : Pour les copies de mémoire de longueur connue.

Ces alternatives sont plus sûres et plus performantes, éliminant les problèmes de terminaison et les coûts de performance associés à strncpy.

L'impact sur le développement du noyau

Le retrait de strncpy est une étape cruciale pour améliorer la qualité du code du noyau Linux. Cette démarche s'inscrit dans un effort plus large visant à rendre le développement du noyau plus sécurisé et plus efficace.

Chiffres et statistiques

La suppression de strncpy a nécessité environ 362 patches, affectant des milliers de lignes de code dans le noyau. Ces changements ont été diffusés sur plusieurs versions du noyau, garantissant une transition en douceur.

Conclusion

L'élimination de l'API strncpy marque une avancée significative pour Linux, renforçant la robustesse et la performance du noyau. Pour les développeurs et les entreprises qui misent sur Linux, ces améliorations sont synonymes de systèmes plus sûrs et plus fiables.

Discutons de ton projet en 15 minutes.

Linux strncpy kernel API removal software security
Newsletter Deepthix · 100% IA · chaque lundi 8h

Un agent IA lit la tech à ta place.

Notre agent IA scanne ~200 sources par semaine et te livre les meilleurs articles le lundi 8h. Gratuit. 1 clic pour se désinscrire.

Voir la page newsletter →

Tu veux automatiser tes opérations ?

Discutons de ton projet en 15 minutes.

Réserver un call