- O subsistema KVM agora habilita o sincronismo de memória nativamente em todas as arquiteturas, reduzindo a complexidade do código!
- Correção no ARM64 impede que estados de permissão de memória (S1POE) vazem entre máquinas virtuais isoladas em ambientes de nuvem!
- Um erro de digitação no driver GICv5 foi corrigido, restaurando a aceleração de hardware para interrupções em sistemas virtualizados!
- O pKVM agora garante que convidados não-protegidos herdem corretamente os registros de identificação do processador hospedeiro!
- As mudanças já foram integradas ao Kernel Linux 7.0 e estarão disponíveis na versão estável para o grande público nas próximas semanas!
Linus Torvalds oficializou a integração de um conjunto estratégico de correções para o subsistema KVM (Kernel-based Virtual Machine), focando especialmente na robustez da arquitetura ARM64 e na limpeza de código legado. As mudanças, consolidadas pelo mantenedor Paolo Bonzini, corrigem falhas de segurança em virtualização protegida e padronizam recursos de gerenciamento de memória que agora tornam-se universais para todas as arquiteturas suportadas pelo Kernel Linux 7.0.
O que isso significa na prática
Para administradores de sistemas e usuários de nuvem (especialmente em instâncias ARM, como AWS Graviton), o patch traz uma camada extra de isolamento. Uma das correções impede que estados de permissão de memória (S1POE) “vazem” de uma máquina virtual para outra, o que é um passo fundamental para manter a integridade dos dados em ambientes multi-tenant. Além disso, o sistema de interrupções GICv5 teve um erro de detecção corrigido, garantindo que o hardware de virtualização seja utilizado corretamente em vez de depender de emulação de software mais lenta.
Detalhes da implementação
A atualização promove uma limpeza estrutural significativa no subsistema KVM. O recurso KVM_CAP_SYNC_MMU, que permite a sincronização automática entre a memória do hospedeiro e do convidado (essencial para funções como mmap e madvise), deixou de ser uma opção modular por arquitetura. A partir do Kernel Linux 7.0, este recurso é habilitado nativamente para todos os processadores, permitindo a remoção de dezenas de linhas de código redundante em X86, ARM, MIPS e PowerPC.
No braço técnico da arquitetura ARM64, as mudanças incluem:
| Recurso / Subsistema | Mudança Técnica | Impacto |
| S1POE (ARM64) | Ocultação do estado quando não suportado pelo host | Evita vazamento de dados entre VMs |
| GICv5 IRS | Correção na inversão da flag virt_capable | Restaura aceleração de hardware para interrupções |
| pKVM (Protected) | Alinhamento de falhas de página > 4kB | Melhora estabilidade em sistemas com páginas grandes |
| Gerenciamento MMU | Remoção do CONFIG_KVM_GENERIC_MMU_NOTIFIER | Código mais enxuto e manutenção simplificada |
Curiosidades e bastidores da discussão
Um dos pontos altos desta submissão na LKML foi a admissão franca de um erro humano no driver de interrupções GICv5. Paolo Bonzini, ao encaminhar os patches para Linus Torvalds, manteve a descrição bem-humorada do mantenedor original de ARM64, que atribuiu a inversão de uma flag de virtualização ao fato de ter sido “fat-fingered” (erro de digitação) durante a codificação inicial.
Vale lembrar que, como acompanhamos anteriormente no SempreUpdate, o Kernel Linux 7.0 também introduziu o suporte a tracefs para pKVM, permitindo que administradores monitorem a performance dessas máquinas virtuais isoladas sem comprometer a segurança.
Vale lembrar que, como acompanhamos anteriormente no SempreUpdate, o Kernel Linux 7.0 também introduziu o suporte a tracefs para pKVM, permitindo que administradores monitorem a performance dessas máquinas virtuais isoladas sem comprometer a segurança.
Quando isso chega no meu PC?
Como estes patches já foram aceitos (merged) na árvore principal de Linus Torvalds durante o ciclo de desenvolvimento da versão 7.0, a disponibilidade é imediata para quem utiliza a branch mainline (atualmente em Release Candidate). Para o usuário comum de distribuições como Ubuntu, Fedora ou Debian, o recurso chegará de forma estável assim que o Kernel Linux 7.0 for lançado oficialmente e integrado aos repositórios das distros, o que geralmente ocorre no ciclo seguinte de atualizações de cada sistema.
