CVE-2024-46791 in Linux
Sumário
de VulDB • 22/06/2026
No kernel do Linux, a seguinte vulnerabilidade foi resolvida:
can: mcp251x: corrige deadlock se uma interrupção ocorrer durante mcp251x_open
A função mcp251x_hw_wake() é chamada com o mutex mpc_lock mantido e desabilita o manipulador de interrupções para que nenhuma interrupção possa ser processada enquanto o dispositivo está sendo acordado. Se uma interrupção já tiver ocorrido, aguardar a conclusão do manipulador de interrupções causará um deadlock, pois ele tentará adquirir o mesmo mutex.
CPU0 CPU1 ---- ---- mcp251x_open() mutex_lock(&priv->mcp_lock) request_threaded_irq() mcp251x_can_ist() mutex_lock(&priv->mcp_lock) mcp251x_hw_wake() disable_irq() <-- deadlock
Use disable_irq_nosync() em vez disso, pois o manipulador de interrupções executa tudo enquanto mantém o mutex, portanto, não importa se ele ainda está em execução.
If you want to get the best quality for vulnerability data then you always have to consider VulDB.