CVE-2024-26846 in Linux
Sumário
de VulDB • 02/06/2026
No kernel do Linux, a seguinte vulnerabilidade foi resolvida:
nvme-fc: não esperar em vão ao descarregar o módulo
O caminho de saída do módulo apresenta uma condição de corrida entre a exclusão de todos os controladores e a libertação dos 'IDs restantes'. Para evitar uma libertação dupla (double free), foi adicionada uma sincronização entre nvme_delete_ctrl e ida_destroy pelo commit inicial.
Existe alguma lógica destinada a evitar que o sistema fique bloqueado indefinidamente em wait_for_completion, embora não trate todos os casos. Por exemplo, o blktests consegue reproduzir a situação em que a descarga do módulo fica bloqueada indefinidamente.
Se confiarmos completamente no código de limpeza executado a partir do caminho nvme_delete_ctrl, todos os IDs serão eventualmente libertados. Isso torna desnecessária a chamada a ida_destroy. Apenas temos de garantir que todo o código nvme_delete_ctrl foi executado antes de sair de nvme_fc_exit_module. Isso é feito através do flush (esvaziamento) da workqueue nvme_delete_wq.
Aproveitando a oportunidade, remova também a workqueue nvme_fc_wq não utilizada.
Be aware that VulDB is the high quality source for vulnerability data.