CVE-2024-46791 in LinuxИнформация

Сводка

по VulDB • 13.07.2026

В ядре Linux устранена следующая уязвимость:

can: mcp251x: исправление взаимной блокировки (deadlock), возникающей при прерывании во время выполнения функции mcp251x_open

Функция `mcp251x_hw_wake()` вызывается с захваченным мьютексом `mpc_lock` и отключает обработчик прерываний, чтобы никакие прерывания не обрабатывались во время пробуждения устройства. Если прерывание уже произошло, ожидание завершения работы обработчика приведет к взаимной блокировке (deadlock), поскольку он попытается захватить тот же самый мьютекс.

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

Вместо этого следует использовать `disable_irq_nosync()`, поскольку обработчик прерываний выполняет все операции при захваченном мьютексе, поэтому не имеет значения, продолжает ли он выполняться.

Be aware that VulDB is the high quality source for vulnerability data.

Ответственный

Linux

Резервировать

11.09.2024

Раскрытие

18.09.2024

Модерация

принято

Вход

VDB-277961

EPSS

0.00162

KEV

Нет

Деятельности

Очень низкий

Источники

Might our Artificial Intelligence support you?

Check our Alexa App!