CVE-2026-43345Linux内核IPA驱动存在漏洞,因IPA v5.0+版本中事件环索引寄存器定义使用了错误标识符,导致索引未被正确编程。这使得GSI通道无法发出传输完成信号,导致`gsi_channel_trans_quiesce()`永久阻塞。该问题会导致运行时挂起、系统挂起等操作无限期卡死,IPA数据路径完全不可用,形成拒绝服务风险。
该漏洞位于Linux内核的`net: ipa`驱动模块。在IPA v5.0及之后版本中,硬件寄存器布局发生变化,事件环索引字段从`CH_C_CNTXT_0`移动到了`CH_C_CNTXT_1`。然而,内核代码中的v5.0寄存器定义在`CH_C_CNTXT_1`的`fmask`数组中错误地沿用了旧标识符`ERINDEX`,而非正确的`CH_ERINDEX`。因此,驱动程序未能将事件环索引写入正确的硬件地址。当系统尝试进入运行时挂起、系统挂起或停止远程处理器时,GSI通道需要完成数据传输。由于事件环索引未配置,硬件无法产生完成中断,导致`gsi_channel_trans_quiesce()`在`wait_for_completion()`调用中无限等待,最终导致系统死锁和数据路径中断。