В ядре Linux устранена следующая уязвимость: Hugetlb: корректировать резервирование во время отмены сопоставления только в том случае, если счетчик карт равен 0 Начиная с df7a6d1f6405, __unmap_hugepage_range может корректировать резервирование. В случай фолио, отображаемого как в родительском, так и в дочернем элементе, если родительский сначала отменяет сопоставление диапазона, корректировка резервирования приведет к опустошение зарезервированного счетчика. Как только ребенок отменяет отображение диапазона, счет восстанавливается.
Измените __unmap_hugepage_range(), чтобы проверить количество карт.
перед корректировкой бронирования.
Показать оригинальное описание (EN)
In the Linux kernel, the following vulnerability has been resolved: hugetlb: only adjust reservation during unmapping if mapcount is 0 Since df7a6d1f6405, __unmap_hugepage_range can adjust reservations. In the case of folio mapped in both a parent and a child, if the parent unmaps the range first, the reservation adjustment will result in an underflow of the reserved count. Once the child unmaps the range, the count is restored. Change __unmap_hugepage_range() to check the mapcount before adjusting the reservation.
Характеристики атаки
Последствия
Строка CVSS v3.1