JVNDB-2026-024991 | |
LinuxのLinux Kernelにおける不特定の脆弱性 | |
| 概要 | |
Linuxカーネルにおいて、以下の脆弱性が修正されました。slimbus: qcom-ngd-ctrlにおいて、tx_lockおよびctrl->lockのABBAロック回避方法に関する問題がありました。SSR/PDRのダウン通知時に、tx_lockはアクティブなDMA転送と同期を取るために取得されます。しかし、この期間中にqcom_slim_ngd_down()が呼び出され、その中でslim_report_absent()が実行されてslim_controllerロックが取得されます。複数の他のコードパスでは、これら2つのロックは逆の順序(つまり、slim_controllerロックの後にtx_lock)で取得されています。その結果、lockdepのエラー(スプラット)が発生し、デッドロックの可能性が生じていました。rprocctl/449は以下のロックを取得しようとしています: ffff00009793e620 (&ctrl->lock){+.+.}-{4:4}、実行箇所は slim_report_absent (drivers/slimbus/core.c:322) です。しかし、タスクは既に以下のロックを保持しています: ffff00009793fb50 (&ctrl->tx_lock){+.+.}-{4:4}、実行箇所は qcom_slim_ngd_ssr_pdr_notify (drivers/slimbus/qcom-ngd-ctrl.c:1475) です。このロックは新しいロックに依存しています。危険なロック取得シナリオの例: CPU0 CPU1 ---- ---- lock(&ctrl->tx_lock); lock(&ctrl->lock); lock(&ctrl->lock); lock(&ctrl->tx_lock);コメントの前提としては、進行中のDMA送信トランザクションがある間にqcom_slim_ngd_exit_dma()を呼び出さないことを意図しています。しかし、このようなトランザクションはすべて単一のqcom_slim_ngd_xfer_msg()内で開始され完了します。qcom_slim_ngd_exit_dma()が呼び出される前に、slim_controllerは解体され、すべての子デバイスにslimbusが消えたことが通知され、その後子デバイスは削除されます。デッドロックを回避するために、qcom_slim_ngd_ssr_pdr_notify()内でtx_lockを取得する処理を停止します。 | |
| CVSS による深刻度 (CVSS とは?) | |
|
CVSS v3 による深刻度
基本値: 5.5 (警告) [NVD値]
| |
| 影響を受けるシステム | |
|
| |
Linux | |
|
| |
| 想定される影響 | |
・当該ソフトウェアが扱う情報について、外部への漏えいは発生しません。 | |
| 対策 | |
リリース情報、またはパッチ情報が公開されています。参考情報を参照して適切な対策を実施してください。 | |
| ベンダ情報 | |
|
| |
| CWEによる脆弱性タイプ一覧 CWEとは? | |
| |
| 共通脆弱性識別子(CVE) CVEとは? | |
|
| |
| 参考情報 | |
| |
| 更新履歴 | |
|
| 公表日 | 2026/07/01 |
| 登録日 | 2026/07/24 |
| 最終更新日 | 2026/07/24 |



