CVE-2026-90047
>_ Opis
Tłumaczenie automatyczne – może zawierać nieścisłości.
W jądrze Linuksa usunięto następującą lukę:
drm/xe: Nie udostępniaj płaskiej pamięci CCS jako użytecznej pamięci VRAM
get_flat_ccs_offset() odczytuje bazę płaskiej pamięci CCS z pliku
sprzętu, skaluje go według liczby włączonych węzłów L3 i zaokrągla
wynik do 128 tys. Wszystko poniżej tego przesunięcia jest następnie przekazywane do
Alokator VRAM jako pamięć użytkowa.
Zaokrąglanie limitu oznaczającego, że „tutaj kończy się pamięć użyteczna” publikuje w górę
cokolwiek leży pomiędzy bazą rzeczywistą a zaokrągloną jako wolna pamięć,
i ta pamięć należy do sprzętu kompresującego. Wartość skalowana
nie ma powodu, aby być wyrównanym do 128 KB, a na Battlemage G21 z 16 GiB to
nie jest:
płaska podstawa CCS: surowa 0x3fafff800, zaokrąglona 0x3fb000000
więc ostatnie 2 KiB strony 0x3fafff000 to pamięć CCS w alokatorze
basen. Cokolwiek zostanie tam przydzielone, ten ogon zostanie nadpisany przez
sprzęt kompresujący, który nie wymaga wpisu w tablicy stron ani obiektu bufora
i nie wymaga przesyłania GPU, aby to zrobić, i robi to, zanim istnieje przestrzeń użytkownika.
Na tej maszynie tabela stron poziomu 3 maszyny wirtualnej Mesa wylądowała na tej stronie
każdy zimny but. Zaginął wpis obejmujący kompozytora
stertę bufora wsadowego, więc pierwsze przesłanie kompozytora spowodowało błąd pobierania
jego partia i gdm uruchomił ją ponownie na zawsze: czarny ekran w przeciwnym razie
działająca maszyna. Ponowne uruchomienie gdm wyczyściło to, ponieważ strona następnej maszyny wirtualnej
stoły zostały przydzielone gdzie indziej.
Zamiast tego zaokrąglij w dół do rozmiaru strony, w którym działa alokator. Na tym
maszyna, która wyklucza dokładnie jedną stronę.
Późniejsze przeczytanie zarezerwowanej strony pokazuje, kto ją pisał:
[369] 0xcccc000000000000
[371] 0xcc77000000000000
[373] 0xcccc000000000000
[375] 0xcc77000000000000
metadane kompresji, dwa bajty na szesnaście, znajdujące się tam, gdzie jest sterownik
używany do rozdawania pamięci.
Twierdzenie, które powinno to wykryć, porównuje przesunięcie z
GSMBASE - rozmiar_ccs dla równości. Ta wartość jest wyrównana do 128 K, więc tak
zgadza się z zaokrąglonym przesunięciem dokładnie wtedy, gdy podstawa nie jest
wyrównane - sprawdzenie nie może zakończyć się niepowodzeniem w przypadku, gdy istnieje do wyłapania i jest
skompilowany, chyba że ustawiono CONFIG_DRM_XE_DEBUG. Zastąp go jednym
które mogą zawieść: pamięć CCS nie może działać w sieci GSM.
[I to była piekielna sesja debugowania, w której ogromnie pomogła sztuczna inteligencja
wykonując większość ciężkiej pracy.
Chciałbym to nazwać moim niestrudzonym pomocnikiem, ale AI kilka razy
stanowczo oświadczyliśmy, że jest to niemożliwe i nierozwiązywalne i że my
powinien po prostu napisać o tym raport.
Podejrzewam, że te rzeczy zostały przeszkolone przez ludzi, którzy być może nie byli
równie uparty jak ja.
Ale chociaż sztuczna inteligencja była gotowa poddać się kilka razy, nie poddała się
dodając kod debugowania i wiernie go analizując po naciśnięciu. Więc kredyt
gdzie należny jest kredyt i pozwalam AI napisać powyższy komunikat zatwierdzenia.
Jest to w zasadzie jednowierszowe naprawianie fałszywego „round_up()” do pliku a
„round_down()”, ale były 24 łatki dodające coraz więcej debugowania
informacje na ten temat i rozruch jądra 18, aby w końcu zawęzić to do
to. -Linus]
>_ Referencje
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