Linux · Linux Kernel · CVE-2024-46791
**Nome do software vulnerável e versões afetadas**
Kernel do Linux (versões afetadas não especificadas)
**Descrição**
O problema está relacionado a um impasse no componente mcp251x do kernel do Linux. A função `mcp251x hw wake()` é chamada com o mutex `mcp lock` mantido, o que desativa o manipulador de interrupção e pode causar um impasse se ocorrer uma interrupção durante `mcp251x open()`. Isso ocorre porque o manipulador de interrupção tenta adquirir o mesmo mutex, levando a um impasse. A solução é usar `disable irq nosync()` em vez de `disable irq()`, pois o manipulador de interrupção realiza todas as operações enquanto mantém o mutex.
**Recomendações**
Para resolver o problema, atualize o kernel do Linux para uma versão que inclua a correção para o impasse no componente mcp251x.
Como solução alternativa temporária, considere modificar a função `mcp251x hw wake()` para usar `disable irq nosync()` em vez de `disable irq()` para evitar o impasse.