Linux · Linux Kernel · CVE-2024-26726
**Nome do software vulnerável e versões afetadas**
Versões do kernel Linux anteriores à 6.8.0-rc2+
**Descrição**
O problema ocorre quando o kernel Linux não consegue gravar o cache de espaço livre em uma instância e, em seguida, tenta gravá-lo novamente. Na segunda tentativa, ele chama `btrfs get extent()` no inode para obter o mapeamento de extensão, mas como se trata de um novo grupo de blocos e o inode de espaço livre sempre pesquisa a raiz de commit para evitar um impasse com a árvore, ele não encontra nada e retorna um `EXTENT MAP HOLE` para o intervalo solicitado. Isso ocorre porque, na primeira vez que o kernel tenta gravar o cache de espaço, ele encontra um erro e descarta o mapeamento de extensão, o que é normal para arquivos comuns, mas não para o inode do cache de espaço livre, onde se espera que o mapa de extensão esteja sempre correto. Como resultado, na segunda tentativa, o kernel acaba com um mapa de extensão incorreto.
**Recomendações**
Para resolver esse problema, aplique o patch que ignora o descarte do intervalo do mapa de extensão para o intervalo com falha ao gravar o cache de espaço livre. Esse patch já está implementado na versão 6.8.0-rc2+, portanto, atualizar para essa versão ou posterior corrigirá o problema. Para versões anteriores à 6.8.0-rc2+, as etapas específicas para aplicar o patch podem variar dependendo da distribuição e da configuração do kernel do Linux. Recomenda-se consultar a documentação da distribuição ou os canais de suporte para obter orientações sobre como aplicar o patch.
No momento, não há informações sobre outras versões que contenham um