Odebrany

CVE-2026-89796

opublikowano:
modyfikacja:
Ocena CVSS
n/a
Brak oceny

>_ Opis

Tłumaczenie automatyczne – może zawierać nieścisłości.

W jądrze Linuksa usunięto następującą lukę:

mm/damon/core: unikaj nieskończonej wewnętrznej pętli kdamond_merge_regions().

Seria poprawek „mm/damon: pilne poprawki dla nieskończonej pętli, NULL de-ref i
wyścigi”, v1.1.

Sashiko znalazła kilka problemów w DAMON, które mogą powodować nieskończoną pętlę, NULL
dereferencji i monitorowania degradacji wyników. Pierwsze dwa dźwięki
przerażające, ale nieskończona pętla ma miejsce tylko w przypadku nieuzasadnionej konfiguracji użytkownika.
Dereferencja NULL ma miejsce tylko w teście jednostkowym. Wyniki monitorowania
degradacja jest trywialna, ponieważ wymaga jedynie najlepszych starań, a takie się zdarzają
tylko z nieprawdopodobnych ras. Nadal są to błędy, które lepiej naprawić
możliwe. Napraw je.


Ta łatka (z 6):

Ze względu na aktualizację parametrów online, takich jak zdarzenia, liczba regionów DAMON
może być wyższa niż górna granica ustawiona przez użytkownika. kdamond_merge_regions()
powtarza scalanie regionów, aż liczba osiągnie limit, jednocześnie podwajając
próg scalania aż do teoretycznego progu maksymalnego. Próbuje się tylko
aż do teoretycznego progu maksymalnego, bo nawet agresywnego
łączenie może zakończyć się niepowodzeniem ze względu na zmniejszenie liczby regionów objętych
górny limit zdefiniowany przez użytkownika. Na przykład może być wiele zdefiniowanych przez użytkownika
nieciągłe regiony, których nie można połączyć.

Warunek przerwania pętli oparty na progu jest oceniany poprzez porównanie
próg dla następnej próby łączenia w stosunku do teoretycznego maksimum
próg. Jeśli max_thres jest większy niż UINT_MAX / 2, podwojenie
próg może spowodować jego przepełnienie i ominięcie warunku przerwania pętli. w
ma to miejsce, jeżeli nie można zmniejszyć liczby regionów poniżej górnego limitu
jak wyjaśniono powyżej, pętla będzie działać w nieskończoność.

Zapobiegnij tej sytuacji, sprawdzając warunek przerwania przed podwojeniem
próg. Zapobiegaj także przekroczeniu progu maksymalnego,
ponieważ może się przepełnić i zastosować niewłaściwy próg scalania.

Jest mało prawdopodobne, aby ten problem wystąpił w prawdziwym świecie, ponieważ posiadanie pliku max_thres
wyższe niż UINT_MAX / 2 wymagają nierealistycznie dużej agregacji
odstępach czasu w porównaniu z odstępem próbkowania. Ponadto wymaga
nierealistycznie duża liczba konfiguracji nieciągłych regionów. Niemniej jednak,
konsekwencja jest zła, a rozwiązanie jest proste.

Problem został odkryty [1] przez Sashiko.

>_ 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