В ядре Linux устранена следующая уязвимость: gfs2: Предотвратить рекуперсную память Функция new_inode() возвращает новый иноде с inode->i_m…
В ядре Linux устранена следующая уязвимость: gfs2: Предотвратить рекуперсную память Функция new_inode() возвращает новый иноде с inode->i_mapping->gfp_mask установлен на GFP_HIGHUSER_MOVABLE. Это значение включает в себя флаг __GFP_FS, поэтому выделения в этом адресном пространстве могут перекрыться в память файловой системы Возвращение. Мы не хотим, чтобы это произошло, потому что это может потреблять Значительный объем стековой памяти. Хуже того, он также может зайти в тупик: например, в нескольких места, gfs2_unstuff_dinode() называют внутри файловых систем. Это называется filemap_grab_folio(), который может выделить новый фолиант, который может вызвать рекуперация памяти. Если восстановление памяти повторяется в файловая система и запускает еще одну транзакцию, последует тупик. Чтобы исправить эти проблемы, не предотвращайте возврат памяти от повторного восстановления в код файловой системы, убедившись, что gfp_mask inode адрес Пробелы не включают __GFP_FS. «Мета» и адресные пространства группы ресурсов уже использовали GFP_NOFS как их gfp_mask (который не включает __GFP_FS). Значение по умолчанию GFP_HIGHUSER_MOVABLE менее ограничительна, чем GFP_NOFS. Чтобы избегать чрезмерного ограничения, использовать значение по умолчанию и только сбивать флаг __GFP_FS. Я не уверен, что это действительно сделает Разница, но это тоже не должно повредить. Этот патч свободно основан на commit ad22c7a043c2 ("xfs: предотвращать стек переливается из распределения кэша страницы"). Исправления xfstest generic/273.
| Продукт | Вендор | Статус |
|---|---|---|
| linux | Отслеживается | |
| linux | Отслеживается | |
| linux | Отслеживается | |
| linux | Отслеживается | |
| linux-allwinner-5.19 | Отслеживается | |
| linux-aws-5.19 | Отслеживается | |
| linux-aws-6.2 | Отслеживается | |
| linux-aws-6.5 | Отслеживается | |
| linux-azure-5.19 | Отслеживается | |
| linux-azure-6.11 | Отслеживается | |
| linux-azure-6.2 | Отслеживается | |
| linux-azure-6.5 | Отслеживается | |
| linux-azure-fde-5.19 | Отслеживается | |
| linux-azure-fde-6.2 | Отслеживается | |
| linux-gcp-5.19 | Отслеживается | |
| linux-gcp-6.11 | Отслеживается | |
| linux-gcp-6.2 | Отслеживается | |
| linux-gcp-6.5 | Отслеживается | |
| linux-hwe-5.19 | Отслеживается | |
| linux-hwe-6.11 | Отслеживается |