CVE Catalog

CVE-2026-89800

Unknown
Published: Translated: NVD NIST

Summary

In the Linux kernel, the drm/nouveau/uvmm driver fails to clear the dirty flag when unwinding an OP_UNMAP_SPARSE operation. If a later op in the job fails, the region remains in the tree with dirty set and its completion is never signalled. Subsequent binds over that range then fail permanently with -ENOENT, -EINVAL, or an unkillable wait_for_completion() in bind_validate_region().

Risk Assessment

The organization may experience permanent unavailability of nouveau/uvmm graphics functionality after a job failure occurs. The issue persists for the lifetime of the uvmm instance, requiring a restart.

Recommendation

Update the Linux kernel to a version containing the fix that clears reg->dirty when unwinding the sparse unmap. If updating is not possible, avoid configurations that trigger uvmm job failures.

Other vulnerabilities in Linux kernel

See all
Original NVD description (English source)

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.

Vulnerability data from NVD (NIST) · CISA KEV · EPSS