Um patch do kernel com defeito quebrou o Ubuntu no mês passado e pode acontecer novamente!

Uma falha que pode resultar em outros problemas

Muitas pessoas passaram por problemas com um patch do kernel do Ubuntu, no início do mês passado. Esse problema tornou inutilizáveis ??muitos sistemas, executando o Docker nesse tipo de sistema operacional, e provavelmente não será a última vez.

Todo o desastre pode ser rastreado até uma atualização de kernel específica da distribuição ruim para o Ubuntu 20.04, um lançamento de suporte de longo prazo (LTS) da Canonical, que começou a ser lançado em 8 de junho.

Patch do kernel quebra Ubuntu

A fonte do problema foi rapidamente isolada em sistemas Ubuntu executando o Docker com a pilha de habilitação de hardware (HWE) habilitada. Como o nome sugere, o HWE adiciona suporte para hardware mais recente enviando kernels atualizados.

Embora a ativação seja geralmente um processo manual para sistemas de servidor, é um recurso padrão em muitas imagens do Ubuntu disponíveis na nuvem. Para isso, vários usuários relataram que imagens de VM na AWS, GCP, Azure e Oracle foram afetadas. O HWE também geralmente é ativado por padrão para novas instalações de desktop.

O próprio bug desencadeou um kernel panic sempre que um contêiner do Docker foi iniciado. Alguns usuários até relataram que a atualização resultou em um bootloop, e a única cura foi reverter para um kernel de trabalho anterior durante a inicialização.

Para piorar a situação, o serviço de atualizações autônomas do Ubuntu, que é responsável por manter os sistemas corrigidos e geralmente livres de problemas, tornou essa atualização específica do kernel mais difícil de evitar.

A falha resultou de um problema com /proc/self/map_filesos sistemas de arquivos do ambiente de contêiner overlayfsshiftfsque o patch do kernel pretendia corrigir. Um kernel revisado foi lançado alguns dias depois pelo Ubuntu abordando o problema.

O impacto desse patch malfeito é difícil de avaliar, mas o Ubuntu 20.04 continua sendo uma escolha popular para ambientes de produção, graças à sua vida útil de suporte relativamente longa.

Novos problemas podem surgir no futuro?

O Ubuntu até 21.04 incluiu outro sistema de arquivos relacionado a contêiner, aufs, em seus kernels Linux específicos de distribuição; esse código do sistema de arquivos nunca foi mesclado no kernel da linha principal e foi mantido fora da árvore.

Quando os desenvolvedores do Ubuntu chegaram a fazer backport do shiftfspatch relacionado ao Ubuntu 20.04, devido a uma cadeia de eventos, parte do código do patch foi descartado porque dependia de aufsque não estivesse presente durante o processo de backport – mas aufsestava de fato no kernel 5.13 usado pelo Ubuntu 20.04 HWE.

Devido a isso, e mudanças em como overlayfsfuncionava internamente, uma referência à memória já free()’d em uma estrutura de dados do kernel seria liberada, provocando um pânico. Isso aconteceria sempre que um contêiner do Docker fosse ativado.

De acordo com Webb, esse conflito foi detectado quase imediatamente e corrigido na fonte do kernel 5.15 do Ubuntu. Mas por razões que não são claras, o kernel 5.13 no Ubuntu 20.04 HWE foi esquecido e continuaria travando. 

Esse problema específico já foi resolvido, e qualquer pessoa que tenha retornado apenas agora para encontrar suas VMs ou bootlooping de implantações de servidor deve reverter para um kernel anterior e atualizar seus sistemas.

Infelizmente, gremlins como esses podem ser difíceis de evitar, dada a vida útil dos lançamentos LTS da Canonical, o que levou os desenvolvedores a fazer malabarismos com vários ramos do kernel simultaneamente. O Webb aponta que é improvável que a situação fique mais fácil para os desenvolvedores do kernel do Ubuntu e pode se tornar mais difícil em pouco tempo.

Share This Article
Follow:
Jardeson é Mestre em Tecnologia Agroalimentar e Licenciado em Ciências Agrária pela Universidade Federal da Paraíba. Entusiasta no mundo tecnológico, gosta de arquitetura e design gráfico. Economia, tecnologia e atualidade são focos de suas leituras diárias. Acredita que seu dia pode ser salvo por um vídeo engraçado.
Sair da versão mobile