Page Table Check do Google irá evitar corrupção de memória do Linux

Proposto recentemente por causa de um problema que causa vazamento de memória, o Page Table Check do Google irá evitar corrupção de memória do Linux.

Na semana passada, os engenheiros do Google descobriram um problema de estouro de contagem de referência que afetava todos os kernels do Linux desde a v4.14 em 2017.

Esse problema levou ao vazamento de memória de um processo para outro e foi descoberto apenas por acidente.

Agora, para lidar com essa classe de problemas de corrupção de memória no futuro, o Google está propondo um novo recurso de “Verificação da Tabela da Página” no futuro.

Page Table Check do Google irá evitar corrupção de memória do Linux

Page Table Check do Google irá evitar corrupção de memória do Linux
Page Table Check do Google irá evitar corrupção de memória do Linux

Sim. O Page Table Check do Google irá evitar corrupção de memória do Linux. Esse problema de contagem de referência de página quebrada que levou ao vazamento de memória na v4.14 + foi mescladopara Linux 5.16 e agora voltando às séries estáveis ​​anteriores que ainda são mantidas.

Também houve outros problemas de contagem de referência recentemente corrigidos por várias partes.

A esperança é que este recurso do kernel de Verificação de Tabela de Página seja capaz de prevenir esta classe de problemas de corrupção de memória no kernel no futuro – isso equivale a verificar no momento da inserção das entradas da tabela de página que não há compartilhamento ilegal.

O recurso de verificação da tabela de páginas verificará se há compartilhamento ilegal quando as páginas forem inseridas/removidas para que não haja compartilhamento ilegal decorrente de mapeamento duplo.

Se a corrupção for detectada, o kernel irá travar. Além disso, essa verificação extra causa algumas implicações de desempenho, bem como sobrecarga de memória extra.

Devido aos custos de desempenho / memória da Verificação da Tabela de Página proposta, ela estaria desativada por padrão.

A ativação exigiria compilar com a opção de compilação PAGE_TABLE_CHECK habilitada, além de inicializar o kernel com o parâmetro page_table_check=on para habilitá-lo em tempo de execução.

Mais detalhes para aqueles interessados ​​neste trabalho que está atualmente em análise como uma “solicitação de comentários” podem ser encontrados na lista de discussão do kernel.

Como parte de uma série de patch separada, também foi enviado na terça-feira um conjunto de páginas de hardening page _refcount pelos mesmos engenheiros do Google envolvidos com a esperança de melhorar a depuração em torno do código de contagem de referência e reduzir os problemas em torno dele, como corrupção de memória.

Sobre o Edivaldo Brito

Edivaldo Brito é analista de sistemas, gestor de TI, blogueiro e também um grande fã de sistemas operacionais, banco de dados, software livre, redes, programação, dispositivos móveis e tudo mais que envolve tecnologia.

Deixe um comentário

Esse site utiliza o Akismet para reduzir spam. Aprenda como seus dados de comentários são processados.