Um recurso presente no kernel Linux há mais ou menos uma década vai sumir em breve com a chegada do Linux 5.17: o CleanCache. Ele acaba de ser definido para retirada. A remoção acaba de ser mesclada no Linux-Next. Isso faz parte dos patches de Andrew Morton.
O motivo da remoção tem uma resposta simples: não existem mais usuários deste recurso. Isso ocorreu há mais de dois anos, mais precisamente em 2019 quando o ódigo do driver Xen Transcendent Memory (TMEM) acabou removido. Assim, o CleanCache não teve mais nenhum usuário, mas ainda está presente dentro do kernel.
Além disso, engenheiros da Oracle são os responsáveis pelo desenvolvimento do CleanCache há mais de dez anos. Naquela época em que foi apresentado, eles o anunciaram como “algo que é realmente muito legal, tem um enorme potencial para tornar as VMs em execução superotimizadas, com desempenho, eficiente e é o resultado de um pouco de pesquisa e experimentação.“
CleanCache do Linux vai sumir do kernel após uma década
Uma documentação do kernel dá mais detalhes sobre o CleanCache.
Cleancache é um novo recurso opcional fornecido pela camada VFS que aumenta potencialmente a eficácia do cache de página para muitas cargas de trabalho em muitos ambientes a um custo insignificante.
Cleancache pode ser considerado um cache de vítima de granularidade de página para páginas limpas que o algoritmo de substituição de pageframe (PFRA) do kernel gostaria de manter, mas não pode, pois não há memória suficiente. Portanto, quando o PFRA “despeja” uma página, ele primeiro tenta usar código cleancache para colocar os dados contidos nessa página na “memória transcendente”, memória que não é diretamente acessível ou endereçável pelo kernel e é de tamanho desconhecido e possivelmente variável com o tempo.
No entanto, agora, depois de uma década de toda propaganda da Oracle, o CleanCache deve desaparecer sem nenhum código no kernel fazendo uso dele. A expectativa é de que saia já no Linux 5.17, que deve estar pronto neste início de ano.
Patch do Linux 5.17 pode quebrar drivers antigos, porém ajuda na segurança do sistema sem Systemd
Outro patch que também existe há pelo menos uma década deve chegar ao Linux 5.17. Ele possui recursos de segurança que fazem parte do kernel do Google Chrome OS. Eles não dependem do udev do systemd. Sendo assim, surge agora a nova opção de kernel “DEVTMPFS_SAFE”. Isso irá montar DEVTMPFS com as opções noexec e nosuid por padrão. O objetivo desse devtmpfs “seguro” é evitar que a execução de código aconteça a partir de /dev ou. Além disso, também impede alguns tipos de ataques de execução de código em sistemas embarcados.
Como o udev do Systemd já tem uma proteção contra a execução de /dev, então esta mudança beneficia aqueles que ainda não usam udev/systemd. Porém, ao evitar o mapeamento do /dev/mem com a sinalização PROT_EXEC, pode quebrar drivers gráficos antigos que não suportam a configuração do modo kernel (KMS). Entretanto, quem usar o kernel Linux 5.17+ terá um driver habilitado para KMS moderno.
Do mesmo modo, Kees Cook, do Google, declarou o seguinte no patch driver-core-next:
Nenhum programa lógico deve depender da execução de /dev. Portanto, este patch reduz a superfície de ataque. Não impede nenhum ataque específico, mas reduz a possibilidade de alguém pode usar /dev como um local para colocar o código executável. O Chrome OS carrega esse patch há vários anos. Parece uma solução simples e trivial para melhorar a proteção de /dev quando CONFIG_DEVTMPFS_MOUNT = y.
Via Phoronix