A versão 6.19 do kernel Linux habilitou o suporte a extensões C da Microsoft no Git principal e o kernel é unificado durante a compilação-extensões-fmsopção de compilação que abre a porta para o uso desta extensão não padrão. A mudança foi incorporada sem objeções por Linus Torvalds, marcando a conclusão oficial de trabalhos já tentados diversas vezes.

As chamadas extensões Microsoft C são um conjunto de recursos de linguagem C/C++ não padrão que GCC e LLVM/Clang suportam opcionalmente em tempo de compilação. Eles recebem o nome de terem sido originalmente usados em arquivos de cabeçalho da Microsoft e são suportados pelo compilador Microsoft Visual C/C++. Essas extensões permitem o uso de certos métodos de escrita fora da especificação C padrão no código, tornando-o mais conveniente ao portar ou reutilizar algumas definições de interface e estrutura no ecossistema Microsoft.
O foco da habilitação de extensões Microsoft C no Linux 6.19 desta vez é permitir a incorporação anônima de estruturas/uniões rotuladas dentro de uma estrutura ou união, simplificando assim o acesso enquanto mantém as informações de tipo. Os desenvolvedores acreditam que esta forma de escrever pode tornar o código do kernel mais "bonito" e mais fácil de manter até certo ponto, mas tentativas anteriores de habilitar extensões -fms globalmente não conseguiram avançar para a linha principal.
Esta opção está atualmente na árvore principal do kernel e está sendo testada em alguns subsistemas, com o código do sistema de arquivos Btrfs sendo um dos primeiros a adotá-la. O exemplo oficial de conversão do Btrfs mostra como usar esta extensão para reconstruir a definição da estrutura para tornar o acesso ao campo mais direto, mantendo a semântica original inalterada, fornecendo um modelo de referência para o acompanhamento de mais subsistemas.
Mais detalhes técnicos e ajustes de código sobre esta mudança podem ser visualizados neste envio de mesclagem do Kbuild. O envio correspondente foi tornado público no repositório de código-fonte do kernel para que os desenvolvedores revisem:
https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=2ddcf4962c1834a14340a1f50afafc3276c015bd
Como o Linux 6.19 também introduz melhorias em outros aspectos, como agendamento, desempenho de criptografia e gerenciamento de energia, esta mudança na extensão da linguagem C se tornará um novo ponto de partida na evolução da capacidade de manutenção e estilo de codificação do kernel.