CVE-2026-89801
>_ Opis
Tłumaczenie automatyczne – może zawierać nieścisłości.
W jądrze Linuksa usunięto następującą lukę:
drm/nouveau/uvmm: napraw przedwczesny region wolny w przypadku nieudanego OP_UNMAP_SPARSE
W ramieniu OP_UNMAP_SPARSE nouveau_uvmm_bind_job_submit() ustawiono op->reg
z nouveau_uvma_region_find(), która tylko przegląda region i pobiera go
brak odniesienia; Jedynym odniesieniem regionu jest jego członkostwo w
uvmm->region_mt. Dwie ścieżki błędów pozostawiają op->reg ustawione: sprawdzenie -ENOENT
gdy region jest zajęty i błąd drm_gpuvm_sm_unmap_ops_create().
Błąd rodzeństwa nouveau_uvmm_sm_unmap_prepare() tuż poniżej zostaje usunięty
op->rej; te dwa nie.
unwind_continue cofa się o jedną operację, więc operacja, która się nie powiodła, jest pomijana przez
pętla unwind, a jej op->reg pozostaje ustawiona. nouveau_uvmm_bind_job_cleanup()
następnie wchodzi do gałęzi if (op->reg) i wywołuje metodę nouveau_uvma_region_remove()
i nouveau_uvma_region_put() na nim, usuwając jedyne odniesienie do drzewa
i uwolnienie regionu, którego ta praca nigdy nie stworzyła. Komentarz powyżej
pętla czyszcząca dokumentuje uszkodzony niezmiennik: op->reg musi mieć wartość NULL
zgłosić porażkę.
Uwalnia to aktywny region w przypadku niepowiązanej awarii, osiągalnej w ramach pojedynczego zadania
kiedy drm_gpuvm_sm_unmap_ops_create() zwraca -ENOMEM; jeśli posiada inną pracę
ten sam region, jego oczyszczenie następnie usuwa i umieszcza uwolniony region, a
używać po-bezpłatnie. Wyczyść op->reg na obu ścieżkach awarii.
>_ Referencje
- https://git.kernel.org/stable/c/24c25b182d17d1bdfde0088c96bdf6f93e8f46bc
- https://git.kernel.org/stable/c/4083d24c2636fde7b18076115af52820d203bc57
- https://git.kernel.org/stable/c/88114e3a96582882e63b2f73aa7a5a9cf0d5073c
- https://git.kernel.org/stable/c/ba42d8a1c2c7629c61914df11a7d63ac77449ffb
- https://git.kernel.org/stable/c/ccf930812f23b8259ef64fd3394d53b093e4651a
Dane podatności pochodzą z oficjalnych źródeł (CVE® List / NVD). Opisy po polsku są tłumaczone automatycznie i mogą zawierać nieścisłości – na stronie rekordu można wyświetlić wersję angielską.
This product uses the NVD API but is not endorsed or certified by the NVD.
Copyright © 1999–2026, The MITRE Corporation. CVE is a registered trademark and the CVE logo is a registered trademark of The MITRE Corporation.
CVE Usage: MITRE hereby grants you a perpetual, worldwide, non-exclusive, no-charge, royalty-free, irrevocable copyright license to reproduce, prepare derivative works of, publicly display, publicly perform, sublicense, and distribute Common Vulnerabilities and Exposures (CVE®). Any copy you make for such purposes is authorized provided that you reproduce MITRE's copyright designation and this license in any such copy. ALL DOCUMENTS AND THE INFORMATION CONTAINED THEREIN PROVIDED BY MITRE ARE PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND.
NVD Terms of Use / CVE® Terms of Use / nvd.nist.gov / cve.org