Description
In the Linux kernel, the following vulnerability has been resolved: drm/vc4: drain the hangcheck timer and works on V3D unbind Nothing stops the hangcheck timer that submitted jobs arm, or the job_done_work that the render-done interrupt queues, at teardown: vc4_irq_disable() cancels only overflow_mem_work, and vc4_gem_destroy() runs from the drm-managed release, after vc4_v3d_unbind() has already uninstalled the V3D interrupt and cleared vc4->v3d. A timer still armed by then reads V3D registers through the NULL vc4->v3d pointer, and the late callbacks run on the vc4_dev embedding them after it has been freed. Drain them in vc4_v3d_unbind(): shut the timer down and cancel reset_work before the interrupt is taken down, because its vc4_irq_reset() re-enables it, then flush job_done_work so that completions queued at teardown still release their jobs. This issue was found by an in-house static analysis tool.
Affected products
Version statuses are supplied by the assigning organization. Consult the original record for detailed ranges and platform conditions.
Linux Linux
Default version status: unaffected
d5b1a78a772f1e31a94f8babfa964152ec5e9aa5 to < 839eebfc95f8530feaa99677274912ac09b5820baffectedd5b1a78a772f1e31a94f8babfa964152ec5e9aa5 to < a1e7c7789aef551eea85de2f63989753c4fe9df6affectedd5b1a78a772f1e31a94f8babfa964152ec5e9aa5 to < 17c5fa371de2d5508755cd4cd227cc8e2bb99240affectedd5b1a78a772f1e31a94f8babfa964152ec5e9aa5 to < a046cd60ff3f4a8c8e672b3b18902682c1f91731affectedd5b1a78a772f1e31a94f8babfa964152ec5e9aa5 to < e61465d3e0292daebf4dbb34e0add635e2439569affectedd5b1a78a772f1e31a94f8babfa964152ec5e9aa5 to < ade226dfd28cf2fd1dce143c556d1ee77d953696affectedd5b1a78a772f1e31a94f8babfa964152ec5e9aa5 to < 94cf5971b1d04c6382437387c4dc3836cc7a1437affected
Linux Linux
Default version status: affected
4.5affected0 to < 4.5unaffected5.15.224 to ≤ 5.15.*unaffected6.1.191 to ≤ 6.1.*unaffected6.6.160 to ≤ 6.6.*unaffected6.12.113 to ≤ 6.12.*unaffected6.18.57 to ≤ 6.18.*unaffected7.2.11 to ≤ 7.2.*unaffected7.3 to ≤ *unaffected
References
- https://git.kernel.org/stable/c/839eebfc95f8530feaa99677274912ac09b5820b ↗
- https://git.kernel.org/stable/c/a1e7c7789aef551eea85de2f63989753c4fe9df6 ↗
- https://git.kernel.org/stable/c/17c5fa371de2d5508755cd4cd227cc8e2bb99240 ↗
- https://git.kernel.org/stable/c/a046cd60ff3f4a8c8e672b3b18902682c1f91731 ↗
- https://git.kernel.org/stable/c/e61465d3e0292daebf4dbb34e0add635e2439569 ↗
- https://git.kernel.org/stable/c/ade226dfd28cf2fd1dce143c556d1ee77d953696 ↗
- https://git.kernel.org/stable/c/94cf5971b1d04c6382437387c4dc3836cc7a1437 ↗