В ядре Linux устранена следующая уязвимость:
dm-era: исправлена утечка затененного суперблока при сбое привязки
Metadata_take_snap() увеличивает счетчик ссылок суперблока в реальном времени, а затем
dm_tm_shadow_block() выделяет новый блок для снимка метаданных. Если последующий dm_sm_inc_block() writeset_tree_root или
era_array_root завершается сбоем, функция только разблокирует клон и
возвращается. Вновь выделенный теневой блок никогда не возвращается в
карта пространства метаданных, поэтому при каждом неудачном снимке постоянно теряется один
блок метаданных.
Освободите клон с помощью dm_sm_dec_block() на этих путях ошибок, сопоставив
последний шаг метаданных_drop_snap().
Показать оригинальное описание (EN)
In the Linux kernel, the following vulnerability has been resolved: dm-era: fix shadowed superblock leak on take-snap failure metadata_take_snap() bumps the live superblock refcount and then dm_tm_shadow_block() allocates a new block for the metadata snapshot. If the subsequent dm_sm_inc_block() of writeset_tree_root or era_array_root fails, the function only unlocks the clone and returns. The newly allocated shadow block is never returned to the metadata space map, so each failed take-snap permanently leaks one metadata block. Free the clone with dm_sm_dec_block() on those error paths, matching the final step of metadata_drop_snap().