JVNDB-2026-032023 | |
LinuxのLinux Kernelにおけるリソースのロックに関する脆弱性 | |
| 概要 | |
Linuxカーネルにおいて、以下の脆弱性が修正されました。gpio: eic-sprd: irq起動パスでraw_spinlock_tを使用するsprd_eic_irq_unmask()はGPIO IRQを有効化し、その後sprd_eic_update()を通じてコントローラーの状態を更新します。sprd_eic_update()はspin_lock_irqsave()でsprd_eic->lockを取得します。このコールバックは、要求されたIRQを設定する際のirq_startup()から呼び出されることがあります。このパスはスリープ不可ですが、PREEMPT_RT環境下では通常のspinlock_tがスリープ可能なロックになるという問題があります。この問題は静的解析ツールによって検出され、その後、現在のツリーに対して手動でレビューが行われました。PoCはrequest_threaded_irq() -> __setup_irq() -> irq_startup() -> sprd_eic_irq_unmask() -> sprd_eic_update()という経路を維持し、元のspin_lock_irqsave(&sprd_eic->lock)でのロック取得を利用しました。Lockdepは以下のようなエラーを報告しました。 BUG: sleeping function called from invalid context hardirqs last disabled at ... __setup_irq.constprop.0 ... [vuln_msv] sprd_rt_spin_lock_irqsave+0x1c/0x30 [vuln_msv] sprd_eic_update.constprop.0+0x48/0x90 [vuln_msv] sprd_eic_irq_unmask.constprop.0+0x35/0x50 [vuln_msv] __setup_irq.constprop.0+0xd/0x30 [vuln_msv] Spreadtrum EICコントローラのロックをraw_spinlock_tに変換しました。ロックされたセクションはMMIOレジスタの更新のみを直列化しており、スリープ可能な操作を含まないため、irqchipコールバックではスリープ不可の状態を維持することが適切です。 | |
| CVSS による深刻度 (CVSS とは?) | |
|
CVSS v3 による深刻度
基本値: 5.5 (警告) [NVD値]
| |
| 影響を受けるシステム | |
|
| |
Linux | |
|
| |
| 想定される影響 | |
・当該ソフトウェアが扱う情報について、外部への漏えいは発生しません。 | |
| 対策 | |
リリース情報、またはパッチ情報が公開されています。参考情報を参照して適切な対策を実施してください。 | |
| ベンダ情報 | |
|
| |
| CWEによる脆弱性タイプ一覧 CWEとは? | |
| |
| 共通脆弱性識別子(CVE) CVEとは? | |
|
| |
| 参考情報 | |
| |
| 更新履歴 | |
|
| 公表日 | 2026/07/25 |
| 登録日 | 2026/09/04 |
| 最終更新日 | 2026/09/04 |



