Pular para o conteúdo
Notícias e tutoriais sobre Linux
Kernel Linux

Faxina no sysfs: correção no kernel Linux evita vazamento em drivers térmicos Intel

Arrumando a casa: correção no driver térmico da Intel evita sujeira no kernel Linux!

linux correcao driver termico intel sysfs

Linus Torvalds integrou hoje (18 de fevereiro de 2026) uma correção pontual, mas importante, enviada por Rafael Wysocki para o subsistema de gerenciamento térmico do kernel. O patch resolve um problema no driver Intel int340x, especificamente no tratamento de falhas durante a inicialização de reguladores de voltagem.

O bug, identificado pelo desenvolvedor Kaushlendra Kumar, causava um “vazamento” de grupos no sysfs (a interface do sistema de arquivos virtual do kernel) quando o registro de um componente falhava, deixando para trás estruturas de diretórios órfãs que deveriam ter sido removidas.

Para o iniciante: quem esqueceu a louça na mesa?

Para entender esse erro, imagine que o driver do kernel é um garçom arrumando uma mesa de jantar (o sistema). Ele tem duas tarefas em sequência:

  1. Colocar os pratos (Configurar o FIVR).
  2. Colocar os copos (Configurar o DLVR).

No código antigo, o garçom colocava os pratos com sucesso. Mas, se ao tentar colocar os copos ele tropeçasse e quebrasse tudo (erro de registro), ele entrava em pânico e saía correndo da sala, deixando os pratos lá na mesa para sempre, ocupando espaço inutilmente.

A correção ensina “bons modos” ao garçom: se ele não conseguir colocar os copos, ele deve recolher os pratos que já tinha colocado antes de ir embora, deixando a mesa limpa como encontrou. Em termos técnicos, isso evita que o sistema fique “sujo” com configurações parciais que não funcionam.

Detalhes técnicos da correção

A falha estava localizada no arquivo drivers/thermal/intel/int340x_thermal/processor_thermal_rfim.c, dentro da função proc_thermal_rfim_add.

Este driver lida com dois recursos de gerenciamento de energia e térmica dos processadores Intel modernos:

  • FIVR: Fully Integrated Voltage Regulator.
  • DLVR: Digital Linear Voltage Regulator.

O código original tentava criar o grupo sysfs para o DLVR logo após ter criado o do FIVR. Se a chamada sysfs_create_group para o DLVR falhasse (retornando um código de erro), a função retornava imediatamente. Isso deixava o grupo do FIVR, que foi criado linhas antes, registrado no sistema sem um caminho de saída limpo.

O patch introduz uma verificação no caminho de erro:

C
if (ret) {
    if (proc_priv->mmio_feature_mask & PROC_THERMAL_FEATURE_FIVR)
        sysfs_remove_group(&pdev->dev.kobj, &fivr_attribute_group);
    return ret;
}

Agora, se o DLVR falhar, o kernel verifica se o FIVR estava ativo e o remove explicitamente antes de abortar a operação.

Curiosidades e bastidores da discussão

Este tipo de bug é muito comum em programação em C, onde o gerenciamento de recursos é manual. Em linguagens de alto nível, “destrutores” automáticos resolveriam isso, mas no kernel, o desenvolvedor precisa lembrar de desfazer cada passo anterior em caso de erro (o famoso padrão goto error_handling).

O patch faz parte da preparação para o Linux 7.0-rc1, indicando que a comunidade está polindo drivers existentes para garantir estabilidade na próxima grande versão do kernel. Embora o impacto não seja catastrófico (não é um vazamento de memória RAM massivo), vazamentos de objetos no sysfs podem confundir ferramentas de monitoramento de espaço de usuário e impedir que o driver seja recarregado corretamente.

Status de lançamento

O patch fa2827e foi mesclado na árvore principal (master) em 18 de fevereiro de 2026.

  • Status atual: Integrado ao kernel principal.
  • Disponibilidade: Estará presente na versão final do Linux 7.0 e provavelmente será portado para versões estáveis anteriores que contenham este driver (backport).
  • Hardware afetado: Laptops e dispositivos embarcados utilizando processadores Intel com suporte a int340x thermal (geralmente gerações mais recentes com gerenciamento avançado de voltagem).
QUEM ESCREVE
Emanuel Negromonte

Sobre o autor

Emanuel Negromonte é Jornalista, Mestre em Tecnologia da Informação e atualmente cursa a segunda graduação em Engenharia de Software. Com 14 anos de experiência escrevendo sobre GNU/Linux, Software Livre e Código Aberto, dedica-se a descomplicar o universo tecnológico para entusiastas e profissionais. Seu foco é em notícias, tutoriais e análises aprofundadas, promovendo o conhecimento e a liberdade digital no Brasil.