CVE-2024-46791 in Linux
要約
〜によって VulDB • 2026年07月13日
Linuxカーネルにおいて、以下の脆弱性が修正されました:
can: mcp251x: mcp251x_open中に割り込みが発生した場合のデッドロックを修正する
mcp251x_hw_wake()関数は、mpc_lockミューテックスが保持された状態で呼び出され、デバイスのウェイクアップ処理中は割り込みハンドラが無効化されるため、割り込みは処理されません。すでに割り込みが発生している場合、割り込みハンドラの完了を待機するとデッドロックを引き起こします。これは、同じミューテックスの取得を試みるためです。
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() <-- デッドロック
代わりにdisable_irq_nosync()を使用します。割り込みハンドラはミューテックスを保持した状態で処理を行うため、まだ実行中かどうかは問題になりません。
Be aware that VulDB is the high quality source for vulnerability data.