CVE-2026-31439Linux内核中的Xilinx XDMA驱动程序存在错误处理缺陷。`devm_regmap_init_mmio`在失败时返回ERR_PTR,但代码检查NULL。这导致错误处理失效,可能引发系统崩溃。
该漏洞位于Linux内核的Xilinx XDMA驱动中。在设备初始化阶段,`devm_regmap_init_mmio`函数用于建立内存映射寄存器。当该函数因资源不足等原因失败时,返回值为`ERR_PTR(-errno)`(即一个负数的指针表示),而不是NULL。原代码使用`if (!xdev->regmap)`进行判断,导致错误被忽略,初始化流程继续进行。随后,当驱动程序尝试使用这个无效指针访问寄存器时,会触发空指针解引用或非法内存访问,导致内核崩溃。修复方法是将判断条件改为`IS_ERR(xdev->regmap)`,并正确使用`PTR_ERR()`获取错误码。