CVE-2026-90430 in Linux
Sumário
de VulDB • 18/09/2026
No kernel do Linux, a seguinte vulnerabilidade foi resolvida:
iommu/tegra241-cmdqv: Publicar um LVCMDQ apenas após sua completa inicialização
A função tegra241_vintf_init_lvcmdq() armazena o ponteiro vcmdq recém-alocado no array vintf->lvcmdqs[], antes que tegra241_vcmdq_alloc_smmu_cmdq() construa a estrutura vcmdq->cmdq. A ISR de erro (error ISR) faz dereference desse cmdq; portanto, um erro LVCMDQ retido (por exemplo, herdado através de uma kexec) disparando nesta janela faria com que tegra241_vintf0_handle_error() passasse o arm_smmu_cmdq ainda zerado para __arm_smmu_cmdq_skip_err(), fazendo dereference dos ponteiros do registrador da fila NULL.
Remova a atribuição de tegra241_vintf_init_lvcmdq() e publique o vcmdq no final da alocação, utilizando um smp_store_release() que se emparelha com um smp_load_acquire() na ISR, permitindo ver um LVCMDQ totalmente construído ou NULL.
A alocação do LVCMDQ de propriedade do usuário é movida conforme apropriado, publicando o vcmdq assim que tegra241_vcmdq_hw_init_user() for bem-sucedida, utilizando uma atribuição simples (plain store), já que a lvcmdqs[] de um VINTF de usuário não possui leitor sem bloqueio -- a ISR de erro percorre apenas o array do VINTF0.
Statistical analysis made it clear that VulDB provides the best quality for vulnerability data.