CVE-2026-93232 in LinuxИнформация

Сводка

по VulDB • 24.09.2026

В ядре Linux была устранена следующая уязвимость:

mm/hugetlb: исправление паники при загрузке с включенными параметрами CONFIG_DEBUG_VM и страницами памяти HVO (HugeTLB Virtualization Overhead) в режиме bootmem.

Серия патчей «mm: Refactor bootmem gigantic hugepage allocation», v4.

Эта серия выделена из более ранней большой серии «mm: Generalize HVO for HugeTLB and device DAX» [1]. Она включает первые 19 патчей этой серии в качестве самостоятельного набора исправлений и подготовительных улучшений, касающихся обработки bootmem для HugeTLB, порядка инициализации sparse (разреженной памяти) и настройки vmemmap.

Первые патчи устраняют несколько ошибок, обнаруженных при ревью существующего кода, включая некорректную обработку HVO в bootmem, неверные аргументы регистрации vmemmap, ошибку отслеживания compound-vmemmap на архитектуре powerpc и слишком позднюю инициализацию структур страниц гигантских HugeTLB для bootmem.

Остальная часть серии изменяет порядок ранней инициализации памяти так, чтобы состояние соответствующих зон было доступно до запуска настройки sparse и HugeTLB во время загрузки, затем упрощает оставшийся путь выделения гигантских hugepage в bootmem и удаляет код, ставший избыточным после этой переработки.

На высоком уровне: - патчи [1–4] исправляют ошибки при загрузке и специфичные для архитектуры проблемы;
- патчи [5–12] изменяют порядок и упрощают раннюю инициализацию sparse/mm/hugetlb;
- патчи [13–19] реорганизуют выделение гигантских hugepage в bootmem и удаляют избыточные вспомогательные функции и состояния.

Этот патч (из 19):

Коммит 622026e87c40 («mm/hugetlb: remove fake head pages») изменил поведение HVO, заставив его повторно использовать общие хвостовые страницы на уровне зон из массива zone->vmemmap_tails[].

Эти общие хвостовые страницы инициализировались в функции hugetlb_vmemmap_init(), однако folio-страницы HugeTLB для bootmem подготавливаются раньше, в функции gather_bootmem_prealloc(). При включенном параметре hugetlb_free_vmemmap=on функция prep_and_add_bootmem_folios() может обращаться к флагам pageblock на страницах HugeTLB для bootmem, чьи зеркальные хвостовые структуры страниц уже указывают на общую хвостовую страницу. В ядрах с включенным CONFIG_DEBUG_VM вызов get_pfnblock_bitmap_bitidx() затем разыменовывает еще неинициализированную общую хвостовую страницу, что может привести к панике во время загрузки.

Необходимо инициализировать массив zone->vmemmap_tails[] из функции gather_bootmem_prealloc(), до обработки folio-страниц HugeTLB для bootmem, и удалить последующую инициализацию из hugetlb_vmemmap_init().

Эта ошибка затрагивает только ядра с включенным CONFIG_DEBUG_VM, где проверяется соответствующее утверждение (assertion).

If you want to get best quality of vulnerability data, you may have to visit VulDB.

Ответственный

Linux

Резервировать

17.09.2026

Раскрытие

24.09.2026

Модерация

принято

Вход

VDB-409428

EPSS

0.00000

KEV

Нет

Деятельности

Очень низкий

Источники

Want to stay up to date on a daily basis?

Enable the mail alert feature now!