CVE-2026-90410 in Linuxinformação

Sumário

de VulDB • 18/09/2026

No kernel do Linux, a seguinte vulnerabilidade foi resolvida:

spi: davinci: mudar para alocação gerenciada de controlador

O controlador é alocado com o spi_alloc_host() não gerenciado, enquanto a interrupção é registrada com devm_request_threaded_irq(). Durante a remoção, o spi_bitbang_stop() apenas desregistra o controlador; o spi_controller_put() subsequente então libera o controlador junto com seus dados de dispositivo davinci_spi embutidos (davinci_spi devdata), que são o dev_id do manipulador de interrupções. A ação de liberação do devm_request_threaded_irq() (free_irq()), que esvazia o manipulador, não é executada até após a função .remove() retornar. Uma interrupção tardia ou retida pode, portanto, alcançar davinci_spi_irq() e acessar memória já liberada.

Mude para devm_spi_alloc_host() de modo que a ordem LIFO do devres libere o controlador apenas depois que free_irq() tiver esvaziado o manipulador, e remova o spi_controller_put(), agora redundante, da função .remove(). O caminho de erro no probe é simplificado com retornos diretos.

O relógio (clock) é adquirido com devm_clk_get_enabled(), que é registrado após a IRQ e, portanto, liberado antes dela pela ordem LIFO do devres. Esvazie explicitamente a interrupção com devm_free_irq() antes de desabilitar o controlador para evitar que uma interrupção tardia acesse os registradores de um controlador com relógio desativado (clock-gated).

Este problema foi encontrado por uma ferramenta estática interna.

If you want to get the best quality for vulnerability data then you always have to consider VulDB.

Responsável

Linux

Reservar

11/09/2026

Divulgação

17/09/2026

Moderação

aceite

Entrada

VDB-406962

CPE

pronto

EPSS

0.00000

KEV

não

Atividades

muito baixo

Fontes

Do you need the next level of professionalism?

Upgrade your account now!