In the Linux kernel, the following vulnerability has been resolved:
drm/nouveau: Fix WARN_ON in nouveau_fence_context_kill()
Nouveau is mostly designed in a way that it's expected that fences only ever get signaled through nouveau_fence_signal(). However, in at least one other place, nouveau_fence_done(), can signal fences, too. If that happens (race) a signaled fence remains in the pending list for a while, until it gets removed by nouveau_fence_update().
Should nouveau_fence_context_kill() run in the meantime, this would be a bug because the function would attempt to set an error code on an already signaled fence.
Have nouveau_fence_context_kill() check for a fence being signaled.
| Software | From | Fixed in |
|---|---|---|
| linux / linux_kernel | 5.6 | 5.10.238 |
| linux / linux_kernel | 5.11 | 5.15.182 |
| linux / linux_kernel | 5.16 | 6.1.138 |
| linux / linux_kernel | 6.2 | 6.6.90 |
| linux / linux_kernel | 6.7 | 6.12.28 |
| linux / linux_kernel | 6.13 | 6.14.6 |
| linux / linux_kernel | 6.15-rc1 | 6.15-rc1.x |
| linux / linux_kernel | 6.15-rc2 | 6.15-rc2.x |
| linux / linux_kernel | 6.15-rc3 | 6.15-rc3.x |
| linux / linux_kernel | 6.15-rc4 | 6.15-rc4.x |
| debian / debian_linux | 11.0 | 11.0.x |