CVE-2026-31556Linux内核中的XFS文件系统在执行配额检查(quota scrub)过程中存在一个资源管理漏洞。函数`xchk_quota_item`在调用错误处理辅助函数`xchk_fblock_process_error`后,如果返回失败状态,会直接触发提前返回。然而,该代码路径未释放此前获取的`dq->q_qlock`锁,导致锁泄漏。这可能在后续的配额操作中引发死锁,进而导致系统拒绝服务。
该漏洞位于Linux内核的XFS子系统中,具体涉及`fs/xfs/scrub/quota.c`文件内的`xchk_quota_item`函数。在正常流程中,函数会获取数据配额的锁`dq->q_qlock`以保护数据一致性。当`xchk_fblock_process_error`被调用并返回false时,表示处理出错需要中止。漏洞在于,此时的错误处理路径直接返回,跳过了释放锁的操作。由于锁未被释放,任何后续尝试获取同一配额锁的线程或进程都将无限期等待,形成死锁。攻击者只需具备本地低权限即可触发此逻辑,造成系统挂起或服务不可用。