CVE-2026-89800
N/A
Summary
In the Linux kernel, the following vulnerability has been resolved:
drm/nouveau/uvmm: clear the dirty flag when unwinding an OP_UNMAP_SPARSE
A successful OP_UNMAP_SPARSE marks its region dirty with nouveau_uvma_region_dirty() and defers the teardown to nouveau_uvmm_bind_job_cleanup(); it does not remove the region from uvmm->region_mt.
If a later op in the job fails, the unwind path never clears reg->dirty (set in one place, cleared nowhere) and sets op->reg = NULL, so cleanup skips the teardown. The region is left in the tree with dirty set and its completion never signalled. Later binds over that range then fail permanently – -ENOENT or -EINVAL from the dirty checks, or an unkillable wait_for_completion() in bind_validate_region() – for the lifetime of the uvmm.
Clear reg->dirty when the unwind reverts the sparse unmap, restoring the region to the state it was found in.
Affected Software
| Vendor | Product | Version Range | Status |
|---|---|---|---|
| Linux | Linux | b88baab828713ce0b49b185444b2ee83bed373a8 < a129b2b875c148aba233ace8447a0c36ca3bae07 | affected |
| Linux | Linux | b88baab828713ce0b49b185444b2ee83bed373a8 < 196ce9e5e93202da097062be24e404984dbc5ac2 | affected |
| Linux | Linux | b88baab828713ce0b49b185444b2ee83bed373a8 < 1101cbfe7f342e5eaaf7444965d4f1215abdac4c | affected |
| Linux | Linux | b88baab828713ce0b49b185444b2ee83bed373a8 < c60033c172420179b7bbb3d1f843f8dc90164dc5 | affected |
| Linux | Linux | b88baab828713ce0b49b185444b2ee83bed373a8 < 38a62306c4266bcb3cd89e33c7111ee33096ebb3 | affected |
| Linux | Linux | 6.6 | affected |
| Linux | Linux | 0 < 6.6 | unaffected |
| Linux | Linux | 6.6.157 <= 6.6.* | unaffected |
| Linux | Linux | 6.12.110 <= 6.12.* | unaffected |
| Linux | Linux | 6.18.51 <= 6.18.* | unaffected |
| Linux | Linux | 7.2.5 <= 7.2.* | unaffected |
| Linux | Linux | 7.3-rc2 <= * | unaffected |
Weaknesses
References
- https://git.kernel.org/stable/c/a129b2b875c148aba233ace8447a0c36ca3bae07
- https://git.kernel.org/stable/c/196ce9e5e93202da097062be24e404984dbc5ac2
- https://git.kernel.org/stable/c/1101cbfe7f342e5eaaf7444965d4f1215abdac4c
- https://git.kernel.org/stable/c/c60033c172420179b7bbb3d1f843f8dc90164dc5
- https://git.kernel.org/stable/c/38a62306c4266bcb3cd89e33c7111ee33096ebb3
Feedback
Was this page helpful?
Glad to hear it! Please tell us how we can improve.
Sorry to hear that. Please tell us how we can improve.