CVE-2026-31783Linux内核中的Amlogic SPIFC驱动程序存在资源管理漏洞。在`aml_sfc_probe`函数中,驱动注册了NAND ECC引擎,但在探测失败或设备移除时缺少注销代码。这导致资源未被释放,可能引发内存泄漏或拒绝服务。
该漏洞源于Linux内核`drivers/spi/spi-amlogic-spifc-a4.c`文件中的逻辑缺陷。在`aml_sfc_probe`函数执行期间,代码调用`nand_ecc_register_on_host_hw_engine`注册硬件ECC引擎。然而,如果后续步骤失败导致探测中止,或者在驱动移除时,代码并未调用`nand_ecc_unregister_on_host_hw_engine`进行清理。这种缺失导致内核内存结构泄漏。由于CVSS向量显示可用性影响为高(A:H),攻击者可通过反复触发探测失败或设备热插拔操作,耗尽内核内存资源,导致系统崩溃或拒绝服务。修复补丁引入了`devm_add_action_or_reset`机制,确保在设备生命周期结束时自动执行清理回调函数,从而解决资源泄漏问题。