После вчерашнего выпуска Linux 7.3-rc3 в код было включено важное исправление, устраняющее скрытую ошибку, приводившую к потере данных в пользовательском пространстве, которая существовала в ядре на протяжении последних трёх лет.
В начале месяца была обнародована информация о данной ошибке, а также опубликована небольшая программа на языке C, позволяющая ее воспроизвести. Если ядро работает с включенной поддержкой «transparent hugepages» (THP) и с ограничениями через cgroup, то записи, выполняемые после вызова MADV_FREE, могут быть полностью потеряны.
Эта ошибка не является гипотетической, она проявилась в производственной среде. Для её проявления требуется определённое сочетание использования «transparent hugepages» (THP), вызова MADV_FREE и высокой нагрузки на механизм освобождения памяти. [ Этот патч ](
https://lore.kernel.org/linux-mm/20260903031608.1194238-1-vernon2gm@gmail.com/ ) исправляет ошибку и сводится к изменению всего одной строки кода.
Патч был включён в рамках слияния x86/urgent [ на этой неделе ](
https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=704340f1cd0dcef829eb62f5b48ae95a2ce17bdf ) . Он также помечен для обратного портирования в текущие поддерживаемые стабильные версии ядра. Ошибка появилась ещё в июле 2023 года и присутствовала в выпусках ядра, начиная с Linux 6.6.
https://www.linux.org.ru/news/kernel/18379974