- O Recurso: Remoção do suporte TCP ULP (Upper Layer Protocol) no SMC.
- O Motivo: Falha grave de design que violava a segurança do sistema de arquivos (VFS).
- O Autor: D. Wythe (Alibaba), após report de Al Viro.
- Versão Alvo: Linux 6.19 (correção) ou 6.20 (limpeza final).
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?
| Problema | Impacto Técnico | Solução |
| Violação do VFS | Modifica estruturas que deveriam ser imutáveis. | Reverter o suporte a ULP. |
| Risco de Memória | Erros de use-after-free (UAF) iminentes. | Usar alternativas como BPF. |
| Instabilidade | Kernel Panics em cargas de rede intensas. | Limpar o código do subsistema net/smc. |
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.
