{"id":"CVE-2026-89800","published":"2026-09-16T11:16:44.877","lastModified":"2026-09-16T11:16:44.877","description":"In the Linux kernel, the following vulnerability has been resolved:\n\ndrm/nouveau/uvmm: clear the dirty flag when unwinding an OP_UNMAP_SPARSE\n\nA successful OP_UNMAP_SPARSE marks its region dirty with\nnouveau_uvma_region_dirty() and defers the teardown to\nnouveau_uvmm_bind_job_cleanup(); it does not remove the region from\nuvmm->region_mt.\n\nIf a later op in the job fails, the unwind path never clears reg->dirty\n(set in one place, cleared nowhere) and sets op->reg = NULL, so cleanup\nskips the teardown. The region is left in the tree with dirty set and its\ncompletion never signalled. Later binds over that range then fail\npermanently -- -ENOENT or -EINVAL from the dirty checks, or an unkillable\nwait_for_completion() in bind_validate_region() -- for the lifetime of\nthe uvmm.\n\nClear reg->dirty when the unwind reverts the sparse unmap, restoring the\nregion to the state it was found in.","cvssScore":null,"cvssSeverity":null,"cvssVector":null,"cwes":[],"vendors":[],"products":[],"references":[{"url":"https://git.kernel.org/stable/c/1101cbfe7f342e5eaaf7444965d4f1215abdac4c","tags":[]},{"url":"https://git.kernel.org/stable/c/196ce9e5e93202da097062be24e404984dbc5ac2","tags":[]},{"url":"https://git.kernel.org/stable/c/38a62306c4266bcb3cd89e33c7111ee33096ebb3","tags":[]},{"url":"https://git.kernel.org/stable/c/a129b2b875c148aba233ace8447a0c36ca3bae07","tags":[]},{"url":"https://git.kernel.org/stable/c/c60033c172420179b7bbb3d1f843f8dc90164dc5","tags":[]}],"exploitRefs":[],"hasPoc":false,"ai":null}