CVE-2026-31765该漏洞存在于Linux内核的drm/amdgpu驱动中。由于在64KB页面系统上,硬编码的保留陷阱区域大小与实际分配的KFD_CWSR_TBA_TMA大小不匹配,导致运行rocminfo等程序时触发内核空指针解引用,造成系统崩溃和拒绝服务。
漏洞的根源在于Linux内核AMDGPU驱动中的虚拟地址(VA)预留逻辑存在设计缺陷。AMDGPU_VA_RESERVED_TRAP_SIZE被硬编码为8KB,而KFD_CWSR_TBA_TMA_SIZE动态定义为2倍系统页大小。在标准的4KB页系统中两者一致,但在64KB页系统(如POWER10架构)上,后者需要128KB空间。当本地低权限用户运行rocminfo或RCCL单元测试时,KFD(AMDGPU Kernel Fusion Driver)尝试初始化GPU虚拟内存。由于分配请求超出了预留的陷阱区域范围,导致内核访问非法内存地址(0x00000002),触发空指针解引用和互斥锁死锁,进而导致内核崩溃(Kernel Panic),造成系统拒绝服务。