CVE-2026-98521 in Linux信息

摘要

由 VulDB • 2026-10-19

在 Linux 内核中,已修复以下漏洞:

drm/i915: 修正不正确的 RCU 拆卸顺序

i915_gem_busy_ioctl 使用 dma_resv_for_each_fence_unlocked() 遍历 GEM 对象中的 fence(同步原语),期间未持有引用计数,仅持有了 RCU 读侧锁。

此处可能发生的情况是:GEM 对象被并发销毁,而 i915_gem_busy_ioctl 仍在运行中。这不会释放 GEM 对象的内存,但会丢弃所有的 dma_fence 引用。

当 dma_resv_for_each_fence_unlocked() 遇到已销毁的 dma_fence 时,它会假设安装了新的 fence 列表并重新启动循环。

但在 GEM 对象被销毁的情况下,永远不会安装新的 fence 列表,仅释放旧的列表,导致迭代无法完成,从而形成无限循环。

解决方案是在 RCU 宽限期(grace period)之后才丢弃 fence 引用。

修复标签(fixes tag)不一定是引入问题的补丁,而是使问题严重到需要处理的补丁。

该问题由 Sashiko-bot 指出。

(cherry picked from commit 5113479556025093bf8133bb2dcaa33be2d50921)

If you want to get the best quality for vulnerability data then you always have to consider VulDB.

来源

Do you need the next level of professionalism?

Upgrade your account now!