Die Linux-Kernel-Version 6.19 hat die Unterstützung von Microsoft C-Erweiterungen im Mainline-Git aktiviert und der Kernel wird während der Erstellung vereinheitlicht-fms-ErweiterungenKompilierungsoption, die die Tür zur Verwendung dieser nicht standardmäßigen Erweiterung öffnet. Die Änderung wurde von Linus Torvalds ohne Einwände übernommen und markierte den offiziellen Abschluss der bereits mehrfach versuchten Arbeiten.

Bei den sogenannten Microsoft C-Erweiterungen handelt es sich um eine Reihe nicht standardmäßiger C/C++-Sprachfunktionen, die GCC und LLVM/Clang optional zur Kompilierungszeit unterstützen. Sie sind nach ihrer ursprünglichen Verwendung in Microsoft-Headerdateien benannt und werden vom Microsoft Visual C/C++-Compiler unterstützt. Diese Erweiterungen ermöglichen die Verwendung bestimmter Schreibmethoden außerhalb der Standard-C-Spezifikation im Code, was die Portierung oder Wiederverwendung einiger Schnittstellen- und Strukturdefinitionen im Microsoft-Ökosystem erleichtert.
Der Schwerpunkt der Aktivierung von Microsoft C-Erweiterungen in Linux 6.19 liegt diesmal darauf, die anonyme Einbettung von gekennzeichneten Strukturen/Unions innerhalb einer Struktur oder Union zu ermöglichen und so den Zugriff zu vereinfachen und gleichzeitig die Typinformationen beizubehalten. Entwickler glauben, dass diese Art des Schreibens den Kernel-Code „hübscher“ und bis zu einem gewissen Grad einfacher zu warten machen kann, aber frühere Versuche, -fms-extensions global zu aktivieren, scheiterten daran, in die Hauptzeile vorzudringen.
Diese Option befindet sich derzeit im Hauptkernelbaum und wird in einigen Subsystemen getestet, wobei der Btrfs-Dateisystemcode einer der ersten Anwender ist. Das offizielle Btrfs-Konvertierungsbeispiel zeigt, wie diese Erweiterung zur Rekonstruktion der Strukturdefinition verwendet wird, um den Feldzugriff direkter zu gestalten und gleichzeitig die ursprüngliche Semantik unverändert zu lassen, wodurch eine Referenzvorlage für die Nachverfolgung weiterer Subsysteme bereitgestellt wird.
Weitere technische Details und Codeanpassungen zu dieser Änderung können in dieser Kbuild-Merge-Einreichung eingesehen werden. Die entsprechende Einreichung wurde im Kernel-Quellcode-Repository veröffentlicht, damit Entwickler sie überprüfen können:
https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=2ddcf4962c1834a14340a1f50afafc3276c015bd
Da Linux 6.19 auch Verbesserungen in anderen Aspekten wie Planung, Verschlüsselungsleistung und Energieverwaltung einführt, wird diese Änderung an der C-Spracherweiterung ein neuer Ausgangspunkt für die Entwicklung der Kernel-Wartbarkeit und des Codierungsstils sein.