[Remoção] Suporte a TCP ULP para SMC é descartado por falhas críticas; mudança deve refletir no Linux 6.20

[Remoção] Suporte a TCP ULP para SMC é descartado por falhas críticas; mudança deve refletir no Linux 6.20

O desenvolvedor D. Wythe (Alibaba) enviou um patch de emergência para a árvore net-next revogando o suporte a TCP ULP (Upper Layer Protocol) para o protocolo SMC (Shared Memory Communications). A mudança ocorre no auge do ciclo do Linux 6.19-rc8 e visa proteger a estabilidade do sistema contra um design de código considerado perigoso.

A decisão de remover o recurso foi motivada por um alerta de Al Viro. O veterano do kernel identificou que a implementação tentava converter sockets TCP em SMC modificando estruturas do VFS (Virtual File System) “em pleno voo”, o que viola as regras de imutabilidade do kernel e cria riscos reais de corrupção de memória.

O que isso significa na prática:

Imagine que o kernel tentou criar um “atalho” para acelerar conexões de rede antigas sem mudar o código dos apps. O problema é que esse atalho era como tentar trocar os pneus de um carro a 100km/h: o risco de o sistema “capotar” (travar) era alto demais. Os mantenedores decidiram que é melhor remover essa funcionalidade instável agora do que lidar com travamentos aleatórios em servidores de alta performance no futuro.

Detalhes da Implementação

A falha técnica reside no subsistema net/smc. O patch original tentava converter um socket TCP ativo em um socket SMC alterando os campos struct file, dentry e inode diretamente.

Por que a reversão é necessária?

O “revert” remove cerca de 90 linhas de código complexo que tentavam fazer esse malabarismo entre sockets, voltando para uma implementação mais conservadora e segura.

Quando isso chega no meu PC?

Com o Linux 6.19 prestes a ser lançado (estamos no rc8), este patch está posicionado para a próxima grande janela:

  • Ciclo de Integração: O patch está na net-next. Se não for incluído como um “salvamento de última hora” no 6.19, ele será um dos primeiros commits do Linux 6.20.
  • Lançamento Estável: Esperado para Abril de 2026.
  • Nas Distros: Usuários de Arch Linux e Fedora (versão 44) devem ver essa limpeza em seus kernels logo no segundo trimestre de 2026.