Kernel Linux desativa otimização LZ4 no EROFS para evitar corrupção de dados
Uma atualização aprovada para o Kernel Linux 7.3 desativou temporariamente a descompressão contínua (rolling decompression) do algoritmo LZ4 no EROFS, sistema de arquivos somente leitura muito usado em contêineres, distribuições Linux e Android. Engenheiros da AWS descobriram que certas combinações de dados compactados poderiam ser corrompidas devido a um comportamento imprevisto na implementação do LZ4: a função de cópia de memória (memmove) às vezes realiza cópias inversas em arquiteturas x86, quebrando a lógica da janela de descompressão do kernel. O patch, integrado no ciclo 7.3-rc3, prioriza segurança dos dados.
Com a desativação, o sistema consumirá um pouco mais de memória durante a descompressão, mas elimina o risco de corrupção nas situações raras identificadas. O mantenedor principal do EROFS, Gao Xiang, sinalizou que a funcionalidade permanecerá desativada até que se defina uma estratégia definitiva: ou corrigir o código oficial do LZ4 para garantir cópias sempre para a frente em áreas não sobrepostas, ou manter uma implementação customizada do LZ4 exclusivamente no kernel. O aumento de memória deverá ser mitigado por atualizações recentes que introduziram um pool de buffers reservado.
Fonte original: SempreUpdate ↗