Katalog CVE

CVE-2026-99145

Nieznane
Opublikowano: Przetłumaczono: NVD NIST

Streszczenie

W jądrze Linux w sterowniku drm/xe funkcja xe_bo_set_purgeable_shrinker() bezwarunkowo przenosi strony między licznikami shrinkable i purgeable. Gdy stan purgeable przypiętego BO zmienia się (np. przez madvise DONTNEED na VMA BO przypiętego jako bufor scanout), jeden licznik ulega niedomiarowi, a drugi pozostaje trwale zawyżony po unpin.

Ocena ryzyka

Niespójne liczniki shrinkera mogą prowadzić do błędnego zarządzania pamięcią, wycieków lub niestabilności systemu.

Rekomendacja

Zaktualizuj jądro Linux do wersji z poprawką (commit afe6bc012034123fd838328668e609bf57e46bd3), która aktualizuje flagę purgeable tylko dla przypiętych BO.

Inne podatności w Linux kernel

Zobacz wszystkie
Oryginalny opis (angielski, źródło NVD)

In the Linux kernel, the following vulnerability has been resolved: drm/xe: Don't transfer shrinker pages for pinned bos on purgeable state change Pinned bos have their pages removed from the shrinker's shrinkable / purgeable counts on pin, and added back on unpin according to the bo's purgeable state at that time. However, xe_bo_set_purgeable_shrinker() unconditionally transfers pages between the shrinkable and purgeable counts. If the purgeable state of a pinned bo changes, for example by userspace madvising DONTNEED on a VMA of a bo that is also pinned as a scanout buffer, this underflows one count and, after unpin, leaves the other one permanently inflated. Only update the purgeable flag for pinned bos, and leave the page accounting to unpin. (cherry picked from commit afe6bc012034123fd838328668e609bf57e46bd3)

Dane podatności pochodzą z NVD (NIST) · CISA KEV · EPSS