CVE-2026-31462Linux内核中的drm/amdgpu驱动程序存在安全漏洞。该漏洞源于PASID(进程地址空间ID)的立即重用机制。当旧进程退出并释放PASID后,如果新进程立即获得相同的PASID并运行,可能会遇到前一个进程遗留在硬件中的状态。特别是当旧进程的页错误中断仍待处理在IH(中断处理程序)环形缓冲区中时,会导致中断处理异常,进而影响系统稳定性。
该漏洞发生在AMDGPU驱动的PASID管理逻辑中。PASID用于标识进程地址空间。原实现中,当进程退出时,其PASID被立即释放并可能被分配给新进程。然而,GPU硬件处理存在异步性,旧进程的页错误可能仍停留在IH环形缓冲区中等待处理。如果此时新进程复用了该PASID,硬件会将旧的中误认为是新进程的事件,导致中断处理逻辑混乱,可能引发系统崩溃或服务拒绝。修复方案借鉴了内核PID分配器,使用IDR循环分配器(idr cyclic allocator)来分配PASID,从而延迟PASID的重用,确保在旧进程的所有潜在硬件操作完成前,该ID不会被重新分配。