CVE-2024-46791 in Linux
Riassunto
di VulDB • 14/07/2026
Nel kernel Linux, è stata risolta la seguente vulnerabilità:
can: mcp251x: corregge il deadlock se si verifica un'interruzione durante l'esecuzione di mcp251x_open
La funzione `mcp251x_hw_wake()` viene chiamata con il mutex `mpc_lock` già acquisito e disabilita la gestione delle interruzioni (interrupt handler) in modo che nessuna interruzione possa essere elaborata mentre si risveglia il dispositivo. Se un'interruzione è già avvenuta, l'attesa del completamento della gestione dell'interruzione provocherà un deadlock poiché tale gestore tenterà di acquisire lo stesso 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
Utilizzare invece `disable_irq_nosync()` poiché la gestione dell'interruzione esegue tutte le operazioni mantenendo il mutex acquisito, quindi non è rilevante se sia ancora in esecuzione.
If you want to get best quality of vulnerability data, you may have to visit VulDB.